view rogue3/machdep.h @ 83:09db0cf536af

Properly handle invalid room references in savefiles. In all games, rs_write_room_reference() stored -1 for a nonexistent room, but rs_read_room_reference() did not check for out-of-bounds values, leading to pointers to rooms[-1], which sometimes caused crashes. rs_read_room_reference() has now been modified to use NULL instead. Some of the games required further changes to replace NULL with the pointer to the actual room. Others are capable of handling NULL for objects not in any room.
author John "Elwin" Edwards
date Thu, 08 Aug 2013 12:41:35 -0700
parents c6d58901ddc0
children 07c4d4883ef2
line wrap: on
line source

/*
 * machine dependicies
 *
 * %G% (Berkeley) %W%
 *
 * Rogue: Exploring the Dungeons of Doom
 * Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman
 * All rights reserved.
 *
 * See the file LICENSE.TXT for full copyright and licensing information.
 */

/*
 * Variables for checking to make sure the system isn't too loaded
 * for people to play
 */
/* Comment out MAXLOAD or MAXUSERS to disable a check */

#define AUTHORUID        0
#define	MAXUSERS	25	/* max number of users for this game */
#define	MAXLOAD		40	/* 10 * max 15 minute load average */
#define	CHECKTIME	15	/* number of minutes between load checks */

/* Locations of various files.  Comment out to disable. */
/* The list of top ten scores. */
#define SCOREFILE "/var/local/games/roguelike/rogue3.scr"
/* A text file with a record of every game. */
#define LOGFILE   "/var/local/games/roguelike/rogue3.log"
/* A standard location for saved games. */
#define SAVEDIR   "/var/local/games/roguelike/rogue3save/"