changeset 218:56e748983fa8

Advanced Rogue 5: convert to ANSI function declarations. This still leaves over a thousand lines of warning messages, mostly related to the return types of daemons and fuses.
author John "Elwin" Edwards
date Sun, 07 Feb 2016 14:39:21 -0500
parents 94a0d9dd5ce1
children f9ef86cf22b2
files arogue5/chase.c arogue5/command.c arogue5/daemon.c arogue5/daemons.c arogue5/encumb.c arogue5/fight.c arogue5/init.c arogue5/io.c arogue5/list.c arogue5/main.c arogue5/maze.c arogue5/mdport.c arogue5/misc.c arogue5/monsters.c arogue5/move.c arogue5/new_level.c arogue5/options.c arogue5/outside.c arogue5/pack.c arogue5/passages.c arogue5/player.c arogue5/potions.c arogue5/rings.c arogue5/rip.c arogue5/rogue.h arogue5/rooms.c arogue5/save.c arogue5/scrolls.c arogue5/state.c arogue5/sticks.c arogue5/things.c arogue5/trader.c arogue5/util.c arogue5/weapons.c arogue5/wear.c arogue5/wizard.c arogue5/xcrypt.c
diffstat 37 files changed, 977 insertions(+), 733 deletions(-) [+]
line wrap: on
line diff
--- a/arogue5/chase.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/chase.c	Sun Feb 07 14:39:21 2016 -0500
@@ -12,6 +12,7 @@
  * See the file LICENSE.TXT for full copyright and licensing information.
  */
 
+#include <stdlib.h>
 #include <ctype.h>
 #include <limits.h>
 #include "curses.h"
@@ -21,8 +22,8 @@
 
 coord ch_ret;				/* Where chasing takes you */
 
-
-
+struct linked_list *get_hurl(struct thing *tp);
+bool straight_shot(int ery, int erx, int eey, int eex, coord *shooting);
 
 
 /*
@@ -31,8 +32,7 @@
  */
 
 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 */
@@ -128,8 +128,7 @@
  */
 
 coord *
-can_shoot(er, ee)
-register coord *er, *ee;
+can_shoot(coord *er, coord *ee)
 {
     static coord shoot_dir;
 
@@ -154,13 +153,11 @@
  *	FALSE if we reach the goal.
  */
 
-chase(tp, ee, flee, mdead)
-register struct thing *tp;
-register coord *ee;
-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
-	    */
-bool *mdead;
+/* 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
+ */
+bool
+chase(struct thing *tp, coord *ee, bool flee, bool *mdead)
 {
     int damage, dist, thisdist, monst_dist = MAXINT; 
     struct linked_list *weapon;
@@ -530,10 +527,10 @@
  * do_chase:
  *	Make one thing chase another.
  */
+/* flee: True if running away or player is inaccessible in wall */
 
-do_chase(th, flee)
-register struct thing *th;
-register bool flee; /* True if running away or player is inaccessible in wall */
+void
+do_chase(struct thing *th, bool flee)
 {
     register struct room *rer, *ree,	/* room of chaser, room of chasee */
 			 *orig_rer,	/* Original room of chaser */
@@ -830,8 +827,7 @@
  */
 
 struct linked_list *
-get_hurl(tp)
-register struct thing *tp;
+get_hurl(struct thing *tp)
 {
     struct linked_list *arrow, *bolt, *rock;
     register struct linked_list *pitem;
@@ -861,7 +857,8 @@
  *	Make all the running monsters move.
  */
 
-runners()
+void
+runners(void)
 {
     register struct linked_list *item;
     register struct thing *tp = NULL;
@@ -935,9 +932,8 @@
  *	Set a monster running after something
  */
 
-runto(runner, spot)
-register struct thing *runner;
-coord *spot;
+void
+runto(struct thing *runner, coord *spot)
 {
     /*
      * Start the beastie running
@@ -959,9 +955,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 */
     char ch;
--- a/arogue5/command.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/command.c	Sun Feb 07 14:39:21 2016 -0500
@@ -21,12 +21,20 @@
 #include "rogue.h"
 #include "mach_dep.h"
 
+void help(void);
+void identify(void);
+void d_level(void);
+void u_level(void);
+void shell(void);
+void call(bool mark);
+
 /*
  * command:
  *	Process the user commands
  */
 
-command()
+void
+command(void)
 {
     register char ch;
     register int ntimes = 1;			/* Number of player moves */
@@ -207,8 +215,8 @@
 		when 'I' : after = FALSE; picky_inven();
 		when 'd' : drop(NULL);
 		when 'P' : grab(hero.y, hero.x);
-		when 'q' : quaff(-1, NULL, TRUE);
-		when 'r' : read_scroll(-1, NULL, TRUE);
+		when 'q' : quaff(-1, 0, TRUE);
+		when 'r' : read_scroll(-1, 0, TRUE);
 		when 'e' : eat();
 		when 'w' : wield();
 		when 'W' : wear();
@@ -228,7 +236,7 @@
 		when 'G' : gsense();
 		when '^' : set_trap(&player, hero.y, hero.x);
 		when 's' : search(FALSE, FALSE);
-		when 'z' : if (!do_zap(TRUE, NULL, FALSE))
+		when 'z' : if (!do_zap(TRUE, 0, FALSE))
 				after=FALSE;
 		when 'p' : pray();
 		when 'C' : cast();
@@ -475,8 +483,7 @@
  */
 
 void
-bugkill(sig)
-int sig;
+bugkill(int sig)
 {
     signal(sig, quit);	/* If we get it again, give up */
     death(D_SIGNAL);	/* Killed by a bug */
@@ -488,8 +495,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 */
@@ -570,7 +577,8 @@
  *	Give single character help, or the whole mess if he wants it
  */
 
-help()
+void
+help(void)
 {
     register struct h_list *strp = helpstr;
 #ifdef WIZARD
@@ -664,7 +672,8 @@
  *	Tell the player what a certain thing is.
  */
 
-identify()
+void
+identify(void)
 {
     register char ch;
     const char *str;
@@ -726,7 +735,8 @@
  *	He wants to go down a level
  */
 
-d_level()
+void
+d_level(void)
 {
     bool no_phase=FALSE;
 
@@ -770,7 +780,8 @@
  *	He wants to go up a level
  */
 
-u_level()
+void
+u_level(void)
 {
     bool no_phase = FALSE;
     register struct linked_list *item;
@@ -828,7 +839,8 @@
  * Let him escape for a while
  */
 
-shell()
+void
+shell(void)
 {
     /*
      * Set the terminal back to original mode
@@ -859,8 +871,8 @@
 /*
  * allow a user to call a potion, scroll, or ring something
  */
-call(mark)
-bool mark;
+void
+call(bool mark)
 {
     register struct object *obj;
     register struct linked_list *item;
--- a/arogue5/daemon.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/daemon.c	Sun Feb 07 14:39:21 2016 -0500
@@ -36,7 +36,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;
@@ -52,7 +52,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;
@@ -70,8 +70,7 @@
  *	Find a particular slot in the table
  */
 struct delayed_action *
-find_slot(func)
-reg int (*func)();
+find_slot(int (*func)())
 {
 	reg int i;
 	reg struct delayed_action *dev;
@@ -87,6 +86,7 @@
  * start_daemon:
  *	Start a daemon, takes a function.
  */
+void
 start_daemon(int (*func)(), void *arg, int type)
 {
 	reg struct delayed_action *dev;
@@ -106,8 +106,8 @@
  * kill_daemon:
  *	Remove a daemon from the list
  */
-kill_daemon(func)
-reg int (*func)();
+void
+kill_daemon(int (*func)())
 {
 	reg struct delayed_action *dev;
 	reg int i;
@@ -133,8 +133,8 @@
  *	Run all the daemons that are active with the current flag,
  *	passing the argument to the function.
  */
-do_daemons(flag)
-reg int flag;
+void
+do_daemons(int flag)
 {
 	reg struct delayed_action *dev;
 
@@ -154,6 +154,7 @@
  * fuse:
  *	Start a fuse to go off in a certain number of turns
  */
+void
 fuse(int (*func)(), void *arg, int time, int type)
 {
 	reg struct delayed_action *wire;
@@ -173,8 +174,8 @@
  * lengthen:
  *	Increase the time until a fuse goes off
  */
-lengthen(func, xtime)
-reg int (*func)(), xtime;
+void
+lengthen(int (*func)(), int xtime)
 {
 	reg struct delayed_action *wire;
 
@@ -188,8 +189,8 @@
  * extinguish:
  *	Put out a fuse
  */
-extinguish(func)
-reg int (*func)();
+void
+extinguish(int (*func)())
 {
 	reg struct delayed_action *wire;
 
@@ -207,8 +208,8 @@
  * do_fuses:
  *	Decrement counters and start needed fuses
  */
-do_fuses(flag)
-reg int flag;
+void
+do_fuses(int flag)
 {
 	reg struct delayed_action *wire;
 
@@ -234,7 +235,8 @@
  * activity:
  *	Show wizard number of demaons and memory blocks used
  */
-activity()
+void
+activity(void)
 {
 	sprintf(outstring,"Daemons = %d : Fuses = %d : Memory Items = %d : Memory Used = %d",
 	    demoncnt,fusecnt,total,md_memused());
--- a/arogue5/daemons.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/daemons.c	Sun Feb 07 14:39:21 2016 -0500
@@ -22,8 +22,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;
@@ -100,7 +100,8 @@
  *	Called when it is time to start rolling for wandering monsters
  */
 
-swander()
+void
+swander(void)
 {
     start_daemon(rollwand, 0, BEFORE);
 }
@@ -110,7 +111,8 @@
  *	Called to roll to see if a wandering monster starts up
  */
 
-rollwand()
+void
+rollwand(void)
 {
     if (++between >= 4)
     {
@@ -128,7 +130,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);
@@ -139,7 +142,8 @@
  *	Release the poor player from his confusion
  */
 
-unconfuse()
+void
+unconfuse(void)
 {
     turn_off(player, ISHUH);
     msg("You feel less confused now");
@@ -151,7 +155,8 @@
  *	He lost his see invisible power
  */
 
-unsee()
+void
+unsee(void)
 {
     if (!ISWEARING(R_SEEINVIS)) {
 	turn_off(player, CANSEE);
@@ -164,7 +169,8 @@
  *	Remove to-hit handicap from player
  */
 
-unstink()
+void
+unstink(void)
 {
     turn_off(player, HASSTINK);
 }
@@ -174,7 +180,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.");
@@ -185,7 +192,8 @@
  *	Player can no longer walk through walls
  */
 
-unphase()
+void
+unphase(void)
 {
     turn_off(player, CANINWALL);
     msg("Your dizzy feeling leaves you.");
@@ -197,7 +205,8 @@
  *	Player can no longer fly
  */
 
-land()
+void
+land(void)
 {
     turn_off(player, ISFLY);
     msg("You regain your normal weight");
@@ -209,7 +218,8 @@
  *	He gets his sight back
  */
 
-sight()
+void
+sight(void)
 {
     if (on(player, ISBLIND))
     {
@@ -225,7 +235,8 @@
  *	Restore player's strength
  */
 
-res_strength()
+void
+res_strength(void)
 {
 
     /* If lost_str is non-zero, restore that amount of strength,
@@ -249,7 +260,8 @@
  *	End the hasting
  */
 
-nohaste()
+void
+nohaste(void)
 {
     turn_off(player, ISHASTE);
     msg("You feel yourself slowing down.");
@@ -260,7 +272,8 @@
  *	End the slowing
  */
 
-noslow()
+void
+noslow(void)
 {
     turn_off(player, ISSLOW);
     msg("You feel yourself speeding up.");
@@ -271,7 +284,8 @@
  *	If this gets called, the player has suffocated
  */
 
-suffocate()
+void
+suffocate(void)
 {
     death(D_SUFFOCATION);
 }
@@ -279,7 +293,8 @@
 /*
  * digest the hero's food
  */
-stomach()
+void
+stomach(void)
 {
     register int oldfood, old_hunger, food_use, i;
 
@@ -335,7 +350,8 @@
 /*
  * daemon for curing the diseased
  */
-cure_disease()
+void
+cure_disease(void)
 {
     turn_off(player, HASDISEASE);
     if (off (player, HASINFEST))
@@ -346,7 +362,8 @@
 /*
  * daemon for adding back dexterity
  */
-un_itch()
+void
+un_itch(void)
 {
     if (--lost_dext < 1) {
 	lost_dext = 0;
@@ -358,7 +375,8 @@
  * appear:
  *	Become visible again
  */
-appear()
+void
+appear(void)
 {
     turn_off(player, ISINVIS);
     PLAYER = VPLAYER;
@@ -369,7 +387,8 @@
  * dust_appear:
  *	dust of disappearance wears off
  */
-dust_appear()
+void
+dust_appear(void)
 {
     turn_off(player, ISINVIS);
     PLAYER = VPLAYER;
@@ -380,7 +399,8 @@
  * unchoke:
  * 	the effects of "dust of choking and sneezing" wear off
  */
-unchoke()
+void
+unchoke(void)
 {
     if (!find_slot(unconfuse))
 	turn_off(player, ISHUH);
@@ -392,8 +412,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;
@@ -440,7 +460,8 @@
  * otto's irresistable dance wears off 
  */
 
-undance()
+void
+undance(void)
 {
     turn_off(player, ISDANCE);
     msg ("Your feet take a break.....whew!");
@@ -449,14 +470,16 @@
 /* 
  * if he has our favorite necklace of strangulation then take damage every turn
  */
-strangle()
+void
+strangle(void)
 {
      if ((pstats.s_hpt -= 6) <= 0) death(D_STRANGLE);
 }
 /*
  * if he has on the gauntlets of fumbling he might drop his weapon each turn
  */
-fumble()
+void
+fumble(void)
 {
     register struct linked_list *item;
 
@@ -474,14 +497,16 @@
 /*
  * this is called each turn the hero has the ring of searching on
  */
-ring_search()
+void
+ring_search(void)
 {
     search(FALSE, FALSE);
 }
 /*
  * this is called each turn the hero has the ring of teleportation on
  */
-ring_teleport()
+void
+ring_teleport(void)
 {
     if (rnd(100) < 2) teleport();
 }
--- a/arogue5/encumb.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/encumb.c	Sun Feb 07 14:39:21 2016 -0500
@@ -15,12 +15,14 @@
 #include "curses.h"
 #include "rogue.h"
 
+int packweight(void);
+
 /*
  * updpack:
  *	Update his pack weight and adjust fooduse accordingly
  */
-updpack(getmax)
-int getmax;
+void
+updpack(bool getmax)
 {
 
 	reg int topcarry, curcarry;
@@ -45,7 +47,8 @@
  * packweight:
  *	Get the total weight of the hero's pack
  */
-packweight()
+int
+packweight(void)
 {
 	reg struct object *obj;
 	reg struct linked_list *pc;
@@ -68,8 +71,8 @@
  * itemweight:
  *	Get the weight of an object
  */
-itemweight(wh)
-reg struct object *wh;
+int
+itemweight(struct object *wh)
 {
 	reg int weight;
 	reg int ac;
@@ -99,7 +102,8 @@
  * playenc:
  *	Get hero's carrying ability above norm
  */
-playenc()
+int
+playenc(void)
 {
 	return ((str_compute()-8)*50);
 }
@@ -109,7 +113,8 @@
  * totalenc:
  *	Get total weight that the hero can carry
  */
-totalenc()
+int
+totalenc(void)
 {
 	reg int wtotal;
 
@@ -130,18 +135,18 @@
  *	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) {
 	    ch = CCHAR( mvwinch(stdscr, hero.y, hero.x) );
 	    if((ch != FLOOR && ch != PASSAGE)) {
 		extinguish(wghtchk);
-		fuse(wghtchk,TRUE,1,AFTER);
+		fuse(wghtchk,NULL,1,AFTER);
 		inwhgt = FALSE;
 		return;
 	    }
@@ -169,7 +174,8 @@
  *			-1 hit for heavy pack weight
  */
 
-hitweight()
+int
+hitweight(void)
 {
 	return(2 - foodlev);
 }
--- a/arogue5/fight.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/fight.c	Sun Feb 07 14:39:21 2016 -0500
@@ -13,10 +13,27 @@
  */
 
 #include "curses.h"
+#include <stdlib.h>
 #include <ctype.h>
 #include <string.h>
 #include "rogue.h"
 
+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, struct thing *tp, char *er, char *ee, 
+         bool back_stab);
+void miss(struct object *weapon, struct thing *tp, char *er, char *ee);
+int dext_plus(int dexterity);
+int str_plus(short str);
+int add_dam(short str);
+int hung_dam(void);
+void thunk(struct object *weap, struct thing *tp, char *mname);
+void m_thunk(struct object *weap, struct thing *tp, char *mname);
+void bounce(struct object *weap, struct thing *tp, char *mname);
+void m_bounce(struct object *weap, struct thing *tp, char *mname);
+struct object *wield_weap(struct object *thrown, struct thing *mp);
+void explode(struct thing *tp);
+
 #define CONF_DAMAGE	-1
 #define PARAL_DAMAGE	-2
 #define DEST_DAMAGE	-3
@@ -35,10 +52,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;
@@ -204,10 +219,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 const char *mname;
     register bool did_hit = FALSE;
@@ -708,9 +721,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;
@@ -730,12 +742,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;
@@ -1028,9 +1037,7 @@
  */
 
 char *
-prname(who, upper)
-register char *who;
-bool upper;
+prname(char *who, bool upper)
 {
     static char tbuf[LINELEN];
 
@@ -1054,11 +1061,8 @@
  *	Print a message to indicate a succesful hit
  */
 
-hit(weapon, tp, er, ee, back_stab)
-register struct object *weapon;
-register struct thing *tp;
-register char *er, *ee;
-bool back_stab;
+void
+hit(struct object *weapon, struct thing *tp, char *er, char *ee, bool back_stab)
 {
     register char *s = NULL;
     char 
@@ -1114,10 +1118,8 @@
  *	Print a message to indicate a poor swing
  */
 
-miss(weapon, tp, er, ee)
-register struct object *weapon;
-register struct thing *tp;
-register char *er, *ee;
+void
+miss(struct object *weapon, struct thing *tp, char *er, char *ee)
 {
     register char *s = NULL;
     char
@@ -1161,8 +1163,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);
 }
@@ -1173,8 +1175,8 @@
  *	compute armor class bonus for dexterity
  */
 
-dext_prot(dexterity)
-register int dexterity;
+int
+dext_prot(int dexterity)
 {
     return ((dexterity-10)/2);
 }
@@ -1183,8 +1185,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);
 }
@@ -1194,8 +1196,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);
 }
@@ -1204,7 +1206,8 @@
  * hung_dam:
  *	Calculate damage depending on players hungry state
  */
-hung_dam()
+int
+hung_dam(void)
 {
 	reg int howmuch = 0;
 
@@ -1222,11 +1225,10 @@
  *	A missile hits a monster
  */
 
-thunk(weap, tp, mname)
-register struct object *weap;
-register struct thing *tp;	/* Defender */
-register char *mname;
+void
+thunk(struct object *weap, struct thing *tp, char *mname)
 {
+    /* tp: Defender */
     char *def_name;	/* Name of defender */
 
     /* What do we call the defender? */
@@ -1251,10 +1253,8 @@
  *	 A missile from a monster hits the player
  */
 
-m_thunk(weap, tp, mname)
-register struct object *weap;
-register struct thing *tp;
-register char *mname;
+void
+m_thunk(struct object *weap, struct thing *tp, char *mname)
 {
     char *att_name;	/* Name of attacker */
 
@@ -1280,11 +1280,10 @@
  *	A missile misses a monster
  */
 
-bounce(weap, tp, mname)
-register struct object *weap;
-register struct thing *tp;	/* Defender */
-register char *mname;
+void
+bounce(struct object *weap, struct thing *tp, char *mname)
 {
+    /* tp: Defender */
     char *def_name;	/* Name of defender */
 
     /* What do we call the defender? */
@@ -1309,10 +1308,8 @@
 	  A missle from a monster misses the player
  */
 
-m_bounce(weap, tp, mname)
-register struct object *weap;
-register struct thing *tp;
-register char *mname;
+void
+m_bounce(struct object *weap, struct thing *tp, char *mname)
 {
     char *att_name;	/* Name of attacker */
 
@@ -1339,8 +1336,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)
     {
@@ -1364,9 +1361,8 @@
  *	Called to put a monster to death
  */
 
-killed(item, pr, points)
-register struct linked_list *item;
-bool pr, points;
+void
+killed(struct linked_list *item, bool pr, bool points)
 {
     register struct thing *tp;
     register struct linked_list *pitem, *nexti;
@@ -1447,9 +1443,7 @@
  */
 
 struct object *
-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 */
@@ -1529,8 +1523,8 @@
     return(candidate);
 }
 
-explode(tp)
-register struct thing *tp;
+void
+explode(struct thing *tp)
 {
 
     register int x,y, damage;
--- a/arogue5/init.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/init.c	Sun Feb 07 14:39:21 2016 -0500
@@ -97,10 +97,8 @@
  * make sure all the percentages specified in the tables add up to the
  * 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;
 
@@ -120,7 +118,8 @@
  *	Initialize the potion color scheme for this time
  */
 
-init_colors()
+void
+init_colors(void)
 {
     register int i, j;
     bool used[NCOLORS];
@@ -148,7 +147,8 @@
  *	Initialize the construction materials for wands and staffs
  */
 
-init_materials()
+void
+init_materials(void)
 {
     register int i, j;
     register char *str;
@@ -201,7 +201,8 @@
  * do any initialization for miscellaneous magic
  */
 
-init_misc()
+void
+init_misc(void)
 {
     register int i;
 
@@ -221,7 +222,8 @@
  *	Generate the names of the various scrolls
  */
 
-init_names()
+void
+init_names(void)
 {
     register int nsyl;
     register char *cp, *sp;
@@ -258,7 +260,8 @@
  *	roll up the rogue
  */
 
-init_player()
+void
+init_player(void)
 {
     int stat_total, ch = 0, wpt = 0, i, j;
     struct linked_list *weap_item, *armor_item, *food_item;
@@ -459,7 +462,8 @@
  *	Initialize the ring stone setting scheme for this time
  */
 
-init_stones()
+void
+init_stones(void)
 {
     register int i, j;
     bool used[NSTONES];
@@ -487,7 +491,8 @@
  * init_things
  *	Initialize the probabilities for types of things
  */
-init_things()
+void
+init_things(void)
 {
     register struct magic_item *mp;
 
--- a/arogue5/io.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/io.c	Sun Feb 07 14:39:21 2016 -0500
@@ -18,6 +18,9 @@
 #include <stdarg.h>
 #include "rogue.h"
 
+void doadd(char *fmt, va_list ap);
+void ministat(void);
+
 /*
  * msg:
  *	Display a message at the top of the screen.
@@ -27,6 +30,7 @@
 static int newpos = 0;
 
 /*VARARGS1*/
+void
 msg(char *fmt, ...)
 {
     va_list ap;
@@ -54,6 +58,7 @@
 /*
  * add things to the current message
  */
+void
 addmsg(char *fmt, ...)
 {
     va_list ap;
@@ -66,7 +71,8 @@
  * Display a new msg (giving him a chance to see the previous one if it
  * is up there with the --More--)
  */
-endmsg()
+void
+endmsg(void)
 {
     strncpy(huh, msgbuf, sizeof(huh));
 
@@ -96,6 +102,7 @@
     draw(msgw);
 }
 
+void
 doadd(char *fmt, va_list ap)
 {
     /*
@@ -113,9 +120,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;
@@ -156,7 +162,8 @@
  *	returns true if it is ok for type to shoot over ch
  */
 
-shoot_ok(ch)
+bool
+shoot_ok(char ch)
 {
     switch (ch)
     {
@@ -177,7 +184,8 @@
  *	getchar.
  */
 
-readchar()
+int
+readchar(void)
 {
     int ch;
 
@@ -195,10 +203,11 @@
 /*
  * status:
  *	Display the important stats line.  Keep the cursor where it was.
+ *	If 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;
@@ -327,7 +336,8 @@
     wmove(cw, oy, ox);
 }
 
-ministat()
+void
+ministat(void)
 {
     register int oy, ox, temp;
     static char buf[LINELEN];
@@ -367,9 +377,8 @@
  *	Sit around until the guy types the right key
  */
 
-wait_for(win,ch)
-WINDOW *win;
-register char ch;
+void
+wait_for(WINDOW *win, char ch)
 {
     register char c;
 
@@ -386,9 +395,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);
@@ -403,9 +411,8 @@
  * dbotline:
  *	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);
@@ -417,8 +424,8 @@
  * restscr:
  *	Restores the screen to the terminal
  */
-restscr(scr)
-WINDOW *scr;
+void
+restscr(WINDOW *scr)
 {
 	clearok(scr,TRUE);
 	touchwin(scr);
@@ -431,10 +438,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 */
@@ -469,12 +473,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/arogue5/list.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/list.c	Sun Feb 07 14:39:21 2016 -0500
@@ -21,8 +21,8 @@
  *	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);
@@ -37,8 +37,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)
     {
@@ -60,8 +60,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;
 
@@ -78,8 +78,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;
     obj = OBJPTR(item);
@@ -95,8 +95,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;
 
@@ -113,8 +113,8 @@
  *	free up an item and its thing
  */
 
-t_discard(item)
-struct linked_list *item;
+void
+t_discard(struct linked_list *item)
 {
     total -= 2;
     FREE(item->l_data);
@@ -126,8 +126,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);
@@ -139,8 +139,7 @@
  */
 
 struct linked_list *
-new_item(size)
-int size;
+new_item(int size)
 {
     register struct linked_list *item;
 
@@ -158,7 +157,7 @@
  */
 
 struct linked_list *
-creat_item()
+creat_item(void)
 {
     register struct linked_list *item;
 
@@ -169,8 +168,7 @@
 }
 
 char *
-new(size)
-int size;
+new(int size)
 {
     register char *space = ALLOC(size);
     static char errbuf[LINELEN];
--- a/arogue5/main.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/main.c	Sun Feb 07 14:39:21 2016 -0500
@@ -43,10 +43,10 @@
 #define NFRUIT (sizeof(funfruit) / sizeof (char *))
 
 void open_records(void);
+bool holiday(void);
 
-main(argc, argv, envp)
-char **argv;
-char **envp;
+int
+main(int argc, char *argv[], char *envp[])
 {
     register char *env;
     int lowtime;
@@ -123,7 +123,6 @@
      * Check for a network update
      */
     if (argc == 2 && strcmp(argv[1], "-u") == 0) {
-	unsigned long netread();
 	int errcheck, errors = 0;
 	unsigned long amount;
 	short monster;
@@ -277,8 +276,8 @@
  *	Exit the program, printing a message.
  */
 
-fatal(s)
-char *s;
+void
+fatal(char *s)
 {
     clear();
     move(LINES-2, 0);
@@ -294,8 +293,8 @@
  *	Pick a very random number.
  */
 
-rnd(range)
-register int range;
+int
+rnd(int range)
 {
     return(range == 0 ? 0 : md_rand() % range);
 }
@@ -305,8 +304,8 @@
  *	roll a number of dice
  */
 
-roll(number, sides)
-register int number, sides;
+int
+roll(int number, int sides)
 {
     register int dtotal = 0;
 
@@ -336,10 +335,11 @@
 }
 # endif
 
-setup()
+void
+setup(void)
 {
 #ifdef CHECKTIME
-    int  checkout();
+    void  checkout();
 #endif
 
 #ifndef DUMP
@@ -392,7 +392,8 @@
  * refreshing things and looking at the proper times.
  */
 
-playit()
+void
+playit(void)
 {
     register char *opts;
 
@@ -416,7 +417,8 @@
 /*
  * see if the system is being used too much for this game
  */
-too_much()
+bool
+too_much(void)
 {
 #ifdef MAXLOAD
 	double avec[3];
@@ -435,7 +437,8 @@
  * author:
  *	See if a user is an author of the program
  */
-author()
+bool
+author(void)
 {
 	switch (md_getuid()) {
 #if AUTHOR
@@ -450,7 +453,24 @@
 
 
 #ifdef CHECKTIME
-checkout()
+/*
+ * checkout()'s version of msg.  If we are in the middle of a shell, do a
+ * printf instead of a msg to avoid the refresh.
+ */
+void
+chmsg(char *fmt, int arg)
+{
+	if (in_shell) {
+		printf(fmt, arg);
+		putchar('\n');
+		fflush(stdout);
+	}
+	else
+		msg(fmt, arg);
+}
+
+void
+checkout(void)
 {
 	static char *msgs[] = {
 	"The system is too loaded for games. Please leave in %d minutes",
@@ -482,23 +502,6 @@
 	    alarm(CHECKTIME * 60);
 	}
 }
-
-/*
- * checkout()'s version of msg.  If we are in the middle of a shell, do a
- * printf instead of a msg to avoid the refresh.
- */
-chmsg(fmt, arg)
-char *fmt;
-int arg;
-{
-	if (in_shell) {
-		printf(fmt, arg);
-		putchar('\n');
-		fflush(stdout);
-	}
-	else
-		msg(fmt, arg);
-}
 #endif
 
 #ifdef LOADAV
@@ -510,8 +513,8 @@
 	"_avenrun"
 };
 
-loadav(avg)
-reg double *avg;
+void
+loadav(double *avg)
 {
 	reg int kmem;
 
@@ -536,7 +539,8 @@
 #include <sys/types.h>
 #include <utmp.h>
 struct utmp buf;
-ucount()
+int
+ucount(void)
 {
 	reg struct utmp *up;
 	reg FILE *utmp;
@@ -559,7 +563,8 @@
  * holiday:
  *	Returns TRUE when it is a good time to play rogue
  */
-holiday()
+bool
+holiday(void)
 {
 	time_t now;
 	struct tm *localtime();
--- a/arogue5/maze.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/maze.c	Sun Feb 07 14:39:21 2016 -0500
@@ -30,15 +30,20 @@
 		*bits;
 static int	maze_lines, 
 		maze_cols;
-char		*moffset(), 
-		*foffset();
+
+void draw_maze(void);
+int findcells(int y, int x);
+char *foffset(int y, int x);
+char *moffset(int y, int x);
+void rmwall(int newy, int newx, int oldy, int oldx);
 
 
 /*
  * crankout:
  *	Does actual drawing of maze to window
  */
-crankout()
+void
+crankout(void)
 {
 	reg int x, y;
 
@@ -71,7 +76,8 @@
  * domaze:
  *	Draw the maze on this level.
  */
-do_maze()
+void
+do_maze(void)
 {
 	reg int least;
 	reg struct room *rp;
@@ -95,7 +101,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(10) + 1);		/* add in one large hunk */
 	attach(lvl_obj, item);
@@ -108,7 +114,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 {
@@ -133,7 +139,8 @@
  * draw_maze:
  *	Generate and draw the maze on the screen
  */
-draw_maze()
+void
+draw_maze(void)
 {
 	reg int i, j, more;
 	reg char *ptr;
@@ -169,8 +176,8 @@
  * findcells:
  *	Figure out cells to open up 
  */
-findcells(y,x)
-reg int x, y;
+int
+findcells(int y, int x)
 {
 	reg int rtpos, i;
 
@@ -221,8 +228,7 @@
  *	Calculate memory address for frontier
  */
 char *
-foffset(y, x)
-int y, x;
+foffset(int y, int x)
 {
 
 	return (frontier + (y * maze_cols) + x);
@@ -236,8 +242,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;
@@ -342,8 +347,7 @@
  *	Calculate memory address for bits
  */
 char *
-moffset(y, x)
-int y, x;
+moffset(int y, int x)
 {
 
 	return (bits + (y * (COLS - 1)) + x);
@@ -356,8 +360,8 @@
  * rmwall:
  *	Removes appropriate walls from the maze
  */
-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/arogue5/mdport.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/mdport.c	Sun Feb 07 14:39:21 2016 -0500
@@ -55,6 +55,7 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include <ctype.h>
 
 #if defined(_WIN32) && !defined(__MINGW32__)
 #define PATH_MAX MAX_PATH
@@ -81,7 +82,7 @@
 #define MOD_MOVE(c) (toupper(c) )
 
 void
-md_init()
+md_init(void)
 {
 #ifdef __INTERIX
     char *term;
@@ -132,7 +133,7 @@
 static int md_standout_mode = 0;
 
 int
-md_raw_standout()
+md_raw_standout(void)
 {
 #ifdef _WIN32
     CONSOLE_SCREEN_BUFFER_INFO csbiInfo; 
@@ -155,7 +156,7 @@
 }
 
 int
-md_raw_standend()
+md_raw_standend(void)
 {
 #ifdef _WIN32
     CONSOLE_SCREEN_BUFFER_INFO csbiInfo; 
@@ -223,7 +224,7 @@
 }
 
 int
-md_normaluser()
+md_normaluser(void)
 {
 #ifndef _WIN32
     setuid(getuid());
@@ -232,7 +233,7 @@
 }
 
 int
-md_getuid()
+md_getuid(void)
 {
 #ifndef _WIN32
     return( getuid() );
@@ -242,7 +243,7 @@
 }
 
 char *
-md_getusername()
+md_getusername(void)
 {
     static char login[80];
     char *l = NULL;
@@ -279,7 +280,7 @@
 }
 
 char *
-md_gethomedir()
+md_gethomedir(void)
 {
     static char homedir[PATH_MAX];
     char *h = NULL;
@@ -335,7 +336,7 @@
 }
 
 char *
-md_getshell()
+md_getshell(void)
 {
     static char shell[PATH_MAX];
     char *s = NULL;
@@ -365,7 +366,7 @@
 }
 
 int
-md_shellescape()
+md_shellescape(void)
 {
 #if (!defined(_WIN32) && !defined(__DJGPP__))
     int ret_status;
@@ -427,7 +428,7 @@
 }
 
 char *
-md_getroguedir()
+md_getroguedir(void)
 {
     static char path[1024];
     char *end,*home;
@@ -491,8 +492,7 @@
 }
 
 char *
-md_getpass(prompt)
-char *prompt;
+md_getpass(char *prompt)
 {
 #ifdef _WIN32
     static char password_buffer[9];
@@ -587,7 +587,7 @@
 }
 
 int
-md_rand()
+md_rand(void)
 {
 #ifdef _WIN32
     return(rand());
@@ -597,8 +597,7 @@
 }
 
 int
-md_srand(seed)
-register int seed;
+md_srand(int seed)
 {
 #ifdef _WIN32
     srand(seed);
@@ -608,7 +607,7 @@
 }
 
 long
-md_memused()
+md_memused(void)
 {
 #ifdef _WIN32
     MEMORYSTATUS stat;
@@ -622,7 +621,7 @@
 }
 
 char *
-md_gethostname()
+md_gethostname(void)
 {
     static char nodename[80];
     char *n = NULL;
@@ -644,7 +643,7 @@
 }
 
 int
-md_erasechar()
+md_erasechar(void)
 {
 #ifdef BSD
     return(_tty.sg_erase); /* process erase character */
@@ -656,7 +655,7 @@
 }
 
 int
-md_killchar()
+md_killchar(void)
 {
 #ifdef BSD
     return(_tty.sg_kill);
@@ -673,8 +672,7 @@
  */
 
 char *
-md_unctrl(ch)
-char ch;
+md_unctrl(char ch)
 {
 #if USG5_0
     extern char *_unctrl[];		/* Defined in curses library */
@@ -686,7 +684,7 @@
 }
 
 void
-md_flushinp()
+md_flushinp(void)
 {
 #ifdef BSD
     ioctl(0, TIOCFLUSH);
--- a/arogue5/misc.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/misc.c	Sun Feb 07 14:39:21 2016 -0500
@@ -18,9 +18,7 @@
  * See if a monster has some magic it can use.  Use it and return TRUE if so.
  */
 bool
-m_use_item(monster, monst_pos, defend_pos)
-register struct thing *monster;
-register coord *monst_pos, *defend_pos;
+m_use_item(struct thing *monster, coord *monst_pos, coord *defend_pos)
 {
     register struct linked_list *pitem;
     register struct object *obj;
@@ -95,10 +93,11 @@
  
 /*
  * 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;
@@ -123,10 +122,10 @@
 
 /*
  * 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) {
@@ -140,8 +139,8 @@
 }
 
 
-do_bag(item)
-register struct linked_list *item;
+void
+do_bag(struct linked_list *item)
 {
 
     register struct linked_list *titem = NULL;
@@ -233,7 +232,8 @@
     }
 }
 
-do_panic()
+void
+do_panic(void)
 {
     register int x,y;
     register struct linked_list *mon;
@@ -272,8 +272,7 @@
  * print miscellaneous magic bonuses
  */
 char *
-misc_name(obj)
-register struct object *obj;
+misc_name(struct object *obj)
 {
     static char buf[LINELEN];
     char buf1[LINELEN];
@@ -340,7 +339,8 @@
     return buf;
 }
 
-use_emori()
+void
+use_emori(void)
 {
     char selection;	/* Cloak function */
     int state = 0;	/* Menu state */
@@ -442,8 +442,8 @@
     }
 }
 
-use_mm(which)
-int which;
+void
+use_mm(int which)
 {
     register struct object *obj = NULL;
     register struct linked_list *item = NULL;
@@ -496,7 +496,7 @@
 		msg("The jug is empty");
 		break;
 	    }
-	    quaff (obj->o_ac, NULL, FALSE);
+	    quaff (obj->o_ac, 0, FALSE);
 	    obj->o_ac = JUG_EMPTY;
 	    fuse (alchemy, obj, ALCHEMYTIME, AFTER);
 	    if (!(obj->o_flags & ISKNOW))
--- a/arogue5/monsters.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/monsters.c	Sun Feb 07 14:39:21 2016 -0500
@@ -14,6 +14,7 @@
 
 #include "curses.h"
 #include "rogue.h"
+#include <stdlib.h>
 #include <ctype.h>
 #include <string.h>
 
@@ -21,8 +22,8 @@
 /*
  * 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
@@ -63,13 +64,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;
@@ -121,9 +120,7 @@
  */
 
 void
-genmonsters(least, treas)
-register int least;
-bool treas;
+genmonsters(int least, bool treas)
 {
     reg int i;
     reg struct room *rp = &rooms[0];
@@ -166,8 +163,7 @@
  */
 
 short
-id_monst(monster)
-register char monster;
+id_monst(char monster)
 {
     register short result;
 
@@ -187,11 +183,8 @@
  *	Pick a new monster and add it to the list
  */
 
-new_monster(item, type, cp, max_monster)
-struct linked_list *item;
-short type;
-register 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;
@@ -379,8 +372,7 @@
  */
 
 short
-randmonster(wander, no_unique)
-register bool wander, no_unique;
+randmonster(bool wander, bool no_unique)
 {
     register int d, cur_level, range, i; 
 
@@ -418,8 +410,8 @@
  * to purchase something.
  */
 
-sell(tp)
-register struct thing *tp;
+void
+sell(struct thing *tp)
 {
     register struct linked_list *item;
     register struct object *obj;
@@ -731,8 +723,7 @@
  * what to do when the hero steps next to a monster
  */
 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;
@@ -957,7 +948,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/arogue5/move.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/move.c	Sun Feb 07 14:39:21 2016 -0500
@@ -37,9 +37,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;
@@ -353,8 +352,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 */
@@ -413,8 +411,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 */
@@ -491,7 +489,8 @@
  * dip_it:
  *	Dip an object into a magic pool
  */
-dip_it()
+void
+dip_it(void)
 {
 	reg struct linked_list *what;
 	reg struct object *ob;
@@ -667,8 +666,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 char ch;
@@ -878,8 +877,8 @@
  *	Start the hero running
  */
 
-do_run(ch)
-char ch;
+void
+do_run(char ch)
 {
     firstmove = TRUE;
     running = TRUE;
@@ -894,11 +893,9 @@
  *	Returns TRUE if it could find it, FALSE otherwise.
  */
 bool
-getdelta(match, dy, dx)
-char match;
-int *dy, *dx;
+getdelta(char match, int *dy, int *dx)
 {
-    register y, x;
+    int y, x;
 
     for (y = 0; y < 3; y++)
 	for (x = 0; x < 3; x++)
@@ -915,8 +912,8 @@
  * isatrap:
  *	Returns TRUE if this character is some kind of trap
  */
-isatrap(ch)
-reg char ch;
+bool
+isatrap(char ch)
 {
 	switch(ch) {
 		case DARTTRAP:
@@ -936,8 +933,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;
@@ -1113,8 +1110,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;
@@ -1150,8 +1146,7 @@
  */
 
 coord *
-rndmove(who)
-struct thing *who;
+rndmove(struct thing *who)
 {
     register int x, y;
     register int ex, ey, nopen = 0;
@@ -1192,9 +1187,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 char selection = rnd(7) + '1';
@@ -1330,8 +1324,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 char ch = CCHAR( winat(y, x) );
     register struct linked_list *it;
@@ -1371,8 +1365,7 @@
  */
 
 struct trap *
-trap_at(y, x)
-register int y, x;
+trap_at(int y, int x)
 {
     register struct trap *tp, *ep;
 
--- a/arogue5/new_level.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/new_level.c	Sun Feb 07 14:39:21 2016 -0500
@@ -16,8 +16,11 @@
 #include "rogue.h"
 #define TERRASAVE 3
 
-new_level(ltype)
-LEVTYPE	ltype;		/* designates type of level to create */
+void put_things(LEVTYPE ltype);
+
+/* ltype designates type of level to create */
+void
+new_level(LEVTYPE ltype)
 {
     register int rm = 0, i, cnt;
     register char ch;
@@ -409,7 +412,8 @@
  * Pick a room that is really there
  */
 
-rnd_room()
+int
+rnd_room(void)
 {
     register int rm;
 
@@ -425,10 +429,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;
@@ -448,7 +453,7 @@
      * Increasing chance after level 9 
      */
     if (ltype != MAZELEV && rnd(HARDER) < level - 8) {	
-	register  j;
+	register int j;
 	register struct room *rp;
 
 	/* Count the number of free spaces */
--- a/arogue5/options.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/options.c	Sun Feb 07 14:39:21 2016 -0500
@@ -35,16 +35,16 @@
 
 typedef struct optstruct	OPTION;
 
-int	put_bool(), 
-	get_bool(),
-	put_str(),
-	get_str(),
-	get_restr(),
-	get_score(),
-	put_abil(),
-	get_abil(),
-	get_quest(),
-	put_quest();
+int get_ro(WINDOW *win, int oy, int ox);
+int get_restr(char *optstr, WINDOW *win);
+int get_score(char *optstr, 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 put_bool(bool *b, WINDOW *win);
+int get_bool(bool *bp, WINDOW *win);
+void put_str(char *str, WINDOW *win);
 
 OPTION	optlist[] = {
     {"terse",	 "Terse output: ",
@@ -111,9 +111,8 @@
 /*
  * The ability field is read-only
  */
-get_abil(abil, win)
-int *abil;
-WINDOW *win;
+void
+get_abil(int *abil, WINDOW *win)
 {
     register int oy, ox;
 
@@ -125,9 +124,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;
 
@@ -141,9 +139,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;
@@ -180,9 +177,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;
@@ -230,9 +226,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;
@@ -306,7 +301,8 @@
 /*
  * print and then set options from the terminal
  */
-option()
+void
+option(void)
 {
     register OPTION	*op;
     register int	retval;
@@ -362,8 +358,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;
@@ -459,9 +455,8 @@
 /*
  * print the character type
  */
-put_abil(ability, win)
-int *ability;
-WINDOW *win;
+void
+put_abil(int *ability, WINDOW *win)
 {
     char *abil;
 
@@ -480,9 +475,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);
 }
@@ -491,9 +485,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");
 }
@@ -504,9 +497,8 @@
 /*
  * put out a string
  */
-put_str(str, win)
-char *str;
-WINDOW *win;
+void
+put_str(char *str, WINDOW *win)
 {
     waddstr(win, str);
 }
--- a/arogue5/outside.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/outside.c	Sun Feb 07 14:39:21 2016 -0500
@@ -11,7 +11,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:
@@ -19,7 +20,7 @@
  */
 
 void
-init_terrain()
+init_terrain(void)
 {
     register struct room *rp;
 
@@ -38,11 +39,9 @@
 
 
 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 cury, curx;	/* Current y and x positions */
+    int cury, curx;	/* Current y and x positions */
 
     /* Lay out the boundary */
     for (cury=1; cury<LINES-2; cury++) {	/* Vertical "walls" */
@@ -125,7 +124,7 @@
  */
 
 char
-rnd_terrain()
+rnd_terrain(void)
 {
     int chance = rnd(100);
 
@@ -149,8 +148,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;
@@ -203,8 +201,7 @@
  */
 
 void
-lake_check(place)
-coord *place;
+lake_check(coord *place)
 {
     NOOP(place);
 }
--- a/arogue5/pack.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/pack.c	Sun Feb 07 14:39:21 2016 -0500
@@ -18,15 +18,15 @@
 
 char outstring[512];	/* ridiculously long string for use with msg */
 
+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
  * use it as the linked_list pointer instead of gettting it off the ground.
  */
 bool
-add_pack(item, silent, packret)
-register struct linked_list *item, **packret;
-bool silent;
+add_pack(struct linked_list *item, bool silent, struct linked_list **packret)
 {
     register struct linked_list *ip, *lp = NULL, *ap;
     register struct object *obj, *op = NULL;
@@ -305,9 +305,8 @@
  * inventory:
  *	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;
@@ -390,8 +389,8 @@
  * pick_up:
  *	Add something to characters pack.
  */
-pick_up(ch)
-char ch;
+void
+pick_up(char ch)
 {
     switch (ch) {
 	default:
@@ -416,7 +415,7 @@
  *	Allow player to inventory a single item
  */
 void
-picky_inven()
+picky_inven(void)
 {
     register struct linked_list *item;
     register char ch, mch;
@@ -471,12 +470,10 @@
 /*
  * 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)
-reg struct linked_list *list;
-char *purpose;	/* NULL if we should be silent (no prompts) */
-int type;
+get_item(struct linked_list *list, char *purpose, int type)
 {
     reg struct linked_list *item;
     reg struct object *obj;
@@ -610,9 +607,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;
@@ -634,8 +630,8 @@
  * cur_null:
  *	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;
@@ -659,7 +655,8 @@
  * idenpack:
  *	Identify all the items in the pack
  */
-idenpack()
+void
+idenpack(void)
 {
 	reg struct linked_list *pc;
 
@@ -667,9 +664,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;
 
@@ -804,8 +800,8 @@
     return(FALSE);
 }
 
-del_pack(item)
-register struct linked_list *item;
+void
+del_pack(struct linked_list *item)
 {
     register struct object *obj;
 
@@ -827,9 +823,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;
@@ -851,74 +846,74 @@
      * avoid it
      */
     if (on(*mp, CARRYDAGGER)) {
-	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, CARRYAMULET)) {
-	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, 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, 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);
@@ -927,7 +922,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;
@@ -938,7 +933,7 @@
      * If it carries food, give it some
      */
     if (on(*mp, CARRYFOOD) && rnd(100) < chance) {
-	item = spec_item(FOOD, NULL, NULL, NULL);
+	item = spec_item(FOOD, 0, 0, 0);
 	obj = OBJPTR(item);
 	obj->o_weight = things[TYP_FOOD].mi_wght;
 	obj->o_pos = mp->t_pos;
@@ -1041,8 +1036,8 @@
  *	he wants (* means everything).
  */
 
-grab(y, x)
-register y, x;
+int
+grab(int y, int x)
 {
     register struct linked_list *next_item, *item;
     register struct object *obj;
--- a/arogue5/passages.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/passages.c	Sun Feb 07 14:39:21 2016 -0500
@@ -14,15 +14,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;
@@ -130,8 +135,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;
@@ -266,9 +271,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/arogue5/player.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/player.c	Sun Feb 07 14:39:21 2016 -0500
@@ -17,7 +17,8 @@
  *	cleric affecting undead
  */
 
-affect()
+void
+affect(void)
 {
     register struct linked_list *item;
     register struct thing *tp;
@@ -121,7 +122,8 @@
 /*
  * the magic user is going to try and cast a spell
  */
-cast()
+void
+cast(void)
 {
     register int i, num_spells, spell_ability;
     int  which_spell;
@@ -271,7 +273,8 @@
 
 /* Constitution bonus */
 
-const_bonus()	/* Hit point adjustment for changing levels */
+int
+const_bonus(void)	/* Hit point adjustment for changing levels */
 {
     if (pstats.s_const > 6 && pstats.s_const <= 14) 
 	return(0);
@@ -290,7 +293,8 @@
  *	Sense gold
  */
 
-gsense()
+void
+gsense(void)
 {
     /* Only thieves can do this */
     if (player.t_ctype != C_THIEF) {
@@ -324,7 +328,8 @@
 /* 
  * the cleric asks his deity for a spell
  */
-pray()
+void
+pray(void)
 {
     register int i, num_prayers, prayer_ability;
     int which_prayer;
@@ -488,7 +493,8 @@
  *	Steal in direction given in delta
  */
 
-steal()
+void
+steal(void)
 {
     register struct linked_list *item;
     register struct thing *tp;
--- a/arogue5/potions.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/potions.c	Sun Feb 07 14:39:21 2016 -0500
@@ -17,14 +17,16 @@
 #include <stdlib.h>
 #include <string.h>
 
+void res_intelligence(void);
+void res_wisdom(void);
 
 
 /*
  * Increase player's constitution
  */
 
-add_const(cursed)
-bool cursed;
+void
+add_const(bool cursed)
 {
     /* Do the potion */
     if (cursed) {
@@ -47,8 +49,8 @@
  * Increase player's dexterity
  */
 
-add_dexterity(cursed)
-bool cursed;
+void
+add_dexterity(bool cursed)
 {
     int ring_str;	/* Value of ring strengths */
 
@@ -80,8 +82,8 @@
  *	add a haste to the player
  */
 
-add_haste(blessed)
-bool blessed;
+void
+add_haste(bool blessed)
 {
     int hasttime;
 
@@ -110,8 +112,8 @@
 /*
  * Increase player's intelligence
  */
-add_intelligence(cursed)
-bool cursed;
+void
+add_intelligence(bool cursed)
 {
     int ring_str;	/* Value of ring strengths */
 
@@ -141,7 +143,8 @@
 /*
  * this routine makes the hero move slower 
  */
-add_slow()
+void
+add_slow(void)
 {
     if (on(player, ISHASTE)) { /* Already sped up */
 	extinguish(nohaste);
@@ -164,8 +167,8 @@
  * Increase player's strength
  */
 
-add_strength(cursed)
-bool cursed;
+void
+add_strength(bool cursed)
 {
 
     if (cursed) {
@@ -182,8 +185,8 @@
  * Increase player's wisdom
  */
 
-add_wisdom(cursed)
-bool cursed;
+void
+add_wisdom(bool cursed)
 {
     int ring_str;	/* Value of ring strengths */
 
@@ -215,8 +218,8 @@
  * Lower a level of experience 
  */
 
-lower_level(who)
-short who;
+void
+lower_level(short who)
 {
     int fewer, nsides = 0;
 
@@ -239,10 +242,8 @@
 	death(who);
 }
 
-quaff(which, flag, is_potion)
-int which;
-int flag;
-bool is_potion;
+void
+quaff(int which, int flag, bool is_potion)
 {
     register struct object *obj = NULL;
     register struct linked_list *item, *titem;
@@ -625,8 +626,8 @@
  *	if called with zero the restore fully
  */
 
-res_dexterity(howmuch)
-int howmuch;
+void
+res_dexterity(int howmuch)
 {
     short save_max;
     int ring_str;
@@ -656,7 +657,8 @@
  *	Restore player's intelligence
  */
 
-res_intelligence()
+void
+res_intelligence(void)
 {
     short save_max;
     int ring_str;
@@ -680,7 +682,8 @@
  *	Restore player's wisdom
  */
 
-res_wisdom()
+void
+res_wisdom(void)
 {
     short save_max;
     int ring_str;
--- a/arogue5/rings.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/rings.c	Sun Feb 07 14:39:21 2016 -0500
@@ -20,8 +20,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;
@@ -45,8 +45,8 @@
     return 0;
 }
 
-ring_on(obj)
-register struct object *obj;
+void
+ring_on(struct object *obj)
 {
     register int save_max;
     char buf[LINELEN];
@@ -112,8 +112,7 @@
  * print ring bonuses
  */
 char *
-ring_num(obj)
-register struct object *obj;
+ring_num(struct object *obj)
 {
     static char buf[5];
 
@@ -147,7 +146,8 @@
 /* 
  * Return the effect of the specified ring 
  */
-ring_value(type)
+int
+ring_value(int type)
 {
     int result = 0;
 
--- a/arogue5/rip.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/rip.c	Sun Feb 07 14:39:21 2016 -0500
@@ -71,15 +71,17 @@
     0
 };
 
-char	*killname();
-
-
-
+char *killname(short monst);
+void scorein(struct sc_ent scores[], int fd);
+void scoreout(struct sc_ent scores[], FILE *outf);
+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);
 
 
 void
-byebye(sig)
-int sig;
+byebye(int sig)
 {
     NOOP(sig);
     if (!isendwin()) {
@@ -96,8 +98,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;
@@ -125,8 +127,7 @@
 }
 
 char *
-killname(monst)
-register short monst;
+killname(short monst)
 {
     static char mons_name[LINELEN];
     int i;
@@ -162,9 +163,8 @@
  */
 
 /* VARARGS2 */
-score(amount, flags, monst)
-unsigned long amount;
-short monst;
+void
+score(unsigned long amount, int flags, short monst)
 {
     static struct sc_ent top_ten[NUMSCORE];
     register struct sc_ent *scp;
@@ -626,9 +626,8 @@
  *	Convert a character string that has been translated from a
  * score file by scoreout() back to a score file structure.
  */
-scorein(scores, fd)
-struct sc_ent scores[];
-int fd;
+void
+scorein(struct sc_ent scores[], int fd)
 {
     int i;
     char scoreline[100];
@@ -652,9 +651,8 @@
  * this for compatibility sake since some machines write out fields in
  * different orders.
  */
-scoreout(scores, outf)
-struct sc_ent scores[];
-FILE *outf;
+void
+scoreout(struct sc_ent scores[], FILE *outf)
 {
     int i;
     char scoreline[100];
@@ -676,8 +674,8 @@
  * showpack:
  *	Display the contents of the hero's pack
  */
-showpack(howso)
-char *howso;
+void
+showpack(char *howso)
 {
 	reg char *iname;
 	reg int cnt, packnum;
@@ -706,7 +704,8 @@
 	refresh();
 }
 
-total_winner()
+void
+total_winner(void)
 {
     register struct linked_list *item;
     register struct object *obj;
@@ -760,11 +759,10 @@
     exit(0);
 }
 
-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)
 {
     register struct sc_ent *scp, *sc2;
     int retval=0;	/* 1 if a change, 0 otherwise */
--- a/arogue5/rogue.h	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/rogue.h	Sun Feb 07 14:39:21 2016 -0500
@@ -943,48 +943,260 @@
     int   s_flag;		/* is the spell blessed/cursed? */
 };
 
-struct linked_list	*find_mons(), *find_obj(), *get_item(), *new_item(),
-			*new_thing(), *wake_monster(), *get_hurl(), 
-			*spec_item(), *creat_item();
-struct object		*wield_weap();
-struct room		*roomin();
-struct trap		*trap_at();
+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    _t_free_list(struct linked_list **ptr);
+int     ac_compute(void);
+void    activity(void);
+void    add_dexterity(bool cursed);
+void    add_intelligence(bool cursed);
+bool    add_pack(struct linked_list *item, bool silent, 
+                 struct linked_list **packret);
+void    add_slow(void);
+void    add_wisdom(bool cursed);
+void    addmsg(char *fmt, ...);
+void    affect(void);
+void    aggravate(void);
+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);
+char   *blesscurse(int flags);
+bool    blue_light(bool blessed, bool cursed);
+void    bugkill(int sig);
+void    buy_it(void);
+void    byebye(int sig);
+void    cast(void);
+bool    can_blink(struct thing *tp);
+coord  *can_shoot(coord *er, coord *ee);
+bool    cansee(int y, int x);
+void    carry_obj(struct thing *mp, int chance);
+long    check_level(bool get_spells);
+void    check_residue(struct thing *tp);
+void    chg_str(int amt);
+void    command(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_prot(int dexterity);
+bool    diag_ok(coord *sp, coord *ep, struct thing *flgptr);
+void    dip_it(void);
+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_passages(void);
+void    do_post(void);
+void    do_rooms(void);
+void    do_run(char ch);
+void    do_terrain(int basey, int basex, int deltay, int deltax, bool fresh);
+bool    do_zap(bool gotdir, int which, int flag);
+void    doctor(struct thing *tp);
+void    draw_room(struct room *rp);
+bool    drop(struct linked_list *item);
+bool    dropcheck(struct object *op);
+void    dust_appear(void);
+void    eat(void);
+int     encread(char *start, unsigned int size, int inf);
+int     encwrite(char *start, unsigned int size, FILE *outf);
+void    endit(int sig);
+void    endmsg(void);
+void    extinguish(int (*func)());
+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)());
+void    fix_stick(struct object *cur);
+void    fumble(void);
+void    fuse(int (*func)(), void *arg, int time, int type);
+void    genmonsters(int least, bool treas);
+bool    get_dir(void);
+struct linked_list *get_item(struct linked_list *list, char *purpose, int type);
+int     get_str(char *opt, WINDOW *win);
+int     get_worth(struct object *obj);
+int     getbless(void);
+int     getdeath(void);
+bool    getdelta(char match, int *dy, int *dx);
+int     grab(int y, int x);
+void    gsense(void);
+bool    hit_monster(int y, int x, struct object *obj, struct thing *tp);
+int     hitweight(void);
+short   id_monst(char monster);
+void    idenpack(void);
+void    init_colors(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    is_current(struct object *obj);
+bool    is_magic(struct object *obj);
+bool    isatrap(char ch);
+int     itemweight(struct object *wh);
+void    kill_daemon(int (*func)());
+void    killed(struct linked_list *item, bool pr, bool points);
+void    lake_check(coord *place);
+void    land(void);
+void    lengthen(int (*func)(), int xtime);
+void    light(coord *cp);
+bool    lit_room(struct room *rp);
+void    look(bool wakeup, bool runend);
+void    lower_level(short who);
+bool    m_use_item(struct thing *monster, coord *monst_pos, coord *defend_pos);
+short   makemonster(bool create);
+bool    maze_view(int y, int x);
+char   *misc_name(struct object *obj);
+void    missile(int ydelta, int xdelta, struct linked_list *item, 
+                struct thing *tp);
+void    msg(char *fmt, ...);
+unsigned long netread(int *error, int size, FILE *stream);
+int     netwrite(unsigned long value, int size, FILE *stream);
+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);
+void    nohaste(void);
+void    noslow(void);
+char   *num(int n1, int n2);
+void    o_discard(struct linked_list *item);
+void    option(void);
+char    pack_char(struct linked_list *list, struct object *obj);
+void    parse_opts(char *str);
+bool    passwd(void);
+int     pick_one(struct magic_item *magic, int nitems);
+void    pick_up(char ch);
+void    picky_inven(void);
+void    playit(void);
+void    pray(void);
+bool    price_it(void);
+void    quaff(int which, int flag, bool is_potion);
+void    quit(int sig);
+void    raise_level(bool get_spells);
+short   randmonster(bool wander, bool no_unique);
+void    read_scroll(int which, int flag, bool is_scroll);
+int     readchar(void);
+void    res_dexterity(int howmuch);
+void    res_strength(void);
+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 object *obj);
+void    ring_search(void);
+void    ring_teleport(void);
+int     ring_value(int type);
+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     rs_restore_file(int inf);
+int     rs_save_file(FILE *savef);
+void    runners(void);
+void    runto(struct thing *runner, coord *spot);
+bool    save(int which, struct thing *who, int adj);
+bool    save_game(void);
+void    score(unsigned long amount, int flags, short monst);
+void    search(bool is_thief, bool door_chime);
+char    secretdoor(int y, int x);
+void    sell(struct thing *tp);
+void    sell_it(void);
+void    set_trap(struct thing *tp, int y, int x);
+void    setup(void);
+bool    shoot_bolt(struct thing *shooter, coord start, coord dir, 
+                   bool get_points, short reason, char *name, int damage);
+bool    shoot_ok(char ch);
+char    show(int y, int x);
+void    sight(void);
+struct linked_list *spec_item(int type, int which, int hit, int damage);
+void    start_daemon(int (*func)(), 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);
+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    t_discard(struct linked_list *item);
+void    take_off(void);
+int     teleport(void);
+void    total_winner(void);
+int     totalenc(void);
+char   *tr_name(char ch);
+struct trap *trap_at(int y, int x);
+void    trap_look(void);
+void    un_itch(void);
+void    unchoke(void);
+void    unclrhead(void);
+void    unconfuse(void);
+void    undance(void);
+void    unphase(void);
+void    unsee(void);
+void    unstink(void);
+void    updpack(bool getmax);
+void    use_mm(int which);
+char   *vowelstr(char *str);
+void    wait_for(WINDOW *win, char ch);
+struct linked_list *wake_monster(int y, int x);
+void    waste_time(void);
+char   *weap_name(struct object *obj);
+void    wear(void);
+void    wghtchk(void);
+void    whatis(struct linked_list *what);
+void    wield(void);
+void    writelog(unsigned long amount, int flags, short monst);
 
-char	*tr_name(), *new(), 
-	*vowelstr(), *inv_name(), 
-	*ctime(), *num(), *ring_num(), *misc_num(), *blesscurse(), *typ_name(),
-	*weap_name(), *misc_name();
-coord	*rndmove(), *can_shoot(), *fallpos();
-short	randmonster(), id_monst();
-void    quit(int sig), tstp(int sig), auto_save(int sig), bugkill(int sig), endit(int sig);
-int	rnd(), wghtchk(), nohaste(), res_strength(),
-	doctor(), runners(), swander(), unconfuse(), unsee(), fumble(),
-	unclrhead(), unphase(), noslow(), rollwand(), stomach(), sight(),
-	unstink(), suffocate(), cure_disease(), un_itch(), shoot_bolt(),
-	appear(), dust_appear(), unchoke(), alchemy(), trap_look(), strangle(),
-	ring_teleport(), ring_search(), grab();
-bool	blue_light(), can_blink(), creat_mons(), add_pack(),
-	straight_shot(), maze_view(), lit_room(), getdelta(), save_file(),
-	save_game();
-long	check_level();
-void	byebye(int sig), genmonsters();
-int     land(), undance();
-void    writelog(unsigned long amount, int flags, short monst);
 #ifdef CHECKTIME
 int checkout();
 #endif
-extern char *md_getusername();
-extern char *md_gethomedir();
-extern void md_flushinp();
-extern char *md_getshell();
-extern char *md_gethostname();
-extern void md_dobinaryio();
-extern char *md_getpass();
-extern char *md_crypt();
-extern char *md_getroguedir();
-extern void md_init();
+extern char *md_getusername(void);
+extern char *md_gethomedir(void);
+extern void md_flushinp(void);
+extern char *md_getshell(void);
+extern char *md_gethostname(void);
+extern char *md_getpass(char *prompt);
+extern char *md_crypt(char *key, char *salt);
+extern char *md_getroguedir(void);
+extern void md_init(void);
 extern FILE * md_fdopen(int fd, char *mode);
 extern int md_unlink(char *file);
+extern int md_normaluser(void);
+extern int md_getuid(void);
+extern long md_memused(void);
+extern void md_reopen_score(void);
+extern int md_readchar(WINDOW *win);
+extern int md_shellescape(void);
+extern int md_srand(int seed);
+extern int md_rand(void);
+extern int md_erasechar(void);
+extern int md_killchar(void);
 
 /*
  * Now all the global variables
--- a/arogue5/rooms.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/rooms.c	Sun Feb 07 14:39:21 2016 -0500
@@ -16,7 +16,11 @@
 #include "rogue.h"
 #include <stdlib.h>
 
-do_rooms()
+void horiz(int cnt);
+void vert(int cnt);
+
+void
+do_rooms(void)
 {
     register int i;
     register struct room *rp;
@@ -99,7 +103,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 */
@@ -153,8 +157,8 @@
  * Draw a box around a room
  */
 
-draw_room(rp)
-register struct room *rp;
+void
+draw_room(struct room *rp)
 {
     register int j, k;
 
@@ -181,8 +185,8 @@
  *	draw a horizontal line
  */
 
-horiz(cnt)
-register int cnt;
+void
+horiz(int cnt)
 {
     while (cnt--)
 	addch('-');
@@ -193,9 +197,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;
@@ -210,8 +213,7 @@
  */
 
 struct room *
-roomin(cp)
-register coord *cp;
+roomin(coord *cp)
 {
     register struct room *rp;
 
@@ -226,8 +228,8 @@
  *	draw a vertical line
  */
 
-vert(cnt)
-register int cnt;
+void
+vert(int cnt)
 {
     register int x, y;
 
--- a/arogue5/save.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/save.c	Sun Feb 07 14:39:21 2016 -0500
@@ -23,6 +23,8 @@
 #include <signal.h>
 #include "rogue.h"
 
+bool save_file(FILE *savef);
+
 typedef struct stat STAT;
 
 extern char version[], encstr[];
@@ -31,7 +33,7 @@
 STAT sbuf;
 
 bool
-save_game()
+save_game(void)
 {
     register FILE *savef;
     register int c;
@@ -122,8 +124,7 @@
  * write the saved game on the file
  */
 bool
-save_file(savef)
-register FILE *savef;
+save_file(FILE *savef)
 {
     int ret;
     int slines = LINES;
@@ -147,9 +148,8 @@
     return(ret);
 }
 
-restore(file, envp)
-register char *file;
-char **envp;
+bool
+restore(char *file, char **envp)
 {
     register int inf;
 #ifndef _AIX
@@ -264,13 +264,11 @@
 /*
  * perform an encrypted write
  */
-encwrite(start, size, outf)
-register char *start;
-register unsigned size;
-register FILE *outf;
+int
+encwrite(char *start, unsigned int size, FILE *outf)
 {
     register char *ep;
-    register num_written = 0;
+    register int num_written = 0;
 
     ep = encstr;
 
@@ -288,10 +286,8 @@
 /*
  * perform an encrypted read
  */
-encread(start, size, inf)
-register char *start;
-register unsigned size;
-register int inf;
+int
+encread(char *start, unsigned int size, int inf)
 {
     register char *ep;
     register int read_size;
--- a/arogue5/scrolls.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/scrolls.c	Sun Feb 07 14:39:21 2016 -0500
@@ -23,7 +23,8 @@
 /*
  * let the hero get rid of some type of monster (but not a UNIQUE!)
  */
-genocide()
+void
+genocide(void)
 {
     register struct linked_list *ip;
     register struct thing *mp;
@@ -37,7 +38,7 @@
 
     /* Print out the monsters */
     while (num_monst > 0) {
-	register left_limit;
+	int left_limit;
 
 	if (num_monst < num_lines) left_limit = (num_monst+1)/2;
 	else left_limit = num_lines/2;
@@ -112,10 +113,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;
--- a/arogue5/state.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/state.c	Sun Feb 07 14:39:21 2016 -0500
@@ -64,6 +64,12 @@
 #include <string.h>
 #include "rogue.h"
 
+int rs_read_int(int inf, int *i);
+int rs_write_int(FILE *savef, int c);
+int list_size(struct linked_list *l);
+int rs_write_object_list(FILE *savef, struct linked_list *l);
+int rs_read_object_list(int inf, struct linked_list **list);
+
 #define READSTAT (format_error || read_error )
 #define WRITESTAT (write_error)
 
@@ -1712,6 +1718,7 @@
     return(READSTAT);
 }
 
+int
 rs_write_room_reference(FILE *savef, struct room *rp)
 {
     int i, room = -1;
@@ -2224,7 +2231,7 @@
     return(READSTAT);
 }
 
-int
+void
 rs_fix_thing(struct thing *t)
 {
     struct thing *tp;
@@ -2434,6 +2441,7 @@
     return(WRITESTAT);
 }
 
+int
 rs_restore_file(int inf)
 {
     int i;
--- a/arogue5/sticks.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/sticks.c	Sun Feb 07 14:39:21 2016 -0500
@@ -18,14 +18,13 @@
 #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(gotdir, which, flag)
-bool gotdir;
-int which;
-int flag;
+bool
+do_zap(bool gotdir, int which, int flag)
 {
     register struct linked_list *item;
     register struct object *obj = NULL;
@@ -683,8 +682,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;
@@ -745,8 +744,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;
@@ -787,13 +786,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;
+bool
+shoot_bolt(struct thing *shooter, coord start, coord dir, bool get_points, 
+           short reason, char *name, int damage)
 {
     register char dirch = 0, ch;
     register bool used, change;
--- a/arogue5/things.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/things.c	Sun Feb 07 14:39:21 2016 -0500
@@ -18,12 +18,13 @@
 #include <string.h>
 #include "rogue.h"
 
+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];
 
@@ -41,9 +42,7 @@
  *	inventory.
  */
 char *
-inv_name(obj, drop)
-register struct object *obj;
-bool drop;
+inv_name(struct object *obj, bool drop)
 {
     register char *pb;
 
@@ -296,8 +295,7 @@
  *	Return the name of a weapon.
  */
 char *
-weap_name(obj)
-register struct object *obj;
+weap_name(struct object *obj)
 {
     switch (obj->o_type) {
 	case WEAPON:
@@ -325,8 +323,8 @@
  * drop:
  *	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;
@@ -413,8 +411,8 @@
 /*
  * do special checks for dropping or unweilding|unwearing|unringing
  */
-dropcheck(op)
-register struct object *op;
+bool
+dropcheck(struct object *op)
 {
     int save_max;
 
@@ -514,8 +512,7 @@
  * return a new thing
  */
 struct linked_list *
-new_thing(thing_type)
-int thing_type;
+new_thing(int thing_type)
 {
     register struct linked_list *item;
     register struct object *cur;
@@ -710,8 +707,7 @@
  * provide a new item tailored to specification
  */
 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;
@@ -787,9 +783,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;
@@ -821,8 +816,7 @@
  */
 
 char *
-blesscurse(flags)
-int flags;
+blesscurse(int flags)
 {
     if (flags & ISKNOW)  {
 	if (flags & ISCURSED) return("cursed ");
@@ -836,7 +830,8 @@
  * extras:
  *	Return the number of extra items to be created
  */
-extras()
+int
+extras(void)
 {
 	reg int i;
 
--- a/arogue5/trader.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/trader.c	Sun Feb 07 14:39:21 2016 -0500
@@ -14,17 +14,20 @@
 
 #include "curses.h"
 #include "rogue.h"
+#include <ctype.h>
 #include <string.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;
@@ -77,7 +80,8 @@
  * do_post:
  *	Put a trading post room and stuff on the screen
  */
-do_post()
+void
+do_post(void)
 {
 	coord tp;
 	reg int i;
@@ -124,8 +128,8 @@
  * get_worth:
  *	Calculate an objects worth in gold
  */
-get_worth(obj)
-reg struct object *obj;
+int
+get_worth(struct object *obj)
 {
 	reg int worth, wh;
 
@@ -195,7 +199,8 @@
  * open_market:
  *	Retruns TRUE when ok do to transacting
  */
-open_market()
+bool
+open_market(void)
 {
 	if (trader >= MAXPURCH && !wizard) {
 	    msg("The market is closed. The stairs are that-a-way.");
@@ -210,7 +215,8 @@
  * price_it:
  *	Price the object that the hero stands on
  */
-price_it()
+bool
+price_it(void)
 {
 	reg struct linked_list *item;
 	reg struct object *obj;
@@ -244,7 +250,8 @@
  * sell_it:
  *	Sell an item to the trading post
  */
-sell_it()
+void
+sell_it(void)
 {
 	reg struct linked_list *item;
 	reg struct object *obj;
@@ -291,7 +298,8 @@
  * trans_line:
  *	Show how many transactions the hero has left
  */
-trans_line()
+void
+trans_line(void)
 {
 	if (!wizard)
 	    sprintf(prbuf,"You have %d transactions remaining.",
@@ -309,8 +317,7 @@
  * 	Return the name for this type of object
  */
 char *
-typ_name(obj)
-reg struct object *obj;
+typ_name(struct object *obj)
 {
 	static char buff[20];
 	reg int wh;
--- a/arogue5/util.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/util.c	Sun Feb 07 14:39:21 2016 -0500
@@ -22,7 +22,8 @@
  *	aggravate all the monsters on this level
  */
 
-aggravate()
+void
+aggravate(void)
 {
     register struct linked_list *mi;
 
@@ -35,8 +36,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;
@@ -93,8 +94,7 @@
 };
 
 long
-check_level(get_spells)
-bool get_spells;
+check_level(bool get_spells)
 {
     register int i, j, add = 0;
     register unsigned long exp;
@@ -148,8 +148,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 */
@@ -172,7 +172,7 @@
  * this routine computes the players current AC without dex bonus's
  */
 int 
-ac_compute()
+ac_compute(void)
 {
     register int ac;
 
@@ -194,7 +194,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) {
@@ -210,7 +211,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) {
@@ -229,9 +231,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;
 
@@ -252,7 +253,8 @@
  *	He wants to eat something, so let him try
  */
 
-eat()
+void
+eat(void)
 {
     register struct linked_list *item;
 
@@ -282,10 +284,7 @@
  * pick a random position around the give (y, x) coordinates
  */
 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;
@@ -364,9 +363,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;
@@ -386,9 +383,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;
@@ -406,7 +401,8 @@
 /*
  * set up the direction co_ordinate for use in varios "prefix" commands
  */
-get_dir()
+bool
+get_dir(void)
 {
     register char *prompt;
     register bool gotit;
@@ -446,8 +442,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;
@@ -483,11 +479,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 char ch, och;
@@ -738,8 +735,8 @@
  *	The guy just magically went up a level.
  */
 
-raise_level(get_spells)
-bool get_spells;
+void
+raise_level(bool get_spells)
 {
     unsigned long test;	/* Next level -- be sure it is not an overflow */
 
@@ -766,11 +763,12 @@
 /*
  * 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;
 
@@ -814,8 +812,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;
@@ -838,9 +836,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;
 
@@ -859,8 +856,7 @@
  */
 
 char *
-tr_name(ch)
-char ch;
+tr_name(char ch)
 {
     register char *s = NULL;
 
@@ -890,8 +886,7 @@
  * for printfs: if string starts with a vowel, return "n" for an "an"
  */
 char *
-vowelstr(str)
-register char *str;
+vowelstr(char *str)
 {
     switch (*str)
     {
@@ -911,7 +906,8 @@
  *	Do nothing but let other things happen
  */
 
-waste_time()
+void
+waste_time(void)
 {
     if (inwhgt)			/* if from wghtchk then done */
 	return;
--- a/arogue5/weapons.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/weapons.c	Sun Feb 07 14:39:21 2016 -0500
@@ -23,10 +23,8 @@
  * do the actual motion on the screen done by an object traveling
  * across the room
  */
-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)
 {
 
 	/*
@@ -70,9 +68,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;
@@ -116,10 +113,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;
 
@@ -144,9 +139,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;
 
@@ -169,10 +163,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;
@@ -247,8 +239,7 @@
  */
 
 char *
-num(n1, n2)
-register int n1, n2;
+num(int n1, int n2)
 {
 	static char numbuf[LINELEN];
 
@@ -268,7 +259,8 @@
  *	Pull out a certain weapon
  */
 
-wield()
+void
+wield(void)
 {
 	register struct linked_list *item;
 	register struct object *obj, *oweapon;
--- a/arogue5/wear.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/wear.c	Sun Feb 07 14:39:21 2016 -0500
@@ -23,7 +23,8 @@
  *	Get the armor off of the players back
  */
 
-take_off()
+void
+take_off(void)
 {
     register struct object *obj;
     register struct linked_list *item;
@@ -52,7 +53,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;
--- a/arogue5/wizard.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/wizard.c	Sun Feb 07 14:39:21 2016 -0500
@@ -15,6 +15,7 @@
 
 #include "curses.h"
 #include <ctype.h>
+#include <string.h>
 #include <stdlib.h>
 #include "rogue.h"
 
@@ -23,9 +24,8 @@
  * create_obj:
  *	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;
@@ -311,7 +311,8 @@
  * getbless:
  *	Get a blessing for a wizards object
  */
-getbless()
+int
+getbless(void)
 {
 	reg char bless;
 
@@ -328,7 +329,8 @@
 /*
  * get a non-monster death type
  */
-getdeath()
+int
+getdeath(void)
 {
     register int i;
     int which_death;
@@ -358,8 +360,8 @@
 /*
  * make a monster for the wizard
  */
-makemonster(create) 
-bool create;
+short
+makemonster(bool create) 
 {
     register int i;
     register short which_monst;
@@ -368,7 +370,7 @@
 
     /* Print out the monsters */
     while (num_monst > 0) {
-	register left_limit;
+	register int left_limit;
 
 	if (num_monst < num_lines) left_limit = (num_monst+1)/2;
 	else left_limit = num_lines/2;
@@ -430,7 +432,8 @@
  *	see if user knows password
  */
 
-passwd()
+bool
+passwd(void)
 {
     register char *sp, c;
     char buf[LINELEN];
@@ -457,7 +460,8 @@
  *	Bamf the hero someplace else
  */
 
-teleport()
+int
+teleport(void)
 {
     register struct room *new_rp, *old_rp = roomin(&hero);
     register int rm;
@@ -525,8 +529,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;
--- a/arogue5/xcrypt.c	Sun Jan 31 13:45:07 2016 -0500
+++ b/arogue5/xcrypt.c	Sun Feb 07 14:39:21 2016 -0500
@@ -52,6 +52,9 @@
 #include <sys/types.h>
 #include <string.h>
 
+unsigned long int md_htonl(unsigned long int x);
+unsigned long int md_ntohl(unsigned long int x);
+
 #ifdef DEBUG
 # include <stdio.h>
 #endif