Advanced Rogue 7: convert to ANSI-style function declarations.
Almost 1500 lines of compiler warnings remain, and the GCC developers are already working on a new version with even more warnings turned on by default.
This commit is contained in:
parent
f38b2223c8
commit
e8e6e604c3
39 changed files with 1181 additions and 889 deletions
|
|
@ -18,12 +18,21 @@
|
|||
#include "rogue.h"
|
||||
#define MAXINT INT_MAX
|
||||
#define MININT INT_MIN
|
||||
|
||||
void m_breathe(struct thing *tp);
|
||||
void m_select(struct thing *th, bool flee);
|
||||
void m_sonic(struct thing *tp);
|
||||
void m_spell(struct thing *tp);
|
||||
void m_summon(struct thing *tp);
|
||||
bool m_use_it(struct thing *tp, bool flee, struct room *rer, struct room *ree);
|
||||
bool m_use_pack(struct thing *monster, coord *monst_pos, coord *defend_pos,
|
||||
int dist, coord *shoot_dir);
|
||||
|
||||
/*
|
||||
* Did we disrupt a spell?
|
||||
*/
|
||||
dsrpt_monster(tp, always, see_him)
|
||||
register struct thing *tp;
|
||||
bool always, see_him;
|
||||
void
|
||||
dsrpt_monster(struct thing *tp, bool always, bool see_him)
|
||||
{
|
||||
switch (tp->t_action) {
|
||||
case A_SUMMON:
|
||||
|
|
@ -52,7 +61,8 @@ bool always, see_him;
|
|||
}
|
||||
}
|
||||
|
||||
dsrpt_player()
|
||||
void
|
||||
dsrpt_player(void)
|
||||
{
|
||||
int which, action;
|
||||
struct linked_list *item;
|
||||
|
|
@ -81,7 +91,7 @@ dsrpt_player()
|
|||
if (purse > 0) {
|
||||
msg("Your gold goes flying everywhere!");
|
||||
do {
|
||||
item = spec_item(GOLD, NULL, NULL, NULL);
|
||||
item = spec_item(GOLD, 0, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_count = min(purse, rnd(10)+1);
|
||||
purse -= obj->o_count;
|
||||
|
|
@ -120,8 +130,8 @@ dsrpt_player()
|
|||
* Otherwise, let it perform its chosen action.
|
||||
*/
|
||||
|
||||
m_act(tp)
|
||||
register struct thing *tp;
|
||||
void
|
||||
m_act(struct thing *tp)
|
||||
{
|
||||
struct object *obj;
|
||||
bool flee; /* Are we scared? */
|
||||
|
|
@ -235,8 +245,8 @@ register struct thing *tp;
|
|||
* Breathe in the chosen direction.
|
||||
*/
|
||||
|
||||
m_breathe(tp)
|
||||
register struct thing *tp;
|
||||
void
|
||||
m_breathe(struct thing *tp)
|
||||
{
|
||||
register int damage;
|
||||
register char *breath = "";
|
||||
|
|
@ -344,11 +354,11 @@ register struct thing *tp;
|
|||
/*
|
||||
* m_select:
|
||||
* Select an action for the monster.
|
||||
* flee: True if running away or player is inaccessible in wall
|
||||
*/
|
||||
|
||||
m_select(th, flee)
|
||||
register struct thing *th;
|
||||
register bool flee; /* True if running away or player is inaccessible in wall */
|
||||
void
|
||||
m_select(struct thing *th, bool flee)
|
||||
{
|
||||
register struct room *rer, *ree; /* room of chaser, room of chasee */
|
||||
int dist = MININT;
|
||||
|
|
@ -486,8 +496,8 @@ register bool flee; /* True if running away or player is inaccessible in wall */
|
|||
* The monster is sounding a sonic blast.
|
||||
*/
|
||||
|
||||
m_sonic(tp)
|
||||
register struct thing *tp;
|
||||
void
|
||||
m_sonic(struct thing *tp)
|
||||
{
|
||||
register int damage;
|
||||
static struct object blast =
|
||||
|
|
@ -515,8 +525,8 @@ register struct thing *tp;
|
|||
* The monster casts a spell. Currently this is limited to
|
||||
* magic missile.
|
||||
*/
|
||||
m_spell(tp)
|
||||
register struct thing *tp;
|
||||
void
|
||||
m_spell(struct thing *tp)
|
||||
{
|
||||
static struct object missile =
|
||||
{
|
||||
|
|
@ -538,8 +548,8 @@ register struct thing *tp;
|
|||
* Summon aid.
|
||||
*/
|
||||
|
||||
m_summon(tp)
|
||||
register struct thing *tp;
|
||||
void
|
||||
m_summon(struct thing *tp)
|
||||
{
|
||||
register char *helpname, *mname;
|
||||
int fail, numsum;
|
||||
|
|
@ -612,10 +622,7 @@ register struct thing *tp;
|
|||
*/
|
||||
|
||||
bool
|
||||
m_use_it(tp, flee, rer, ree)
|
||||
register struct thing *tp;
|
||||
bool flee;
|
||||
register struct room *rer, *ree;
|
||||
m_use_it(struct thing *tp, bool flee, struct room *rer, struct room *ree)
|
||||
{
|
||||
int dist;
|
||||
register coord *ee = tp->t_dest, *er = &tp->t_pos;
|
||||
|
|
@ -777,14 +784,15 @@ register struct room *rer, *ree;
|
|||
/*
|
||||
* runners:
|
||||
* Make all the awake monsters try to do something.
|
||||
* segments: Number of segments since last called
|
||||
*/
|
||||
|
||||
runners(segments)
|
||||
int segments; /* Number of segments since last called */
|
||||
int
|
||||
runners(int segments)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
register struct thing *tp = NULL;
|
||||
register min_time = 20; /* Minimum time until a monster can act */
|
||||
register int min_time = 20; /* Minimum time until a monster can act */
|
||||
|
||||
/*
|
||||
* loop thru the list of running (wandering) monsters and see what
|
||||
|
|
@ -870,11 +878,8 @@ int segments; /* Number of segments since last called */
|
|||
* Only care about relics and wands for now.
|
||||
*/
|
||||
bool
|
||||
m_use_pack(monster, monst_pos, defend_pos, dist, shoot_dir)
|
||||
register struct thing *monster;
|
||||
register coord *monst_pos, *defend_pos;
|
||||
register int dist;
|
||||
register coord *shoot_dir;
|
||||
m_use_pack(struct thing *monster, coord *monst_pos, coord *defend_pos,
|
||||
int dist, coord *shoot_dir)
|
||||
{
|
||||
register struct object *obj;
|
||||
register struct linked_list *pitem, *relic, *stick;
|
||||
|
|
|
|||
|
|
@ -19,11 +19,13 @@
|
|||
|
||||
#include <ctype.h>
|
||||
#include <limits.h>
|
||||
#include <stdlib.h>
|
||||
#include "curses.h"
|
||||
#include "rogue.h"
|
||||
#define MAXINT INT_MAX
|
||||
#define MININT INT_MIN
|
||||
|
||||
bool straight_shot(int ery, int erx, int eey, int eex, coord *shooting);
|
||||
|
||||
/*
|
||||
* Canblink checks if the monster can teleport (blink). If so, it will
|
||||
|
|
@ -31,8 +33,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 */
|
||||
|
|
@ -127,8 +128,7 @@ register struct thing *tp;
|
|||
*/
|
||||
|
||||
coord *
|
||||
can_shoot(er, ee)
|
||||
register coord *er, *ee;
|
||||
can_shoot(coord *er, coord *ee)
|
||||
{
|
||||
static coord shoot_dir;
|
||||
|
||||
|
|
@ -147,16 +147,14 @@ register coord *er, *ee;
|
|||
* chase:
|
||||
* Find the spot for the chaser(er) to move closer to the
|
||||
* chasee(ee). Rer is the room of the chaser, and ree is the
|
||||
* room of the creature being chased (chasee).
|
||||
* room of the creature being chased (chasee). Flee is true if
|
||||
* destination (ee) is player and monster is running away
|
||||
* or the player is in a wall and the monster can't get to it
|
||||
*/
|
||||
|
||||
chase(tp, ee, rer, ree, flee)
|
||||
register struct thing *tp;
|
||||
register coord *ee;
|
||||
register struct room *rer, *ree;
|
||||
bool flee; /* True if destination (ee) is player and monster is running away
|
||||
* or the player is in a wall and the monster can't get to it
|
||||
*/
|
||||
void
|
||||
chase(struct thing *tp, coord *ee, struct room *rer, struct room *ree,
|
||||
bool flee)
|
||||
{
|
||||
int dist, thisdist, monst_dist = MAXINT;
|
||||
register coord *er = &tp->t_pos;
|
||||
|
|
@ -494,8 +492,8 @@ bool flee; /* True if destination (ee) is player and monster is running away
|
|||
* Make one thing chase another.
|
||||
*/
|
||||
|
||||
do_chase(th)
|
||||
register struct thing *th;
|
||||
void
|
||||
do_chase(struct thing *th)
|
||||
{
|
||||
register struct room *orig_rer, /* Original room of chaser */
|
||||
*new_room; /* new room of monster */
|
||||
|
|
@ -803,8 +801,7 @@ register struct thing *th;
|
|||
*/
|
||||
|
||||
struct linked_list *
|
||||
get_hurl(tp)
|
||||
register struct thing *tp;
|
||||
get_hurl(struct thing *tp)
|
||||
{
|
||||
struct linked_list *arrow=NULL, *bolt=NULL, *rock=NULL,
|
||||
*spear = NULL, *dagger=NULL, *dart=NULL, *aklad=NULL;
|
||||
|
|
@ -851,9 +848,8 @@ register struct thing *tp;
|
|||
* Set a monster running after something
|
||||
*/
|
||||
|
||||
runto(runner, spot)
|
||||
register struct thing *runner;
|
||||
coord *spot;
|
||||
void
|
||||
runto(struct thing *runner, coord *spot)
|
||||
{
|
||||
if (on(*runner, ISSTONE))
|
||||
return;
|
||||
|
|
@ -881,9 +877,7 @@ coord *spot;
|
|||
*/
|
||||
|
||||
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;
|
||||
|
|
|
|||
|
|
@ -29,12 +29,23 @@
|
|||
extern struct uwdata wdata;
|
||||
#endif
|
||||
|
||||
void display(void);
|
||||
void help(void);
|
||||
void identify(char ch);
|
||||
void d_level(void);
|
||||
void u_level(void);
|
||||
void shell(void);
|
||||
void nameit(void);
|
||||
void namemonst(void);
|
||||
void count_gold(void);
|
||||
|
||||
/*
|
||||
* command:
|
||||
* Process the user commands
|
||||
*/
|
||||
|
||||
command()
|
||||
void
|
||||
command(void)
|
||||
{
|
||||
unsigned char ch;
|
||||
struct linked_list *item;
|
||||
|
|
@ -267,8 +278,8 @@ command()
|
|||
after = FALSE;
|
||||
}
|
||||
when C_COUNT : count_gold();
|
||||
when C_QUAFF : quaff(-1, NULL, NULL, TRUE);
|
||||
when C_READ : read_scroll(-1, NULL, TRUE);
|
||||
when C_QUAFF : quaff(-1, 0, 0, TRUE);
|
||||
when C_READ : read_scroll(-1, 0, TRUE);
|
||||
when C_EAT : eat();
|
||||
when C_WIELD : wield();
|
||||
when C_WEAR : wear();
|
||||
|
|
@ -280,7 +291,7 @@ command()
|
|||
when '>' : after = FALSE; d_level();
|
||||
when '<' : after = FALSE; u_level();
|
||||
when '?' : after = FALSE; help();
|
||||
when '/' : after = FALSE; identify(NULL);
|
||||
when '/' : after = FALSE; identify(0);
|
||||
when C_USE : use_mm(-1);
|
||||
when CTRL('T') :
|
||||
if (player.t_action == A_NIL) {
|
||||
|
|
@ -315,7 +326,7 @@ command()
|
|||
search(FALSE, FALSE);
|
||||
player.t_action = A_NIL;
|
||||
}
|
||||
when C_ZAP : if (!player_zap(NULL, FALSE))
|
||||
when C_ZAP : if (!player_zap(0, FALSE))
|
||||
after=FALSE;
|
||||
when C_PRAY : pray();
|
||||
when C_CHANT : chant();
|
||||
|
|
@ -553,7 +564,8 @@ command()
|
|||
* tell the player what is at a certain coordinates assuming
|
||||
* it can be seen.
|
||||
*/
|
||||
display()
|
||||
void
|
||||
display(void)
|
||||
{
|
||||
coord c;
|
||||
struct linked_list *item;
|
||||
|
|
@ -587,8 +599,7 @@ display()
|
|||
*/
|
||||
|
||||
void
|
||||
quit(sig)
|
||||
int sig;
|
||||
quit(int sig)
|
||||
{
|
||||
/*
|
||||
* Reset the signal in case we got here via an interrupt
|
||||
|
|
@ -628,8 +639,7 @@ int sig;
|
|||
*/
|
||||
|
||||
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 */
|
||||
|
|
@ -641,8 +651,8 @@ int sig;
|
|||
* 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 */
|
||||
|
|
@ -752,7 +762,8 @@ register bool is_thief, door_chime;
|
|||
* Give single character help, or the whole mess if he wants it
|
||||
*/
|
||||
|
||||
help()
|
||||
void
|
||||
help(void)
|
||||
{
|
||||
register struct h_list *strp = helpstr;
|
||||
#ifdef WIZARD
|
||||
|
|
@ -844,8 +855,8 @@ help()
|
|||
* Tell the player what a certain thing is.
|
||||
*/
|
||||
|
||||
identify(ch)
|
||||
register char ch;
|
||||
void
|
||||
identify(char ch)
|
||||
{
|
||||
register char *str;
|
||||
|
||||
|
|
@ -907,6 +918,7 @@ register char ch;
|
|||
* He wants to go down a level
|
||||
*/
|
||||
|
||||
void
|
||||
d_level()
|
||||
{
|
||||
bool no_phase=FALSE;
|
||||
|
|
@ -958,7 +970,8 @@ d_level()
|
|||
* He wants to go up a level
|
||||
*/
|
||||
|
||||
u_level()
|
||||
void
|
||||
u_level(void)
|
||||
{
|
||||
bool no_phase = FALSE;
|
||||
register struct linked_list *item;
|
||||
|
|
@ -1016,7 +1029,8 @@ u_level()
|
|||
* Let him escape for a while
|
||||
*/
|
||||
|
||||
shell()
|
||||
void
|
||||
shell(void)
|
||||
{
|
||||
register char *sh;
|
||||
|
||||
|
|
@ -1050,7 +1064,8 @@ shell()
|
|||
/*
|
||||
* see what we want to name -- an item or a monster.
|
||||
*/
|
||||
nameit()
|
||||
void
|
||||
nameit(void)
|
||||
{
|
||||
char answer;
|
||||
|
||||
|
|
@ -1073,9 +1088,8 @@ nameit()
|
|||
/*
|
||||
* allow a user to call a potion, scroll, or ring something
|
||||
*/
|
||||
nameitem(item, mark)
|
||||
struct linked_list *item;
|
||||
bool mark;
|
||||
void
|
||||
nameitem(struct linked_list *item, bool mark)
|
||||
{
|
||||
register struct object *obj;
|
||||
register char **guess = NULL, *elsewise = NULL;
|
||||
|
|
@ -1161,7 +1175,8 @@ bool mark;
|
|||
|
||||
/* Name a monster */
|
||||
|
||||
namemonst()
|
||||
void
|
||||
namemonst(void)
|
||||
{
|
||||
register struct thing *tp;
|
||||
struct linked_list *item;
|
||||
|
|
@ -1206,7 +1221,8 @@ namemonst()
|
|||
msg("There is no monster there to name.");
|
||||
}
|
||||
|
||||
count_gold()
|
||||
void
|
||||
count_gold(void)
|
||||
{
|
||||
if (player.t_action != C_COUNT) {
|
||||
msg("You take a break to count your money...");
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ int fusecnt = 0;
|
|||
* Find an empty slot in the daemon list
|
||||
*/
|
||||
struct delayed_action *
|
||||
d_slot()
|
||||
d_slot(void)
|
||||
{
|
||||
reg int i;
|
||||
reg struct delayed_action *dev;
|
||||
|
|
@ -60,7 +60,7 @@ d_slot()
|
|||
* Find an empty slot in the fuses list
|
||||
*/
|
||||
struct delayed_action *
|
||||
f_slot()
|
||||
f_slot(void)
|
||||
{
|
||||
reg int i;
|
||||
reg struct delayed_action *dev;
|
||||
|
|
@ -78,8 +78,7 @@ f_slot()
|
|||
* 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;
|
||||
|
|
@ -95,8 +94,8 @@ reg int (*func)();
|
|||
* start_daemon:
|
||||
* Start a daemon, takes a function.
|
||||
*/
|
||||
start_daemon(func, arg, type)
|
||||
reg int arg, type, (*func)();
|
||||
void
|
||||
start_daemon(int (*func)(), int arg, int type)
|
||||
{
|
||||
reg struct delayed_action *dev;
|
||||
|
||||
|
|
@ -115,8 +114,8 @@ reg int arg, type, (*func)();
|
|||
* 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;
|
||||
|
|
@ -142,8 +141,8 @@ reg int (*func)();
|
|||
* 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;
|
||||
|
||||
|
|
@ -163,8 +162,8 @@ reg int flag;
|
|||
* fuse:
|
||||
* Start a fuse to go off in a certain number of turns
|
||||
*/
|
||||
fuse(func, arg, time, type)
|
||||
reg int (*func)(), arg, time, type;
|
||||
void
|
||||
fuse(int (*func)(), int arg, int time, int type)
|
||||
{
|
||||
reg struct delayed_action *wire;
|
||||
|
||||
|
|
@ -183,8 +182,8 @@ reg int (*func)(), arg, time, type;
|
|||
* 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;
|
||||
|
||||
|
|
@ -198,8 +197,8 @@ reg int (*func)(), xtime;
|
|||
* extinguish:
|
||||
* Put out a fuse
|
||||
*/
|
||||
extinguish(func)
|
||||
reg int (*func)();
|
||||
void
|
||||
extinguish(int (*func)())
|
||||
{
|
||||
reg struct delayed_action *wire;
|
||||
|
||||
|
|
@ -217,8 +216,8 @@ reg int (*func)();
|
|||
* do_fuses:
|
||||
* Decrement counters and start needed fuses
|
||||
*/
|
||||
do_fuses(flag)
|
||||
reg int flag;
|
||||
void
|
||||
do_fuses(int flag)
|
||||
{
|
||||
reg struct delayed_action *wire;
|
||||
|
||||
|
|
@ -245,8 +244,9 @@ reg int flag;
|
|||
* activity:
|
||||
* Show wizard number of demaons and memory blocks used
|
||||
*/
|
||||
activity()
|
||||
void
|
||||
activity(void)
|
||||
{
|
||||
msg("Daemons = %d : Fuses = %d : Memory Items = %d : Memory Used = %d",
|
||||
demoncnt,fusecnt,total,md_memused(0));
|
||||
demoncnt,fusecnt,total,md_memused());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,8 +25,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;
|
||||
|
|
@ -108,7 +108,8 @@ register struct thing *tp;
|
|||
* Called when it is time to start rolling for wandering monsters
|
||||
*/
|
||||
|
||||
swander()
|
||||
void
|
||||
swander(void)
|
||||
{
|
||||
start_daemon(rollwand, 0, BEFORE);
|
||||
}
|
||||
|
|
@ -120,7 +121,8 @@ swander()
|
|||
|
||||
int between = 0;
|
||||
|
||||
rollwand()
|
||||
void
|
||||
rollwand(void)
|
||||
{
|
||||
|
||||
if (++between >= 4)
|
||||
|
|
@ -140,7 +142,8 @@ rollwand()
|
|||
/*
|
||||
* 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);
|
||||
|
|
@ -151,7 +154,8 @@ trap_look()
|
|||
* Release the poor player from his confusion
|
||||
*/
|
||||
|
||||
unconfuse()
|
||||
void
|
||||
unconfuse(void)
|
||||
{
|
||||
turn_off(player, ISHUH);
|
||||
msg("You feel less confused now");
|
||||
|
|
@ -162,7 +166,8 @@ unconfuse()
|
|||
* unsee:
|
||||
* He lost his see invisible power
|
||||
*/
|
||||
unsee()
|
||||
void
|
||||
unsee(void)
|
||||
{
|
||||
if (!ISWEARING(R_SEEINVIS)) {
|
||||
turn_off(player, CANSEE);
|
||||
|
|
@ -175,7 +180,8 @@ unsee()
|
|||
* Remove to-hit handicap from player
|
||||
*/
|
||||
|
||||
unstink()
|
||||
void
|
||||
unstink(void)
|
||||
{
|
||||
turn_off(player, HASSTINK);
|
||||
}
|
||||
|
|
@ -185,7 +191,8 @@ unstink()
|
|||
* Player is no longer immune to confusion
|
||||
*/
|
||||
|
||||
unclrhead()
|
||||
void
|
||||
unclrhead(void)
|
||||
{
|
||||
turn_off(player, ISCLEAR);
|
||||
msg("The blue aura about your head fades away.");
|
||||
|
|
@ -196,7 +203,8 @@ unclrhead()
|
|||
* Player can no longer walk through walls
|
||||
*/
|
||||
|
||||
unphase()
|
||||
void
|
||||
unphase(void)
|
||||
{
|
||||
turn_off(player, CANINWALL);
|
||||
msg("Your dizzy feeling leaves you.");
|
||||
|
|
@ -208,7 +216,8 @@ unphase()
|
|||
* Player can no longer fly
|
||||
*/
|
||||
|
||||
land()
|
||||
void
|
||||
land(void)
|
||||
{
|
||||
turn_off(player, ISFLY);
|
||||
msg("You regain your normal weight");
|
||||
|
|
@ -220,7 +229,8 @@ land()
|
|||
* He gets his sight back
|
||||
*/
|
||||
|
||||
sight()
|
||||
void
|
||||
sight(void)
|
||||
{
|
||||
if (on(player, ISBLIND))
|
||||
{
|
||||
|
|
@ -237,8 +247,7 @@ sight()
|
|||
*/
|
||||
|
||||
void
|
||||
res_strength(howmuch)
|
||||
int howmuch;
|
||||
res_strength(int howmuch)
|
||||
{
|
||||
|
||||
/* If lost_str is non-zero, restore that amount of strength,
|
||||
|
|
@ -262,7 +271,8 @@ int howmuch;
|
|||
* End the hasting
|
||||
*/
|
||||
|
||||
nohaste()
|
||||
void
|
||||
nohaste(void)
|
||||
{
|
||||
turn_off(player, ISHASTE);
|
||||
msg("You feel yourself slowing down.");
|
||||
|
|
@ -273,7 +283,8 @@ nohaste()
|
|||
* End the slowing
|
||||
*/
|
||||
|
||||
noslow()
|
||||
void
|
||||
noslow(void)
|
||||
{
|
||||
turn_off(player, ISSLOW);
|
||||
msg("You feel yourself speeding up.");
|
||||
|
|
@ -284,7 +295,8 @@ noslow()
|
|||
* If this gets called, the player has suffocated
|
||||
*/
|
||||
|
||||
suffocate()
|
||||
void
|
||||
suffocate(void)
|
||||
{
|
||||
death(D_SUFFOCATION);
|
||||
}
|
||||
|
|
@ -292,7 +304,8 @@ suffocate()
|
|||
/*
|
||||
* digest the hero's food
|
||||
*/
|
||||
stomach()
|
||||
void
|
||||
stomach(void)
|
||||
{
|
||||
register int oldfood, old_hunger, food_use, i;
|
||||
|
||||
|
|
@ -368,7 +381,8 @@ stomach()
|
|||
/*
|
||||
* daemon for curing the diseased
|
||||
*/
|
||||
cure_disease()
|
||||
void
|
||||
cure_disease(void)
|
||||
{
|
||||
turn_off(player, HASDISEASE);
|
||||
if (off (player, HASINFEST))
|
||||
|
|
@ -380,7 +394,8 @@ cure_disease()
|
|||
* appear:
|
||||
* Become visible again
|
||||
*/
|
||||
appear()
|
||||
void
|
||||
appear(void)
|
||||
{
|
||||
turn_off(player, ISINVIS);
|
||||
PLAYER = VPLAYER;
|
||||
|
|
@ -391,7 +406,8 @@ appear()
|
|||
* dust_appear:
|
||||
* dust of disappearance wears off
|
||||
*/
|
||||
dust_appear()
|
||||
void
|
||||
dust_appear(void)
|
||||
{
|
||||
turn_off(player, ISINVIS);
|
||||
PLAYER = VPLAYER;
|
||||
|
|
@ -402,7 +418,8 @@ dust_appear()
|
|||
* unchoke:
|
||||
* the effects of "dust of choking and sneezing" wear off
|
||||
*/
|
||||
unchoke()
|
||||
void
|
||||
unchoke(void)
|
||||
{
|
||||
if (!find_slot(unconfuse))
|
||||
turn_off(player, ISHUH);
|
||||
|
|
@ -414,8 +431,8 @@ unchoke()
|
|||
/*
|
||||
* 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;
|
||||
|
|
@ -464,7 +481,8 @@ register struct object *obj;
|
|||
* otto's irresistable dance wears off
|
||||
*/
|
||||
|
||||
undance()
|
||||
void
|
||||
undance(void)
|
||||
{
|
||||
turn_off(player, ISDANCE);
|
||||
msg ("Your feet take a break.....whew!");
|
||||
|
|
@ -473,14 +491,16 @@ undance()
|
|||
/*
|
||||
* 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;
|
||||
|
||||
|
|
@ -519,21 +539,24 @@ fumble()
|
|||
/*
|
||||
* 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();
|
||||
}
|
||||
/*
|
||||
* this is called to charge up the quill of Nagrom
|
||||
*/
|
||||
quill_charge()
|
||||
void
|
||||
quill_charge(void)
|
||||
{
|
||||
register struct object *tobj = NULL;
|
||||
register struct linked_list *item;
|
||||
|
|
@ -556,7 +579,8 @@ quill_charge()
|
|||
/*
|
||||
* take the skills away gained (or lost) by the potion of skills
|
||||
*/
|
||||
unskill()
|
||||
void
|
||||
unskill(void)
|
||||
{
|
||||
if (pstats.s_lvladj != 0) {
|
||||
pstats.s_lvl -= pstats.s_lvladj;
|
||||
|
|
@ -569,8 +593,8 @@ unskill()
|
|||
* charge up the cloak of Emori
|
||||
*/
|
||||
|
||||
cloak_charge(obj)
|
||||
register struct object *obj;
|
||||
void
|
||||
cloak_charge(struct object *obj)
|
||||
{
|
||||
if (obj->o_charges < 1)
|
||||
obj->o_charges = 1;
|
||||
|
|
@ -580,7 +604,8 @@ register struct object *obj;
|
|||
* nofire:
|
||||
* He lost his fire resistance
|
||||
*/
|
||||
nofire()
|
||||
void
|
||||
nofire(void)
|
||||
{
|
||||
if (!ISWEARING(R_FIRE)) {
|
||||
turn_off(player, NOFIRE);
|
||||
|
|
@ -592,7 +617,8 @@ nofire()
|
|||
* nocold:
|
||||
* He lost his cold resistance
|
||||
*/
|
||||
nocold()
|
||||
void
|
||||
nocold(void)
|
||||
{
|
||||
if (!ISWEARING(R_WARMTH)) {
|
||||
turn_off(player, NOCOLD);
|
||||
|
|
@ -604,7 +630,8 @@ nocold()
|
|||
* nobolt:
|
||||
* He lost his protection from lightning
|
||||
*/
|
||||
nobolt()
|
||||
void
|
||||
nobolt(void)
|
||||
{
|
||||
turn_off(player, NOBOLT);
|
||||
msg("Your skin looses its bluish tint");
|
||||
|
|
@ -613,8 +640,8 @@ nobolt()
|
|||
* eat_gold:
|
||||
* an artifact eats gold
|
||||
*/
|
||||
eat_gold(obj)
|
||||
register struct object *obj;
|
||||
void
|
||||
eat_gold(struct object *obj)
|
||||
{
|
||||
if (purse == 1)
|
||||
msg("%s demand you find more gold", inv_name(obj, FALSE));
|
||||
|
|
@ -628,36 +655,39 @@ register struct object *obj;
|
|||
/*
|
||||
* give the hero back some spell points
|
||||
*/
|
||||
spell_recovery()
|
||||
void
|
||||
spell_recovery(void)
|
||||
{
|
||||
int time;
|
||||
|
||||
time = SPELLTIME - max(17-pstats.s_intel, 0);
|
||||
time = max(time, 5);
|
||||
if (spell_power > 0) spell_power--;
|
||||
fuse(spell_recovery, NULL, time, AFTER);
|
||||
fuse(spell_recovery, 0, time, AFTER);
|
||||
}
|
||||
/*
|
||||
* give the hero back some prayer points
|
||||
*/
|
||||
prayer_recovery()
|
||||
void
|
||||
prayer_recovery(void)
|
||||
{
|
||||
int time;
|
||||
|
||||
time = SPELLTIME - max(17-pstats.s_wisdom, 0);
|
||||
time = max(time, 5);
|
||||
if (pray_time > 0) pray_time--;
|
||||
fuse(prayer_recovery, NULL, time, AFTER);
|
||||
fuse(prayer_recovery, 0, time, AFTER);
|
||||
}
|
||||
/*
|
||||
* give the hero back some chant points
|
||||
*/
|
||||
chant_recovery()
|
||||
void
|
||||
chant_recovery(void)
|
||||
{
|
||||
int time;
|
||||
|
||||
time = SPELLTIME - max(17-pstats.s_wisdom, 0);
|
||||
time = max(time, 5);
|
||||
if (chant_time > 0) chant_time--;
|
||||
fuse(chant_recovery, NULL, time, AFTER);
|
||||
fuse(chant_recovery, 0, time, AFTER);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,8 @@
|
|||
* He wants to eat something, so let him try
|
||||
*/
|
||||
|
||||
eat()
|
||||
void
|
||||
eat(void)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
int which;
|
||||
|
|
|
|||
|
|
@ -21,11 +21,9 @@
|
|||
* Check for effects of one thing hitting another thing. Return
|
||||
* the reason code if the defender is killed. Otherwise return 0.
|
||||
*/
|
||||
effect(att, def, weap, thrown, see_att, see_def)
|
||||
register struct thing *att, *def;
|
||||
struct object *weap;
|
||||
bool thrown;
|
||||
register bool see_att, see_def;
|
||||
int
|
||||
effect(struct thing *att, struct thing *def, struct object *weap, bool thrown,
|
||||
bool see_att, bool see_def)
|
||||
{
|
||||
register bool att_player, def_player;
|
||||
char attname[LINELEN+1], defname[LINELEN+1];
|
||||
|
|
|
|||
|
|
@ -20,13 +20,14 @@
|
|||
#include "curses.h"
|
||||
#include "rogue.h"
|
||||
|
||||
int packweight(struct thing *tp);
|
||||
|
||||
/*
|
||||
* updpack:
|
||||
* Update his pack weight and adjust fooduse accordingly
|
||||
*/
|
||||
updpack(getmax, tp)
|
||||
int getmax;
|
||||
struct thing *tp;
|
||||
void
|
||||
updpack(int getmax, struct thing *tp)
|
||||
{
|
||||
|
||||
reg int topcarry, curcarry;
|
||||
|
|
@ -55,8 +56,8 @@ struct thing *tp;
|
|||
* packweight:
|
||||
* Get the total weight of the hero's pack
|
||||
*/
|
||||
packweight(tp)
|
||||
register struct thing *tp;
|
||||
int
|
||||
packweight(struct thing *tp)
|
||||
{
|
||||
reg struct object *obj;
|
||||
reg struct linked_list *pc;
|
||||
|
|
@ -92,8 +93,8 @@ register struct thing *tp;
|
|||
* itemweight:
|
||||
* Get the weight of an object
|
||||
*/
|
||||
itemweight(wh)
|
||||
reg struct object *wh;
|
||||
int
|
||||
itemweight(struct object *wh)
|
||||
{
|
||||
reg int weight;
|
||||
reg int ac;
|
||||
|
|
@ -123,8 +124,8 @@ reg struct object *wh;
|
|||
* playenc:
|
||||
* Get hero's carrying ability above norm
|
||||
*/
|
||||
playenc(tp)
|
||||
register struct thing *tp;
|
||||
int
|
||||
playenc(struct thing *tp)
|
||||
{
|
||||
register int strength;
|
||||
|
||||
|
|
@ -139,8 +140,8 @@ register struct thing *tp;
|
|||
* totalenc:
|
||||
* Get total weight that the hero can carry
|
||||
*/
|
||||
totalenc(tp)
|
||||
register struct thing *tp;
|
||||
int
|
||||
totalenc(struct thing *tp)
|
||||
{
|
||||
reg int wtotal;
|
||||
|
||||
|
|
@ -162,11 +163,11 @@ register struct thing *tp;
|
|||
* 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) {
|
||||
|
|
@ -201,7 +202,8 @@ wghtchk()
|
|||
* -1 hit for heavy pack weight
|
||||
*/
|
||||
|
||||
hitweight()
|
||||
int
|
||||
hitweight(void)
|
||||
{
|
||||
return(2 - foodlev);
|
||||
}
|
||||
|
|
|
|||
132
arogue7/fight.c
132
arogue7/fight.c
|
|
@ -20,9 +20,18 @@
|
|||
#include "curses.h"
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "rogue.h"
|
||||
|
||||
int hit(struct object *weapon, bool see_att, bool see_def, char *er, char *ee, bool back_stab, bool thrown, bool short_msg);
|
||||
bool roll_em(struct thing *att_er, struct thing *def_er, struct object *weap,
|
||||
bool hurl, struct object *cur_weapon, bool back_stab);
|
||||
void hit(struct object *weapon, bool see_att, bool see_def, char *er, char *ee,
|
||||
bool back_stab, bool thrown, bool short_msg);
|
||||
void miss(struct object *weapon, bool see_att, bool see_def, char *er, char *ee,
|
||||
bool thrown, bool short_msg);
|
||||
int add_dam(short str);
|
||||
int hung_dam(void);
|
||||
|
||||
#define CONF_DAMAGE -1
|
||||
#define PARAL_DAMAGE -2
|
||||
#define DEST_DAMAGE -3
|
||||
|
|
@ -31,9 +40,8 @@ int hit(struct object *weapon, bool see_att, bool see_def, char *er, char *ee, b
|
|||
/*
|
||||
* returns true if player has a any chance to hit the monster
|
||||
*/
|
||||
player_can_hit(tp, weap)
|
||||
register struct thing *tp;
|
||||
register struct object *weap;
|
||||
bool
|
||||
player_can_hit(struct thing *tp, struct object *weap)
|
||||
{
|
||||
if (off(*tp, CMAGICHIT) && off(*tp, BMAGICHIT) && off(*tp, MAGICHIT))
|
||||
return(TRUE);
|
||||
|
|
@ -61,10 +69,8 @@ register struct object *weap;
|
|||
* 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;
|
||||
|
|
@ -225,10 +231,8 @@ bool thrown;
|
|||
* The monster attacks the player
|
||||
*/
|
||||
|
||||
attack(mp, weapon, thrown)
|
||||
register struct thing *mp;
|
||||
register struct object *weapon;
|
||||
bool thrown;
|
||||
bool
|
||||
attack(struct thing *mp, struct object *weapon, bool thrown)
|
||||
{
|
||||
register char *mname;
|
||||
register bool see_att, did_hit = FALSE;
|
||||
|
|
@ -301,9 +305,8 @@ bool thrown;
|
|||
* 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;
|
||||
|
|
@ -323,12 +326,9 @@ int at_lvl, op_arm, wplus;
|
|||
* 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;
|
||||
|
|
@ -700,9 +700,7 @@ bool back_stab;
|
|||
*/
|
||||
|
||||
char *
|
||||
prname(who, upper)
|
||||
register char *who;
|
||||
bool upper;
|
||||
prname(char *who, bool upper)
|
||||
{
|
||||
static char tbuf[LINELEN];
|
||||
|
||||
|
|
@ -727,11 +725,9 @@ bool upper;
|
|||
* Print a message to indicate a succesful hit
|
||||
*/
|
||||
|
||||
hit(weapon, see_att, see_def, er, ee, back_stab, thrown, short_msg)
|
||||
register struct object *weapon;
|
||||
bool see_att, see_def;
|
||||
register char *er, *ee;
|
||||
bool back_stab, thrown, short_msg;
|
||||
void
|
||||
hit(struct object *weapon, bool see_att, bool see_def, char *er, char *ee,
|
||||
bool back_stab, bool thrown, bool short_msg)
|
||||
{
|
||||
register char *s = "";
|
||||
char att_name[LINELEN], /* Name of attacker */
|
||||
|
|
@ -791,11 +787,9 @@ bool back_stab, thrown, short_msg;
|
|||
* Print a message to indicate a poor swing
|
||||
*/
|
||||
|
||||
miss(weapon, see_att, see_def, er, ee, thrown, short_msg)
|
||||
register struct object *weapon;
|
||||
bool see_att, see_def;
|
||||
register char *er, *ee;
|
||||
bool thrown, short_msg;
|
||||
void
|
||||
miss(struct object *weapon, bool see_att, bool see_def, char *er, char *ee,
|
||||
bool thrown, bool short_msg)
|
||||
{
|
||||
register char *s = "";
|
||||
char
|
||||
|
|
@ -836,8 +830,8 @@ bool thrown, short_msg;
|
|||
* 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);
|
||||
}
|
||||
|
|
@ -848,8 +842,8 @@ register int dexterity;
|
|||
* compute armor class bonus for dexterity
|
||||
*/
|
||||
|
||||
dext_prot(dexterity)
|
||||
register int dexterity;
|
||||
int
|
||||
dext_prot(int dexterity)
|
||||
{
|
||||
return ((dexterity-10)/2);
|
||||
}
|
||||
|
|
@ -858,8 +852,8 @@ register int dexterity;
|
|||
* 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);
|
||||
}
|
||||
|
|
@ -869,8 +863,8 @@ register short str;
|
|||
* 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);
|
||||
}
|
||||
|
|
@ -879,7 +873,8 @@ register short str;
|
|||
* hung_dam:
|
||||
* Calculate damage depending on players hungry state
|
||||
*/
|
||||
hung_dam()
|
||||
int
|
||||
hung_dam(void)
|
||||
{
|
||||
reg int howmuch;
|
||||
|
||||
|
|
@ -897,12 +892,11 @@ hung_dam()
|
|||
/*
|
||||
* thunk:
|
||||
* A missile hits a monster
|
||||
* tp: defender
|
||||
*/
|
||||
|
||||
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)
|
||||
{
|
||||
char *def_name; /* Name of defender */
|
||||
|
||||
|
|
@ -924,10 +918,8 @@ register char *mname;
|
|||
* 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 */
|
||||
|
||||
|
|
@ -947,12 +939,11 @@ register char *mname;
|
|||
/*
|
||||
* bounce:
|
||||
* A missile misses a monster
|
||||
* tp: defender
|
||||
*/
|
||||
|
||||
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)
|
||||
{
|
||||
char *def_name; /* Name of defender */
|
||||
|
||||
|
|
@ -974,10 +965,8 @@ register char *mname;
|
|||
* 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 */
|
||||
|
||||
|
|
@ -1001,8 +990,8 @@ register char *mname;
|
|||
* Returns true if an object radiates magic
|
||||
*/
|
||||
|
||||
is_magic(obj)
|
||||
register struct object *obj;
|
||||
bool
|
||||
is_magic(struct object *obj)
|
||||
{
|
||||
switch (obj->o_type)
|
||||
{
|
||||
|
|
@ -1028,9 +1017,8 @@ register struct object *obj;
|
|||
|
||||
int chance = 0;/* cumulative chance for goodies to loose it */
|
||||
|
||||
killed(item, pr, points, treasure)
|
||||
register struct linked_list *item;
|
||||
bool pr, points, treasure;
|
||||
void
|
||||
killed(struct linked_list *item, bool pr, bool points, bool treasure)
|
||||
{
|
||||
register struct thing *tp, *mp;
|
||||
register struct linked_list *pitem, *nexti, *mitem;
|
||||
|
|
@ -1137,9 +1125,7 @@ bool pr, points, treasure;
|
|||
*/
|
||||
|
||||
struct linked_list *
|
||||
wield_weap(thrown, mp)
|
||||
struct object *thrown;
|
||||
struct thing *mp;
|
||||
wield_weap(struct object *thrown, struct thing *mp)
|
||||
{
|
||||
int look_for, /* The projectile weapon we are looking for */
|
||||
new_rate, /* The rating of a prospective weapon */
|
||||
|
|
@ -1220,8 +1206,9 @@ struct thing *mp;
|
|||
|
||||
return(candidate);
|
||||
}
|
||||
explode(tp)
|
||||
register struct thing *tp;
|
||||
|
||||
void
|
||||
explode(struct thing *tp)
|
||||
{
|
||||
|
||||
register int x,y, damage;
|
||||
|
|
@ -1275,11 +1262,8 @@ register struct thing *tp;
|
|||
* Called when one monster attacks another monster.
|
||||
*/
|
||||
|
||||
skirmish(attacker, mp, weap, thrown)
|
||||
register struct thing *attacker;
|
||||
register coord *mp;
|
||||
struct object *weap;
|
||||
bool thrown;
|
||||
bool
|
||||
skirmish(struct thing *attacker, coord *mp, struct object *weap, bool thrown)
|
||||
{
|
||||
register struct thing *defender;
|
||||
register struct linked_list *item;
|
||||
|
|
|
|||
|
|
@ -117,10 +117,8 @@ static bool used[MAX3(NCOLORS, NSTONES, NWOOD)];
|
|||
* 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;
|
||||
|
||||
|
|
@ -140,7 +138,8 @@ register int bound;
|
|||
* Initialize the potion color scheme for this time
|
||||
*/
|
||||
|
||||
init_colors()
|
||||
void
|
||||
init_colors(void)
|
||||
{
|
||||
register int i, j;
|
||||
|
||||
|
|
@ -166,7 +165,8 @@ init_colors()
|
|||
* do any initialization for food
|
||||
*/
|
||||
|
||||
init_foods()
|
||||
void
|
||||
init_foods(void)
|
||||
{
|
||||
register int i;
|
||||
|
||||
|
|
@ -182,7 +182,8 @@ init_foods()
|
|||
* Initialize the construction materials for wands and staffs
|
||||
*/
|
||||
|
||||
init_materials()
|
||||
void
|
||||
init_materials(void)
|
||||
{
|
||||
register int i, j;
|
||||
register char *str;
|
||||
|
|
@ -232,7 +233,8 @@ init_materials()
|
|||
* do any initialization for miscellaneous magic
|
||||
*/
|
||||
|
||||
init_misc()
|
||||
void
|
||||
init_misc(void)
|
||||
{
|
||||
register int i;
|
||||
|
||||
|
|
@ -250,7 +252,8 @@ init_misc()
|
|||
* Generate the names of the various scrolls
|
||||
*/
|
||||
|
||||
init_names()
|
||||
void
|
||||
init_names(void)
|
||||
{
|
||||
register int nsyl;
|
||||
register char *cp, *sp;
|
||||
|
|
@ -287,7 +290,8 @@ init_names()
|
|||
* roll up the rogue
|
||||
*/
|
||||
|
||||
init_player()
|
||||
void
|
||||
init_player(void)
|
||||
{
|
||||
int stat_total, round, minimum, maximum, ch, i, j;
|
||||
short do_escape, *our_stats[NUMABILITIES-1];
|
||||
|
|
@ -587,7 +591,8 @@ init_player()
|
|||
* Initialize the ring stone setting scheme for this time
|
||||
*/
|
||||
|
||||
init_stones()
|
||||
void
|
||||
init_stones(void)
|
||||
{
|
||||
register int i, j;
|
||||
|
||||
|
|
@ -613,7 +618,8 @@ init_stones()
|
|||
* init_things
|
||||
* Initialize the probabilities for types of things
|
||||
*/
|
||||
init_things()
|
||||
void
|
||||
init_things(void)
|
||||
{
|
||||
register struct magic_item *mp;
|
||||
|
||||
|
|
|
|||
63
arogue7/io.c
63
arogue7/io.c
|
|
@ -30,7 +30,10 @@
|
|||
static char msgbuf[BUFSIZ];
|
||||
static int newpos = 0;
|
||||
|
||||
void doadd(char *fmt, va_list ap);
|
||||
|
||||
/*VARARGS1*/
|
||||
void
|
||||
msg(char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
|
@ -58,6 +61,7 @@ msg(char *fmt, ...)
|
|||
/*
|
||||
* add things to the current message
|
||||
*/
|
||||
void
|
||||
addmsg(char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
|
@ -71,7 +75,8 @@ addmsg(char *fmt, ...)
|
|||
* 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)
|
||||
{
|
||||
/* Needed to track where we are for 5.0 (PC) curses */
|
||||
register int x, y;
|
||||
|
|
@ -111,6 +116,7 @@ endmsg()
|
|||
draw(msgw);
|
||||
}
|
||||
|
||||
void
|
||||
doadd(char *fmt, va_list ap)
|
||||
{
|
||||
|
||||
|
|
@ -127,9 +133,8 @@ doadd(char *fmt, va_list ap)
|
|||
* 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;
|
||||
|
|
@ -188,7 +193,8 @@ register struct thing *flgptr;
|
|||
* returns true if it is ok for type to shoot over ch
|
||||
*/
|
||||
|
||||
shoot_ok(ch)
|
||||
bool
|
||||
shoot_ok(char ch)
|
||||
{
|
||||
switch (ch)
|
||||
{
|
||||
|
|
@ -209,7 +215,8 @@ shoot_ok(ch)
|
|||
* getchar.
|
||||
*/
|
||||
|
||||
readchar()
|
||||
int
|
||||
readchar(void)
|
||||
{
|
||||
int ch;
|
||||
|
||||
|
|
@ -227,10 +234,11 @@ readchar()
|
|||
/*
|
||||
* status:
|
||||
* Display the important stats line. Keep the cursor where it was.
|
||||
* display: if 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, ox, temp;
|
||||
|
|
@ -358,8 +366,8 @@ line_two:
|
|||
* wait_for
|
||||
* Sit around until the guy types the right key
|
||||
*/
|
||||
wait_for(ch)
|
||||
register char ch;
|
||||
void
|
||||
wait_for(char ch)
|
||||
{
|
||||
register char c;
|
||||
|
||||
|
|
@ -383,10 +391,9 @@ register char ch;
|
|||
* typed and then redraw the starting screen.
|
||||
*/
|
||||
|
||||
over_win(oldwin, newin, maxy, maxx, cursory, cursorx, redraw)
|
||||
WINDOW *oldwin, *newin;
|
||||
int maxy, maxx, cursory, cursorx;
|
||||
char redraw;
|
||||
void
|
||||
over_win(WINDOW *oldwin, WINDOW *newin, int maxy, int maxx, int cursory,
|
||||
int cursorx, char redraw)
|
||||
{
|
||||
static char blanks[LINELEN+1];
|
||||
register int line, i;
|
||||
|
|
@ -436,9 +443,8 @@ char redraw;
|
|||
* 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);
|
||||
|
|
@ -453,9 +459,8 @@ char *message;
|
|||
* 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);
|
||||
|
|
@ -467,8 +472,8 @@ char *message;
|
|||
* restscr:
|
||||
* Restores the screen to the terminal
|
||||
*/
|
||||
restscr(scr)
|
||||
WINDOW *scr;
|
||||
void
|
||||
restscr(WINDOW *scr)
|
||||
{
|
||||
clearok(scr,TRUE);
|
||||
touchwin(scr);
|
||||
|
|
@ -481,10 +486,7 @@ WINDOW *scr;
|
|||
*/
|
||||
|
||||
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 */
|
||||
|
|
@ -519,12 +521,13 @@ FILE *stream;
|
|||
/*
|
||||
* 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 */
|
||||
|
|
|
|||
|
|
@ -21,13 +21,16 @@
|
|||
#include <stdlib.h>
|
||||
#include "rogue.h"
|
||||
|
||||
void r_discard(struct linked_list *item);
|
||||
void t_discard(struct linked_list *item);
|
||||
|
||||
/*
|
||||
* detach:
|
||||
* Takes an item out of whatever linked list it might be in
|
||||
*/
|
||||
|
||||
_detach(list, item)
|
||||
register struct linked_list **list, *item;
|
||||
void
|
||||
_detach(struct linked_list **list, struct linked_list *item)
|
||||
{
|
||||
if (*list == item)
|
||||
*list = next(item);
|
||||
|
|
@ -42,8 +45,8 @@ register struct linked_list **list, *item;
|
|||
* add an item to the head of a list
|
||||
*/
|
||||
|
||||
_attach(list, item)
|
||||
register struct linked_list **list, *item;
|
||||
void
|
||||
_attach(struct linked_list **list, struct linked_list *item)
|
||||
{
|
||||
if (*list != NULL)
|
||||
{
|
||||
|
|
@ -65,8 +68,8 @@ register struct linked_list **list, *item;
|
|||
* Throw the whole object list away
|
||||
*/
|
||||
|
||||
_o_free_list(ptr)
|
||||
register struct linked_list **ptr;
|
||||
void
|
||||
_o_free_list(struct linked_list **ptr)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
|
||||
|
|
@ -83,8 +86,8 @@ register struct linked_list **ptr;
|
|||
* 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;
|
||||
|
||||
|
|
@ -101,8 +104,8 @@ register struct linked_list *item;
|
|||
* Throw the whole list of room exits away
|
||||
*/
|
||||
|
||||
_r_free_list(ptr)
|
||||
register struct linked_list **ptr;
|
||||
void
|
||||
_r_free_list(struct linked_list **ptr)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
|
||||
|
|
@ -119,8 +122,8 @@ register struct linked_list **ptr;
|
|||
* free up an item and its room
|
||||
*/
|
||||
|
||||
r_discard(item)
|
||||
register struct linked_list *item;
|
||||
void
|
||||
r_discard(struct linked_list *item)
|
||||
{
|
||||
total -= 2;
|
||||
FREE(DOORPTR(item));
|
||||
|
|
@ -132,8 +135,8 @@ register struct linked_list *item;
|
|||
* 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;
|
||||
|
||||
|
|
@ -150,8 +153,8 @@ register struct linked_list **ptr;
|
|||
* free up an item and its thing
|
||||
*/
|
||||
|
||||
t_discard(item)
|
||||
register struct linked_list *item;
|
||||
void
|
||||
t_discard(struct linked_list *item)
|
||||
{
|
||||
register struct thing *tp;
|
||||
|
||||
|
|
@ -167,8 +170,8 @@ register struct linked_list *item;
|
|||
* 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);
|
||||
|
|
@ -180,8 +183,7 @@ register struct linked_list *item;
|
|||
*/
|
||||
|
||||
struct linked_list *
|
||||
new_item(size)
|
||||
int size;
|
||||
new_item(int size)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
|
||||
|
|
@ -199,7 +201,7 @@ int size;
|
|||
*/
|
||||
|
||||
struct linked_list *
|
||||
creat_item()
|
||||
creat_item(void)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
|
||||
|
|
@ -210,8 +212,7 @@ creat_item()
|
|||
}
|
||||
|
||||
char *
|
||||
new(size)
|
||||
int size;
|
||||
new(int size)
|
||||
{
|
||||
register char *space = ALLOC(size);
|
||||
static char errbuf[LINELEN];
|
||||
|
|
|
|||
|
|
@ -32,10 +32,19 @@ extern char oldtext[WTXTNUM][WTXTLEN];
|
|||
#endif
|
||||
|
||||
void open_records(void);
|
||||
bool too_much(void);
|
||||
bool author(void);
|
||||
void chmsg(char *fmt, int arg);
|
||||
#ifdef MAXPROCESSES
|
||||
int loadav(void);
|
||||
#endif
|
||||
#ifdef MAXUSERS
|
||||
int ucount(void);
|
||||
#endif
|
||||
bool holiday(void);
|
||||
|
||||
main(argc, argv, envp)
|
||||
char **argv;
|
||||
char **envp;
|
||||
int
|
||||
main(int argc, char *argv[], char *envp[])
|
||||
{
|
||||
register char *env;
|
||||
int lowtime;
|
||||
|
|
@ -419,8 +428,7 @@ char **envp;
|
|||
*/
|
||||
|
||||
void
|
||||
endit(sig)
|
||||
int sig;
|
||||
endit(int sig)
|
||||
{
|
||||
fatal("Ok, if you want to exit that badly, I'll have to allow it\n");
|
||||
}
|
||||
|
|
@ -430,8 +438,8 @@ int sig;
|
|||
* Exit the program, printing a message.
|
||||
*/
|
||||
|
||||
fatal(s)
|
||||
char *s;
|
||||
void
|
||||
fatal(char *s)
|
||||
{
|
||||
clear();
|
||||
move(lines-2, 0);
|
||||
|
|
@ -449,8 +457,8 @@ char *s;
|
|||
* rnd:
|
||||
* Pick a very random number.
|
||||
*/
|
||||
rnd(range)
|
||||
register int range;
|
||||
int
|
||||
rnd(int range)
|
||||
{
|
||||
return(range <= 0 ? 0 : md_rand() % range);
|
||||
}
|
||||
|
|
@ -460,8 +468,8 @@ register int range;
|
|||
* roll a number of dice
|
||||
*/
|
||||
|
||||
roll(number, sides)
|
||||
register int number, sides;
|
||||
int
|
||||
roll(int number, int sides)
|
||||
{
|
||||
register int dtotal = 0;
|
||||
|
||||
|
|
@ -474,8 +482,7 @@ register int number, sides;
|
|||
* handle stop and start signals
|
||||
*/
|
||||
void
|
||||
tstp(sig)
|
||||
int sig;
|
||||
tstp(int sig)
|
||||
{
|
||||
mvcur(0, cols - 1, lines - 1, 0);
|
||||
endwin();
|
||||
|
|
@ -493,7 +500,8 @@ int sig;
|
|||
}
|
||||
# endif
|
||||
|
||||
setup()
|
||||
void
|
||||
setup(void)
|
||||
{
|
||||
#ifdef CHECKTIME
|
||||
int checkout();
|
||||
|
|
@ -563,7 +571,8 @@ open_records(void)
|
|||
* refreshing things and looking at the proper times.
|
||||
*/
|
||||
|
||||
playit()
|
||||
void
|
||||
playit(void)
|
||||
{
|
||||
register char *opts;
|
||||
|
||||
|
|
@ -585,7 +594,8 @@ playit()
|
|||
/*
|
||||
* see if the system is being used too much for this game
|
||||
*/
|
||||
too_much()
|
||||
bool
|
||||
too_much(void)
|
||||
{
|
||||
#if MAXPROCESSES
|
||||
if (loadav() > MAXPROCESSES)
|
||||
|
|
@ -602,7 +612,8 @@ too_much()
|
|||
* author:
|
||||
* See if a user is an author of the program
|
||||
*/
|
||||
author()
|
||||
bool
|
||||
author(void)
|
||||
{
|
||||
switch (md_getuid()) {
|
||||
#if AUTHOR
|
||||
|
|
@ -653,9 +664,8 @@ 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.
|
||||
*/
|
||||
chmsg(fmt, arg)
|
||||
char *fmt;
|
||||
int arg;
|
||||
void
|
||||
chmsg(char *fmt, int arg)
|
||||
{
|
||||
if (in_shell) {
|
||||
printf(fmt, arg);
|
||||
|
|
@ -671,7 +681,8 @@ int arg;
|
|||
|
||||
#include <fcntl.h>
|
||||
|
||||
loadav()
|
||||
int
|
||||
loadav(void)
|
||||
{
|
||||
char *sarcmd = "sar -v | cut -c17-20 | tail -2";
|
||||
char *gettycmd = "grep getty /etc/inittab | wc -l";
|
||||
|
|
@ -724,7 +735,9 @@ loadav()
|
|||
#include <sys/types.h>
|
||||
#include <utmp.h>
|
||||
struct utmp buf;
|
||||
ucount()
|
||||
|
||||
int
|
||||
ucount(void)
|
||||
{
|
||||
reg struct utmp *up;
|
||||
reg FILE *utmp;
|
||||
|
|
@ -751,7 +764,8 @@ ucount()
|
|||
* holiday:
|
||||
* Returns TRUE when it is a good time to play rogue
|
||||
*/
|
||||
holiday()
|
||||
bool
|
||||
holiday(void)
|
||||
{
|
||||
#ifdef CHECKTIME
|
||||
long now;
|
||||
|
|
|
|||
|
|
@ -30,15 +30,20 @@ static char *frontier,
|
|||
*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 @@ crankout()
|
|||
* domaze:
|
||||
* Draw the maze on this level.
|
||||
*/
|
||||
do_maze()
|
||||
void
|
||||
do_maze(void)
|
||||
{
|
||||
reg int least;
|
||||
reg struct room *rp;
|
||||
|
|
@ -95,7 +101,7 @@ do_maze()
|
|||
/*
|
||||
* 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(5) + 5); /* add in one large hunk */
|
||||
attach(lvl_obj, item);
|
||||
|
|
@ -108,7 +114,7 @@ do_maze()
|
|||
/*
|
||||
* 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 @@ do_maze()
|
|||
* 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 @@ draw_maze()
|
|||
* 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 @@ reg int x, y;
|
|||
* 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 @@ int y, x;
|
|||
*/
|
||||
|
||||
bool
|
||||
maze_view(y, x)
|
||||
int y, x;
|
||||
maze_view(int y, int x)
|
||||
{
|
||||
register int start, goal, delta, ycheck, xcheck, absy, absx, see_radius;
|
||||
register bool row;
|
||||
|
|
@ -341,8 +346,7 @@ int y, x;
|
|||
* Calculate memory address for bits
|
||||
*/
|
||||
char *
|
||||
moffset(y, x)
|
||||
int y, x;
|
||||
moffset(int y, int x)
|
||||
{
|
||||
|
||||
return (bits + (y * (cols - 1)) + x);
|
||||
|
|
@ -355,8 +359,8 @@ int y, x;
|
|||
* 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;
|
||||
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@
|
|||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
|
|
@ -74,7 +75,7 @@
|
|||
#define MOD_MOVE(c) (toupper(c) )
|
||||
|
||||
void
|
||||
md_init()
|
||||
md_init(void)
|
||||
{
|
||||
#ifdef __INTERIX
|
||||
char *term;
|
||||
|
|
@ -107,7 +108,7 @@ md_putchar(int c)
|
|||
static int md_standout_mode = 0;
|
||||
|
||||
int
|
||||
md_raw_standout()
|
||||
md_raw_standout(void)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
|
||||
|
|
@ -130,7 +131,7 @@ md_raw_standout()
|
|||
}
|
||||
|
||||
int
|
||||
md_raw_standend()
|
||||
md_raw_standend(void)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
|
||||
|
|
@ -209,7 +210,7 @@ md_creat(char *file, int mode)
|
|||
|
||||
|
||||
int
|
||||
md_normaluser()
|
||||
md_normaluser(void)
|
||||
{
|
||||
#ifndef _WIN32
|
||||
setuid(getuid());
|
||||
|
|
@ -218,7 +219,7 @@ md_normaluser()
|
|||
}
|
||||
|
||||
int
|
||||
md_getuid()
|
||||
md_getuid(void)
|
||||
{
|
||||
#ifndef _WIN32
|
||||
return( getuid() );
|
||||
|
|
@ -228,7 +229,7 @@ md_getuid()
|
|||
}
|
||||
|
||||
char *
|
||||
md_getusername()
|
||||
md_getusername(void)
|
||||
{
|
||||
static char login[80];
|
||||
char *l = NULL;
|
||||
|
|
@ -263,7 +264,7 @@ md_getusername()
|
|||
}
|
||||
|
||||
char *
|
||||
md_gethomedir()
|
||||
md_gethomedir(void)
|
||||
{
|
||||
static char homedir[PATH_MAX];
|
||||
char *h = NULL;
|
||||
|
|
@ -318,7 +319,7 @@ md_gethomedir()
|
|||
}
|
||||
|
||||
char *
|
||||
md_getshell()
|
||||
md_getshell(void)
|
||||
{
|
||||
static char shell[PATH_MAX];
|
||||
char *s = NULL;
|
||||
|
|
@ -346,7 +347,7 @@ md_getshell()
|
|||
}
|
||||
|
||||
int
|
||||
md_shellescape()
|
||||
md_shellescape(void)
|
||||
{
|
||||
#if (!defined(_WIN32) && !defined(__DJGPP__))
|
||||
int ret_status;
|
||||
|
|
@ -408,7 +409,7 @@ directory_exists(char *dirname)
|
|||
}
|
||||
|
||||
char *
|
||||
md_getroguedir()
|
||||
md_getroguedir(void)
|
||||
{
|
||||
static char path[1024];
|
||||
char *end,*home;
|
||||
|
|
@ -472,8 +473,7 @@ md_crypt(char *key, char *salt)
|
|||
}
|
||||
|
||||
char *
|
||||
md_getpass(prompt)
|
||||
char *prompt;
|
||||
md_getpass(char *prompt)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
static char password_buffer[9];
|
||||
|
|
@ -568,7 +568,7 @@ md_htonl(unsigned long int x)
|
|||
}
|
||||
|
||||
int
|
||||
md_rand()
|
||||
md_rand(void)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
return(rand());
|
||||
|
|
@ -578,8 +578,7 @@ md_rand()
|
|||
}
|
||||
|
||||
int
|
||||
md_srand(seed)
|
||||
register int seed;
|
||||
md_srand(int seed)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
srand(seed);
|
||||
|
|
@ -589,7 +588,7 @@ register int seed;
|
|||
}
|
||||
|
||||
long
|
||||
md_memused()
|
||||
md_memused(void)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
MEMORYSTATUS stat;
|
||||
|
|
@ -603,7 +602,7 @@ md_memused()
|
|||
}
|
||||
|
||||
char *
|
||||
md_gethostname()
|
||||
md_gethostname(void)
|
||||
{
|
||||
static char nodename[80];
|
||||
char *n = NULL;
|
||||
|
|
@ -625,7 +624,7 @@ md_gethostname()
|
|||
}
|
||||
|
||||
int
|
||||
md_erasechar()
|
||||
md_erasechar(void)
|
||||
{
|
||||
#ifdef BSD
|
||||
return(_tty.sg_erase); /* process erase character */
|
||||
|
|
@ -637,7 +636,7 @@ md_erasechar()
|
|||
}
|
||||
|
||||
int
|
||||
md_killchar()
|
||||
md_killchar(void)
|
||||
{
|
||||
#ifdef BSD
|
||||
return(_tty.sg_kill);
|
||||
|
|
@ -654,8 +653,7 @@ md_killchar()
|
|||
*/
|
||||
|
||||
char *
|
||||
md_unctrl(ch)
|
||||
char ch;
|
||||
md_unctrl(char ch)
|
||||
{
|
||||
#if USG5_0
|
||||
extern char *_unctrl[]; /* Defined in curses library */
|
||||
|
|
@ -667,7 +665,7 @@ char ch;
|
|||
}
|
||||
|
||||
void
|
||||
md_flushinp()
|
||||
md_flushinp(void)
|
||||
{
|
||||
#ifdef BSD
|
||||
ioctl(0, TIOCFLUSH);
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
#include "curses.h"
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include "rogue.h"
|
||||
#ifdef PC7300
|
||||
#include "menu.h"
|
||||
|
|
@ -29,8 +30,8 @@
|
|||
* Change the player's class to the specified one.
|
||||
*/
|
||||
|
||||
changeclass(newclass)
|
||||
int newclass;
|
||||
void
|
||||
changeclass(int newclass)
|
||||
{
|
||||
if (newclass == player.t_ctype) {
|
||||
msg("You feel more skillful.");
|
||||
|
|
@ -132,8 +133,8 @@ int newclass;
|
|||
/*
|
||||
* Use the relic that our monster is wielding.
|
||||
*/
|
||||
m_use_relic(monster)
|
||||
register struct thing *monster;
|
||||
void
|
||||
m_use_relic(struct thing *monster)
|
||||
{
|
||||
register struct object *obj;
|
||||
|
||||
|
|
@ -161,7 +162,7 @@ register struct thing *monster;
|
|||
}
|
||||
when EMORI_CLOAK:
|
||||
debug("stunning with Emori's cloak");
|
||||
do_zap(monster, obj, &monster->t_newpos, WS_PARALYZE, NULL);
|
||||
do_zap(monster, obj, &monster->t_newpos, WS_PARALYZE, 0);
|
||||
obj->o_charges = 0;
|
||||
|
||||
when ASMO_ROD: {
|
||||
|
|
@ -228,10 +229,11 @@ register struct thing *monster;
|
|||
|
||||
/*
|
||||
* 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;
|
||||
|
|
@ -256,10 +258,10 @@ register struct linked_list *item; /* the item to put inside */
|
|||
|
||||
/*
|
||||
* 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) {
|
||||
|
|
@ -273,8 +275,8 @@ register struct linked_list *item;
|
|||
}
|
||||
|
||||
|
||||
do_bag(item)
|
||||
register struct linked_list *item;
|
||||
void
|
||||
do_bag(struct linked_list *item)
|
||||
{
|
||||
|
||||
register struct linked_list *titem = NULL;
|
||||
|
|
@ -395,8 +397,9 @@ register struct linked_list *item;
|
|||
}
|
||||
}
|
||||
|
||||
do_panic(who)
|
||||
int who; /* Kind of monster to panic (all if who is NULL) */
|
||||
/* who: Kind of monster to panic (all if who is NULL) */
|
||||
void
|
||||
do_panic(int who)
|
||||
{
|
||||
register int x,y;
|
||||
register struct linked_list *mon, *item;
|
||||
|
|
@ -460,8 +463,7 @@ int who; /* Kind of monster to panic (all if who is NULL) */
|
|||
* print miscellaneous magic bonuses
|
||||
*/
|
||||
char *
|
||||
misc_name(obj)
|
||||
register struct object *obj;
|
||||
misc_name(struct object *obj)
|
||||
{
|
||||
static char buf[LINELEN];
|
||||
char buf1[LINELEN];
|
||||
|
|
@ -523,7 +525,8 @@ register struct object *obj;
|
|||
return buf;
|
||||
}
|
||||
|
||||
use_emori()
|
||||
void
|
||||
use_emori(void)
|
||||
{
|
||||
char selection; /* Cloak function */
|
||||
int state = 0; /* Menu state */
|
||||
|
|
@ -633,8 +636,8 @@ static char Displines[MAXQUILL+1][LINELEN+1]; /* The lines themselves */
|
|||
/*
|
||||
* try to write a scroll with the quill of Nagrom
|
||||
*/
|
||||
use_quill(obj)
|
||||
struct object *obj;
|
||||
void
|
||||
use_quill(struct object *obj)
|
||||
{
|
||||
struct linked_list *item;
|
||||
register int i,
|
||||
|
|
@ -766,7 +769,7 @@ struct object *obj;
|
|||
#endif
|
||||
/* Should we overlay? */
|
||||
if (menu_overlay && MAXQUILL + 3 < lines / 2) {
|
||||
over_win(cw, hw, MAXQUILL + 5, maxlen + 3, 0, curlen, NULL);
|
||||
over_win(cw, hw, MAXQUILL + 5, maxlen + 3, 0, curlen, '\0');
|
||||
}
|
||||
else draw(hw);
|
||||
}
|
||||
|
|
@ -795,7 +798,7 @@ struct object *obj;
|
|||
/* Should we overlay? */
|
||||
if (menu_overlay && MAXQUILL + 3 < lines / 2) {
|
||||
over_win(cw, hw, MAXQUILL + 5, maxlen + 3,
|
||||
0, curlen, NULL);
|
||||
0, curlen, '\0');
|
||||
}
|
||||
else draw(hw);
|
||||
|
||||
|
|
@ -835,8 +838,8 @@ got_scroll:
|
|||
}
|
||||
}
|
||||
|
||||
use_mm(which)
|
||||
int which;
|
||||
void
|
||||
use_mm(int which)
|
||||
{
|
||||
register struct object *obj = NULL;
|
||||
register struct linked_list *item = NULL;
|
||||
|
|
@ -915,7 +918,7 @@ int which;
|
|||
when GERYON_HORN:
|
||||
/* Chase close monsters away */
|
||||
msg("The horn blasts a shrill tone.");
|
||||
do_panic(NULL);
|
||||
do_panic(0);
|
||||
when HEIL_ANKH:
|
||||
case YENDOR_AMULET:
|
||||
case STONEBONES_AMULET:
|
||||
|
|
@ -938,7 +941,7 @@ int which;
|
|||
msg("The jug is empty");
|
||||
break;
|
||||
}
|
||||
quaff (obj->o_ac, NULL, NULL, FALSE);
|
||||
quaff (obj->o_ac, 0, 0, FALSE);
|
||||
obj->o_ac = JUG_EMPTY;
|
||||
fuse (alchemy, obj, ALCHEMYTIME, AFTER);
|
||||
if (!(obj->o_flags & ISKNOW))
|
||||
|
|
@ -1008,7 +1011,7 @@ int which;
|
|||
break;
|
||||
}
|
||||
obj->o_charges--;
|
||||
do_panic(NULL);
|
||||
do_panic(0);
|
||||
/*
|
||||
* dust of disappearance makes the player invisible for a while
|
||||
*/
|
||||
|
|
@ -1124,8 +1127,7 @@ int which;
|
|||
*/
|
||||
|
||||
int
|
||||
usage_time(item)
|
||||
struct linked_list *item;
|
||||
usage_time(struct linked_list *item)
|
||||
{
|
||||
register struct object *obj;
|
||||
register int units = -1;
|
||||
|
|
|
|||
|
|
@ -21,13 +21,14 @@
|
|||
#include "rogue.h"
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
/*
|
||||
* Check_residue takes care of any effect of the monster
|
||||
*/
|
||||
check_residue(tp)
|
||||
register struct thing *tp;
|
||||
void
|
||||
check_residue(struct thing *tp)
|
||||
{
|
||||
/*
|
||||
* Take care of special abilities
|
||||
|
|
@ -71,13 +72,11 @@ register struct thing *tp;
|
|||
|
||||
/*
|
||||
* 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;
|
||||
|
|
@ -132,9 +131,7 @@ bool report;
|
|||
*/
|
||||
|
||||
void
|
||||
genmonsters(least, treas)
|
||||
register int least;
|
||||
bool treas;
|
||||
genmonsters(int least, bool treas)
|
||||
{
|
||||
reg int i;
|
||||
reg struct room *rp = &rooms[0];
|
||||
|
|
@ -180,8 +177,7 @@ bool treas;
|
|||
*/
|
||||
|
||||
short
|
||||
id_monst(monster)
|
||||
register char monster;
|
||||
id_monst(char monster)
|
||||
{
|
||||
register short result;
|
||||
|
||||
|
|
@ -201,11 +197,8 @@ register char monster;
|
|||
* Pick a new monster and add it to the list
|
||||
*/
|
||||
|
||||
new_monster(item, type, cp, max_monster)
|
||||
struct linked_list *item;
|
||||
short type;
|
||||
coord *cp;
|
||||
bool max_monster;
|
||||
void
|
||||
new_monster(struct linked_list *item, short type, coord *cp, bool max_monster)
|
||||
{
|
||||
register struct thing *tp;
|
||||
register struct monster *mp;
|
||||
|
|
@ -415,8 +408,7 @@ bool max_monster;
|
|||
*/
|
||||
|
||||
short
|
||||
randmonster(wander, no_unique)
|
||||
register bool wander, no_unique;
|
||||
randmonster(bool wander, bool no_unique)
|
||||
{
|
||||
register int d, cur_level, range, i;
|
||||
|
||||
|
|
@ -455,8 +447,8 @@ register bool wander, no_unique;
|
|||
* to purchase something.
|
||||
*/
|
||||
|
||||
sell(tp)
|
||||
register struct thing *tp;
|
||||
void
|
||||
sell(struct thing *tp)
|
||||
{
|
||||
register struct linked_list *item, *seller;
|
||||
register struct linked_list *sellpack;
|
||||
|
|
@ -551,8 +543,7 @@ register struct thing *tp;
|
|||
* 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;
|
||||
|
|
@ -749,7 +740,8 @@ int y, x;
|
|||
* A wandering monster has awakened and is headed for the player
|
||||
*/
|
||||
|
||||
wanderer()
|
||||
void
|
||||
wanderer(void)
|
||||
{
|
||||
register int i;
|
||||
register struct room *hr = roomin(&hero);
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
#include "curses.h"
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include "rogue.h"
|
||||
#ifdef PC7300
|
||||
#include "menu.h"
|
||||
|
|
@ -41,9 +42,8 @@ static char Moves[3][3] = {
|
|||
* The guy stepped on a trap.... Make him pay.
|
||||
*/
|
||||
|
||||
be_trapped(th, tc)
|
||||
register struct thing *th;
|
||||
register coord *tc;
|
||||
char
|
||||
be_trapped(struct thing *th, coord *tc)
|
||||
{
|
||||
register struct trap *tp;
|
||||
register char ch, *mname = "";
|
||||
|
|
@ -426,8 +426,7 @@ register coord *tc;
|
|||
*/
|
||||
|
||||
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 */
|
||||
|
|
@ -486,8 +485,8 @@ bool blessed, cursed;
|
|||
* 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 */
|
||||
|
|
@ -564,7 +563,8 @@ int dy, dx;
|
|||
* dip_it:
|
||||
* Dip an object into a magic pool
|
||||
*/
|
||||
dip_it()
|
||||
void
|
||||
dip_it(void)
|
||||
{
|
||||
reg struct linked_list *what;
|
||||
reg struct object *ob;
|
||||
|
|
@ -758,8 +758,8 @@ dip_it()
|
|||
* 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;
|
||||
|
|
@ -1103,8 +1103,8 @@ int dy, dx;
|
|||
* Start the hero running
|
||||
*/
|
||||
|
||||
do_run(ch)
|
||||
char ch;
|
||||
void
|
||||
do_run(char ch)
|
||||
{
|
||||
firstmove = TRUE;
|
||||
running = TRUE;
|
||||
|
|
@ -1119,11 +1119,9 @@ char ch;
|
|||
* 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++)
|
||||
|
|
@ -1140,8 +1138,8 @@ int *dy, *dx;
|
|||
* isatrap:
|
||||
* Returns TRUE if this character is some kind of trap
|
||||
*/
|
||||
isatrap(ch)
|
||||
reg char ch;
|
||||
bool
|
||||
isatrap(char ch)
|
||||
{
|
||||
switch(ch) {
|
||||
case DARTTRAP:
|
||||
|
|
@ -1161,8 +1159,8 @@ reg char ch;
|
|||
* 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;
|
||||
|
|
@ -1338,8 +1336,7 @@ coord *cp;
|
|||
*/
|
||||
|
||||
bool
|
||||
lit_room(rp)
|
||||
register struct room *rp;
|
||||
lit_room(struct room *rp)
|
||||
{
|
||||
register struct linked_list *fire_item;
|
||||
register struct thing *fire_creature;
|
||||
|
|
@ -1376,8 +1373,7 @@ register struct room *rp;
|
|||
*/
|
||||
|
||||
short
|
||||
movement(tp)
|
||||
register struct thing *tp;
|
||||
movement(struct thing *tp)
|
||||
{
|
||||
register int result;
|
||||
register int carry; /* Percentage carried */
|
||||
|
|
@ -1441,8 +1437,7 @@ register struct thing *tp;
|
|||
*/
|
||||
|
||||
coord *
|
||||
rndmove(who)
|
||||
struct thing *who;
|
||||
rndmove(struct thing *who)
|
||||
{
|
||||
register int x, y;
|
||||
register int ex, ey, nopen = 0;
|
||||
|
|
@ -1506,9 +1501,8 @@ static char Displines[TRAPTYPES+1][TRAPWIDTH+TRAPPREFIX+1];
|
|||
* set a trap at (y, x) on screen.
|
||||
*/
|
||||
|
||||
set_trap(tp, y, x)
|
||||
register struct thing *tp;
|
||||
register int y, x;
|
||||
void
|
||||
set_trap(struct thing *tp, int y, int x)
|
||||
{
|
||||
register bool is_player = (tp == &player);
|
||||
register int selection = rnd(TRAPTYPES-WIZARDTRAPS) + '1';
|
||||
|
|
@ -1613,7 +1607,7 @@ register int y, x;
|
|||
* Put out the selection. The longest line is
|
||||
* the prompt line (39 characters long).
|
||||
*/
|
||||
over_win(cw, hw, num_traps + 3, 41, 0, 39, NULL);
|
||||
over_win(cw, hw, num_traps + 3, 41, 0, 39, '\0');
|
||||
else
|
||||
draw(hw);
|
||||
state = 1; /* Now in prompt window */
|
||||
|
|
@ -1673,7 +1667,7 @@ register int y, x;
|
|||
* Put out the selection. The longest line is
|
||||
* the prompt line (43 characters long).
|
||||
*/
|
||||
over_win(cw, hw, num_traps+3, 45, 0, 43, NULL);
|
||||
over_win(cw, hw, num_traps+3, 45, 0, 43, '\0');
|
||||
else
|
||||
draw(hw);
|
||||
}
|
||||
|
|
@ -1743,8 +1737,8 @@ register int y, x;
|
|||
* 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;
|
||||
|
|
@ -1784,8 +1778,7 @@ register int y, x;
|
|||
*/
|
||||
|
||||
struct trap *
|
||||
trap_at(y, x)
|
||||
register int y, x;
|
||||
trap_at(int y, int x)
|
||||
{
|
||||
register struct trap *tp, *ep;
|
||||
|
||||
|
|
@ -1803,11 +1796,12 @@ register int y, x;
|
|||
* Calculate how many segments it will take to swing the given
|
||||
* weapon (note that the weapon may actually be a stick or
|
||||
* even something else).
|
||||
* wielder: Who's wielding the weapon
|
||||
* weap: The weapon
|
||||
*/
|
||||
|
||||
weap_move(wielder, weap)
|
||||
register struct thing *wielder; /* Who's wielding the weapon */
|
||||
register struct object *weap; /* The weapon */
|
||||
int
|
||||
weap_move(struct thing *wielder, struct object *weap)
|
||||
{
|
||||
register int weap_rate;
|
||||
int dexterity;
|
||||
|
|
|
|||
|
|
@ -16,14 +16,16 @@
|
|||
#include "rogue.h"
|
||||
#define TERRASAVE 3
|
||||
|
||||
void put_things(LEVTYPE ltype);
|
||||
|
||||
/*
|
||||
* new_level:
|
||||
* Dig and draw a new level
|
||||
*
|
||||
* ltype: designates type of level to create
|
||||
*/
|
||||
|
||||
new_level(ltype)
|
||||
LEVTYPE ltype; /* designates type of level to create */
|
||||
void
|
||||
new_level(LEVTYPE ltype)
|
||||
{
|
||||
register int rm, i, cnt;
|
||||
register char ch;
|
||||
|
|
@ -434,14 +436,15 @@ LEVTYPE ltype; /* designates type of level to create */
|
|||
status(TRUE);
|
||||
|
||||
/* Do we sense any food on this level? */
|
||||
if (cur_relic[SURTUR_RING]) quaff(P_FFIND, NULL, NULL, FALSE);
|
||||
if (cur_relic[SURTUR_RING]) quaff(P_FFIND, 0, 0, FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
* Pick a room that is really there
|
||||
*/
|
||||
|
||||
rnd_room()
|
||||
int
|
||||
rnd_room(void)
|
||||
{
|
||||
register int rm;
|
||||
|
||||
|
|
@ -457,10 +460,11 @@ rnd_room()
|
|||
/*
|
||||
* 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;
|
||||
|
|
@ -478,7 +482,7 @@ LEVTYPE ltype; /* designates type of level to create */
|
|||
* There is a chance that there is a treasure room on this level
|
||||
*/
|
||||
if (ltype != MAZELEV && rnd(HARDER) < level - 10) {
|
||||
register j;
|
||||
int j;
|
||||
register struct room *rp;
|
||||
|
||||
/* Count the number of free spaces */
|
||||
|
|
|
|||
|
|
@ -40,14 +40,15 @@ struct optstruct {
|
|||
|
||||
typedef struct optstruct OPTION;
|
||||
|
||||
int put_bool(),
|
||||
get_bool(),
|
||||
put_str(),
|
||||
get_str(),
|
||||
put_abil(),
|
||||
get_abil(),
|
||||
get_quest(),
|
||||
put_quest();
|
||||
void put_bool(bool *b, WINDOW *win);
|
||||
int get_bool(bool *bp, WINDOW *win);
|
||||
void put_str(char *str, WINDOW *win);
|
||||
int get_str(char *opt, WINDOW *win);
|
||||
void put_abil(int *ability, WINDOW *win);
|
||||
void get_abil(int *abil, WINDOW *win);
|
||||
void put_quest(int *quest, WINDOW *win);
|
||||
void get_quest(int *quest, WINDOW *win);
|
||||
int get_ro(WINDOW *win, int oy, int ox);
|
||||
|
||||
int get_str_prot(char *opt, WINDOW *win);
|
||||
int get_score(char *opt, WINDOW *win);
|
||||
|
|
@ -83,9 +84,8 @@ OPTION optlist[] = {
|
|||
/*
|
||||
* 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;
|
||||
|
||||
|
|
@ -97,9 +97,8 @@ WINDOW *win;
|
|||
/*
|
||||
* 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;
|
||||
|
||||
|
|
@ -113,9 +112,8 @@ WINDOW *win;
|
|||
* "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;
|
||||
|
|
@ -152,9 +150,8 @@ register int oy, ox;
|
|||
* 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;
|
||||
|
|
@ -202,9 +199,8 @@ WINDOW *win;
|
|||
/*
|
||||
* 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;
|
||||
|
|
@ -278,7 +274,8 @@ WINDOW *win;
|
|||
/*
|
||||
* print and then set options from the terminal
|
||||
*/
|
||||
option()
|
||||
void
|
||||
option(void)
|
||||
{
|
||||
register OPTION *op;
|
||||
register int retval;
|
||||
|
|
@ -334,8 +331,8 @@ option()
|
|||
* 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;
|
||||
|
|
@ -428,9 +425,8 @@ register char *str;
|
|||
/*
|
||||
* print the character type
|
||||
*/
|
||||
put_abil(ability, win)
|
||||
int *ability;
|
||||
WINDOW *win;
|
||||
void
|
||||
put_abil(int *ability, WINDOW *win)
|
||||
{
|
||||
waddstr(win, char_class[*ability].name);
|
||||
}
|
||||
|
|
@ -440,9 +436,8 @@ WINDOW *win;
|
|||
* 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);
|
||||
}
|
||||
|
|
@ -451,9 +446,8 @@ WINDOW *win;
|
|||
/*
|
||||
* put out a boolean
|
||||
*/
|
||||
put_bool(b, win)
|
||||
bool *b;
|
||||
WINDOW *win;
|
||||
void
|
||||
put_bool(bool *b, WINDOW *win)
|
||||
{
|
||||
waddstr(win, *b ? "True" : "False");
|
||||
}
|
||||
|
|
@ -464,9 +458,8 @@ WINDOW *win;
|
|||
/*
|
||||
* put out a string
|
||||
*/
|
||||
put_str(str, win)
|
||||
char *str;
|
||||
WINDOW *win;
|
||||
void
|
||||
put_str(char *str, WINDOW *win)
|
||||
{
|
||||
waddstr(win, str);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@
|
|||
#include "curses.h"
|
||||
#include "rogue.h"
|
||||
|
||||
extern char rnd_terrain(), get_terrain();
|
||||
char rnd_terrain(void);
|
||||
char get_terrain(char one, char two, char three, char four);
|
||||
|
||||
/*
|
||||
* init_terrain:
|
||||
|
|
@ -23,7 +24,7 @@ extern char rnd_terrain(), get_terrain();
|
|||
*/
|
||||
|
||||
void
|
||||
init_terrain()
|
||||
init_terrain(void)
|
||||
{
|
||||
register struct room *rp;
|
||||
|
||||
|
|
@ -42,11 +43,9 @@ init_terrain()
|
|||
|
||||
|
||||
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 */
|
||||
register int cury, curx; /* Current y and x positions */
|
||||
|
||||
/* Lay out the boundary */
|
||||
for (cury=1; cury<lines-2; cury++) { /* Vertical "walls" */
|
||||
|
|
@ -129,7 +128,7 @@ bool fresh;
|
|||
*/
|
||||
|
||||
char
|
||||
rnd_terrain()
|
||||
rnd_terrain(void)
|
||||
{
|
||||
int chance = rnd(100);
|
||||
|
||||
|
|
@ -153,8 +152,7 @@ rnd_terrain()
|
|||
*/
|
||||
|
||||
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;
|
||||
|
|
@ -207,7 +205,6 @@ char one, two, three, four;
|
|||
*/
|
||||
|
||||
void
|
||||
lake_check(place)
|
||||
coord *place;
|
||||
lake_check(coord *place)
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@
|
|||
#include "menu.h"
|
||||
#endif
|
||||
|
||||
bool is_type (struct object *obj, int type);
|
||||
|
||||
/*
|
||||
* Routines to deal with the pack
|
||||
*/
|
||||
|
|
@ -30,9 +32,7 @@
|
|||
* 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;
|
||||
|
|
@ -372,9 +372,8 @@ static char Displines[MAXPACK+1][LINELEN+1]; /* The lines themselves */
|
|||
* 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;
|
||||
|
|
@ -511,7 +510,7 @@ register int type;
|
|||
* Allow player to inventory a single item
|
||||
*/
|
||||
void
|
||||
picky_inven()
|
||||
picky_inven(void)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
register char ch, mch;
|
||||
|
|
@ -565,13 +564,11 @@ picky_inven()
|
|||
/*
|
||||
* get_item:
|
||||
* pick something out of a pack for a purpose
|
||||
* purpose: NULL if we should be silent (no prompts)
|
||||
*/
|
||||
struct linked_list *
|
||||
get_item(list, purpose, type, askfirst, showcost)
|
||||
reg struct linked_list *list;
|
||||
char *purpose; /* NULL if we should be silent (no prompts) */
|
||||
int type;
|
||||
bool askfirst, showcost;
|
||||
get_item(struct linked_list *list, char *purpose, int type, bool askfirst,
|
||||
bool showcost)
|
||||
{
|
||||
reg struct linked_list *item;
|
||||
reg struct object *obj;
|
||||
|
|
@ -754,7 +751,7 @@ bool askfirst, showcost;
|
|||
#endif
|
||||
/* Write the screen */
|
||||
if ((menu_overlay && cnt < lines / 2 + 2) || cnt == 1) {
|
||||
over_win(cw, hw, cnt + 2, maxx + 3, cnt, curx, NULL);
|
||||
over_win(cw, hw, cnt + 2, maxx + 3, cnt, curx, '\0');
|
||||
cnt = -1; /* Indicate we used over_win */
|
||||
}
|
||||
else draw(hw);
|
||||
|
|
@ -812,9 +809,8 @@ bool askfirst, showcost;
|
|||
}
|
||||
}
|
||||
|
||||
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;
|
||||
|
|
@ -836,8 +832,8 @@ struct linked_list *list;
|
|||
* 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;
|
||||
|
|
@ -861,7 +857,8 @@ reg struct object *op;
|
|||
* idenpack:
|
||||
* Identify all the items in the pack
|
||||
*/
|
||||
idenpack()
|
||||
void
|
||||
idenpack(void)
|
||||
{
|
||||
reg struct linked_list *pc;
|
||||
|
||||
|
|
@ -869,9 +866,8 @@ idenpack()
|
|||
whatis(pc);
|
||||
}
|
||||
|
||||
is_type (obj, type)
|
||||
register struct object *obj;
|
||||
register int type;
|
||||
bool
|
||||
is_type (struct object *obj, int type)
|
||||
{
|
||||
register bool current;
|
||||
|
||||
|
|
@ -1024,8 +1020,8 @@ register int type;
|
|||
return(FALSE);
|
||||
}
|
||||
|
||||
del_pack(item)
|
||||
register struct linked_list *item;
|
||||
void
|
||||
del_pack(struct linked_list *item)
|
||||
{
|
||||
register struct object *obj;
|
||||
|
||||
|
|
@ -1047,9 +1043,8 @@ register struct linked_list *item;
|
|||
* 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;
|
||||
|
|
@ -1072,75 +1067,75 @@ int chance;
|
|||
*/
|
||||
if (on(*mp, ISUNIQUE)) {
|
||||
if (on(*mp, CARRYMDAGGER)) {
|
||||
item = spec_item(RELIC, MUSTY_DAGGER, NULL, NULL);
|
||||
item = spec_item(RELIC, MUSTY_DAGGER, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
|
||||
if (on(*mp, CARRYCLOAK)) {
|
||||
item = spec_item(RELIC, EMORI_CLOAK, NULL, NULL);
|
||||
item = spec_item(RELIC, EMORI_CLOAK, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
|
||||
if (on(*mp, CARRYANKH)) {
|
||||
item = spec_item(RELIC, HEIL_ANKH, NULL, NULL);
|
||||
item = spec_item(RELIC, HEIL_ANKH, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
|
||||
if (on(*mp, CARRYSTAFF)) {
|
||||
item = spec_item(RELIC, MING_STAFF, NULL, NULL);
|
||||
item = spec_item(RELIC, MING_STAFF, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
|
||||
if (on(*mp, CARRYWAND)) {
|
||||
item = spec_item(RELIC, ORCUS_WAND, NULL, NULL);
|
||||
item = spec_item(RELIC, ORCUS_WAND, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
|
||||
if (on(*mp, CARRYROD)) {
|
||||
item = spec_item(RELIC, ASMO_ROD, NULL, NULL);
|
||||
item = spec_item(RELIC, ASMO_ROD, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
|
||||
if (on(*mp, CARRYYAMULET)) {
|
||||
item = spec_item(RELIC, YENDOR_AMULET, NULL, NULL);
|
||||
item = spec_item(RELIC, YENDOR_AMULET, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
|
||||
if (on(*mp, CARRYBAMULET)) {
|
||||
item = spec_item(RELIC, STONEBONES_AMULET, NULL, NULL);
|
||||
item = spec_item(RELIC, STONEBONES_AMULET, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
|
||||
if (on(*mp, CARRYMANDOLIN)) {
|
||||
item = spec_item(RELIC, BRIAN_MANDOLIN, NULL, NULL);
|
||||
item = spec_item(RELIC, BRIAN_MANDOLIN, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
if (on(*mp, CARRYEYE)) {
|
||||
item = spec_item(RELIC, EYE_VECNA, NULL, NULL);
|
||||
item = spec_item(RELIC, EYE_VECNA, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
if (on(*mp, CARRYAXE)) {
|
||||
item = spec_item(RELIC, AXE_AKLAD, NULL, NULL);
|
||||
item = spec_item(RELIC, AXE_AKLAD, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
|
|
@ -1148,7 +1143,7 @@ int chance;
|
|||
if (on(*mp, CARRYQUILL)) {
|
||||
register int i, howmany;
|
||||
|
||||
item = spec_item(RELIC, QUILL_NAGROM, NULL, NULL);
|
||||
item = spec_item(RELIC, QUILL_NAGROM, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
obj->o_charges = rnd(QUILLCHARGES);
|
||||
|
|
@ -1165,25 +1160,25 @@ int chance;
|
|||
}
|
||||
}
|
||||
if (on(*mp, CARRYMSTAR)) {
|
||||
item = spec_item(RELIC, HRUGGEK_MSTAR, NULL, NULL);
|
||||
item = spec_item(RELIC, HRUGGEK_MSTAR, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
if (on(*mp, CARRYFLAIL)) {
|
||||
item = spec_item(RELIC, YEENOGHU_FLAIL, NULL, NULL);
|
||||
item = spec_item(RELIC, YEENOGHU_FLAIL, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
if (on(*mp, CARRYHORN)) {
|
||||
item = spec_item(RELIC, GERYON_HORN, NULL, NULL);
|
||||
item = spec_item(RELIC, GERYON_HORN, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
}
|
||||
if (on(*mp, CARRYSURTURRING)) {
|
||||
item = spec_item(RELIC, SURTUR_RING, NULL, NULL);
|
||||
item = spec_item(RELIC, SURTUR_RING, 0, 0);
|
||||
obj = OBJPTR(item);
|
||||
obj->o_pos = mp->t_pos;
|
||||
attach(mp->t_pack, item);
|
||||
|
|
@ -1193,7 +1188,7 @@ int chance;
|
|||
* 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;
|
||||
|
|
@ -1204,7 +1199,7 @@ int chance;
|
|||
* 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;
|
||||
|
|
@ -1328,8 +1323,8 @@ int chance;
|
|||
* 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;
|
||||
|
|
@ -1398,7 +1393,7 @@ register y, x;
|
|||
* to he right.
|
||||
*/
|
||||
if (menu_overlay && num_there < lines / 2 + 2) {
|
||||
over_win(cw, hw, num_there + 2, maxlen + 3, num_there, curlen, NULL);
|
||||
over_win(cw, hw, num_there + 2, maxlen + 3, num_there, curlen, '\0');
|
||||
pagecnt = -1; /* Indicate we used over_win */
|
||||
}
|
||||
else draw(hw); /* write screen */
|
||||
|
|
@ -1446,7 +1441,7 @@ register y, x;
|
|||
*/
|
||||
if (menu_overlay && num_there < lines / 2 + 2) {
|
||||
over_win(cw, hw, num_there + 2, maxlen + 3,
|
||||
num_there, 49, NULL);
|
||||
num_there, 49, '\0');
|
||||
cnt = -1; /* Indicate we used over_win */
|
||||
}
|
||||
else draw(hw); /* write screen */
|
||||
|
|
@ -1485,8 +1480,8 @@ register y, x;
|
|||
* Create a pack for sellers (a la quartermaster)
|
||||
*/
|
||||
|
||||
make_sell_pack(tp)
|
||||
struct thing *tp;
|
||||
void
|
||||
make_sell_pack(struct thing *tp)
|
||||
{
|
||||
reg struct linked_list *item;
|
||||
reg struct object *obj;
|
||||
|
|
|
|||
|
|
@ -18,15 +18,20 @@
|
|||
* @(#)passages.c 3.4 (Berkeley) 6/15/81
|
||||
*/
|
||||
|
||||
#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;
|
||||
|
|
@ -134,8 +139,8 @@ do_passages()
|
|||
* 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;
|
||||
|
|
@ -348,9 +353,8 @@ int r1, r2;
|
|||
* 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;
|
||||
|
|
|
|||
|
|
@ -18,19 +18,23 @@
|
|||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include "curses.h"
|
||||
#include "rogue.h"
|
||||
#ifdef PC7300
|
||||
#include "menu.h"
|
||||
#endif
|
||||
|
||||
bool pick_spell(struct spells spells[], int ability, int num_spells, int power,
|
||||
char *prompt, char *type);
|
||||
|
||||
/*
|
||||
* affect:
|
||||
* cleric affecting undead
|
||||
*/
|
||||
|
||||
affect()
|
||||
void
|
||||
affect(void)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
register struct thing *tp;
|
||||
|
|
@ -147,7 +151,8 @@ annoy:
|
|||
/*
|
||||
* the magic user is going to try and cast a spell
|
||||
*/
|
||||
cast()
|
||||
void
|
||||
cast(void)
|
||||
{
|
||||
int spell_ability,
|
||||
which_spell,
|
||||
|
|
@ -202,7 +207,7 @@ cast()
|
|||
|
||||
if (magic_spells[which_spell].s_type == TYP_POTION)
|
||||
quaff( magic_spells[which_spell].s_which,
|
||||
NULL,
|
||||
0,
|
||||
magic_spells[which_spell].s_flag,
|
||||
FALSE);
|
||||
else if (magic_spells[which_spell].s_type == TYP_SCROLL)
|
||||
|
|
@ -222,7 +227,8 @@ cast()
|
|||
/*
|
||||
* the druid asks his deity for a spell
|
||||
*/
|
||||
chant()
|
||||
void
|
||||
chant(void)
|
||||
{
|
||||
register int num_chants,
|
||||
chant_ability,
|
||||
|
|
@ -290,7 +296,7 @@ chant()
|
|||
|
||||
if (druid_spells[which_chant].s_type == TYP_POTION)
|
||||
quaff( druid_spells[which_chant].s_which,
|
||||
NULL,
|
||||
0,
|
||||
druid_spells[which_chant].s_flag,
|
||||
FALSE);
|
||||
else if (druid_spells[which_chant].s_type == TYP_SCROLL)
|
||||
|
|
@ -309,7 +315,8 @@ chant()
|
|||
|
||||
/* Constitution bonus */
|
||||
|
||||
const_bonus() /* Hit point adjustment for changing levels */
|
||||
int
|
||||
const_bonus(void) /* Hit point adjustment for changing levels */
|
||||
{
|
||||
register int bonus;
|
||||
if (pstats.s_const > 6 && pstats.s_const <= 14)
|
||||
|
|
@ -343,7 +350,8 @@ const_bonus() /* Hit point adjustment for changing levels */
|
|||
* Sense gold
|
||||
*/
|
||||
|
||||
gsense()
|
||||
void
|
||||
gsense(void)
|
||||
{
|
||||
/* Only thieves can do this */
|
||||
if (player.t_ctype != C_THIEF && player.t_ctype != C_ASSASIN) {
|
||||
|
|
@ -351,13 +359,14 @@ gsense()
|
|||
return;
|
||||
}
|
||||
|
||||
read_scroll(S_GFIND, NULL, FALSE);
|
||||
read_scroll(S_GFIND, 0, FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
* the cleric asks his deity for a spell
|
||||
*/
|
||||
pray()
|
||||
void
|
||||
pray(void)
|
||||
{
|
||||
register int num_prayers,
|
||||
prayer_ability,
|
||||
|
|
@ -430,7 +439,7 @@ pray()
|
|||
|
||||
if (cleric_spells[which_prayer].s_type == TYP_POTION)
|
||||
quaff( cleric_spells[which_prayer].s_which,
|
||||
NULL,
|
||||
0,
|
||||
cleric_spells[which_prayer].s_flag,
|
||||
FALSE);
|
||||
else if (cleric_spells[which_prayer].s_type == TYP_SCROLL)
|
||||
|
|
@ -454,7 +463,8 @@ pray()
|
|||
* Steal in direction given in delta
|
||||
*/
|
||||
|
||||
steal()
|
||||
void
|
||||
steal(void)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
register struct thing *tp;
|
||||
|
|
@ -586,14 +596,16 @@ static char Displines[MAXSPELLS+1][LINELEN+1]; /* The lines themselves */
|
|||
/*
|
||||
* this routine lets the player pick the spell that they
|
||||
* want to cast regardless of character class
|
||||
* spells: spell list
|
||||
* ability: spell ability
|
||||
* num_spells: number of spells that can be cast
|
||||
* power: spell power
|
||||
* prompt: prompt for spell list
|
||||
* type: type of thing--> spell, prayer, chant
|
||||
*/
|
||||
pick_spell(spells, ability, num_spells, power, prompt, type)
|
||||
struct spells spells[]; /* spell list */
|
||||
int ability; /* spell ability */
|
||||
int num_spells; /* number of spells that can be cast */
|
||||
int power; /* spell power */
|
||||
char *prompt; /* prompt for spell list */
|
||||
char *type; /* type of thing--> spell, prayer, chant */
|
||||
bool
|
||||
pick_spell(struct spells spells[], int ability, int num_spells, int power,
|
||||
char *prompt, char *type)
|
||||
{
|
||||
bool nohw = FALSE;
|
||||
register int i;
|
||||
|
|
@ -754,7 +766,7 @@ char *type; /* type of thing--> spell, prayer, chant */
|
|||
#endif
|
||||
/* Should we overlay? */
|
||||
if (menu_overlay && num_spells + 3 < lines / 2) {
|
||||
over_win(cw, hw, num_spells + 5, maxlen + 3, 0, curlen, NULL);
|
||||
over_win(cw, hw, num_spells + 5, maxlen + 3, 0, curlen, '\0');
|
||||
}
|
||||
else draw(hw);
|
||||
}
|
||||
|
|
@ -780,7 +792,7 @@ char *type; /* type of thing--> spell, prayer, chant */
|
|||
/* Should we overlay? */
|
||||
if (menu_overlay && num_spells + 3 < lines / 2) {
|
||||
over_win(cw, hw, num_spells + 5, maxlen + 3,
|
||||
0, curlen, NULL);
|
||||
0, curlen, '\0');
|
||||
}
|
||||
else draw(hw);
|
||||
|
||||
|
|
|
|||
|
|
@ -46,8 +46,7 @@ void (*res_abil[NUMABILITIES])() = {
|
|||
*/
|
||||
|
||||
void
|
||||
add_constitution(change)
|
||||
int change;
|
||||
add_constitution(int change)
|
||||
{
|
||||
/* Do the potion */
|
||||
if (change < 0) {
|
||||
|
|
@ -71,8 +70,7 @@ int change;
|
|||
*/
|
||||
|
||||
void
|
||||
add_charisma(change)
|
||||
int change;
|
||||
add_charisma(int change)
|
||||
{
|
||||
/* Do the potion */
|
||||
if (change < 0) msg("You feel less attractive now.");
|
||||
|
|
@ -92,8 +90,7 @@ int change;
|
|||
*/
|
||||
|
||||
void
|
||||
add_dexterity(change)
|
||||
int change;
|
||||
add_dexterity(int change)
|
||||
{
|
||||
int ring_str; /* Value of ring strengths */
|
||||
|
||||
|
|
@ -123,8 +120,8 @@ int change;
|
|||
* add a haste to the player
|
||||
*/
|
||||
|
||||
add_haste(blessed)
|
||||
bool blessed;
|
||||
void
|
||||
add_haste(bool blessed)
|
||||
{
|
||||
int hasttime;
|
||||
|
||||
|
|
@ -161,8 +158,7 @@ bool blessed;
|
|||
* Increase player's intelligence
|
||||
*/
|
||||
void
|
||||
add_intelligence(change)
|
||||
int change;
|
||||
add_intelligence(int change)
|
||||
{
|
||||
int ring_str; /* Value of ring strengths */
|
||||
|
||||
|
|
@ -190,7 +186,8 @@ int change;
|
|||
/*
|
||||
* this routine makes the hero move slower
|
||||
*/
|
||||
add_slow()
|
||||
void
|
||||
add_slow(void)
|
||||
{
|
||||
/* monks cannot be slowed or hasted */
|
||||
if (player.t_ctype == C_MONK || ISWEARING(R_FREEDOM)) {
|
||||
|
|
@ -219,8 +216,7 @@ add_slow()
|
|||
*/
|
||||
|
||||
void
|
||||
add_strength(change)
|
||||
int change;
|
||||
add_strength(int change)
|
||||
{
|
||||
|
||||
if (change < 0) {
|
||||
|
|
@ -238,8 +234,7 @@ int change;
|
|||
*/
|
||||
|
||||
void
|
||||
add_wisdom(change)
|
||||
int change;
|
||||
add_wisdom(int change)
|
||||
{
|
||||
int ring_str; /* Value of ring strengths */
|
||||
|
||||
|
|
@ -264,11 +259,8 @@ int change;
|
|||
pstats.s_wisdom += ring_str;
|
||||
}
|
||||
|
||||
quaff(which, kind, flags, is_potion)
|
||||
int which;
|
||||
int kind;
|
||||
int flags;
|
||||
bool is_potion;
|
||||
void
|
||||
quaff(int which, int kind, int flags, bool is_potion)
|
||||
{
|
||||
register struct object *obj;
|
||||
register struct linked_list *item, *titem;
|
||||
|
|
@ -869,8 +861,7 @@ bool is_potion;
|
|||
*/
|
||||
|
||||
void
|
||||
res_dexterity(howmuch)
|
||||
int howmuch;
|
||||
res_dexterity(int howmuch)
|
||||
{
|
||||
short save_max;
|
||||
int ring_str;
|
||||
|
|
@ -903,8 +894,7 @@ int howmuch;
|
|||
*/
|
||||
|
||||
void
|
||||
res_intelligence(howmuch)
|
||||
int howmuch;
|
||||
res_intelligence(int howmuch)
|
||||
{
|
||||
short save_max;
|
||||
int ring_str;
|
||||
|
|
@ -931,8 +921,7 @@ int howmuch;
|
|||
*/
|
||||
|
||||
void
|
||||
res_wisdom(howmuch)
|
||||
int howmuch;
|
||||
res_wisdom(int howmuch)
|
||||
{
|
||||
short save_max;
|
||||
int ring_str;
|
||||
|
|
@ -959,8 +948,7 @@ int howmuch;
|
|||
*/
|
||||
|
||||
void
|
||||
res_constitution(howmuch)
|
||||
int howmuch;
|
||||
res_constitution(int howmuch)
|
||||
{
|
||||
if (howmuch > 0)
|
||||
pstats.s_const = min(pstats.s_const + howmuch, max_stats.s_const);
|
||||
|
|
@ -972,8 +960,7 @@ int howmuch;
|
|||
*/
|
||||
|
||||
void
|
||||
res_charisma(howmuch)
|
||||
int howmuch;
|
||||
res_charisma(int howmuch)
|
||||
{
|
||||
if (howmuch > 0)
|
||||
pstats.s_charisma =
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "curses.h"
|
||||
#include "rogue.h"
|
||||
|
||||
|
|
@ -23,8 +24,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;
|
||||
|
|
@ -48,8 +49,8 @@ register int hand;
|
|||
return 0;
|
||||
}
|
||||
|
||||
ring_on(item)
|
||||
register struct linked_list *item;
|
||||
void
|
||||
ring_on(struct linked_list *item)
|
||||
{
|
||||
register struct object *obj;
|
||||
register int save_max;
|
||||
|
|
@ -111,8 +112,7 @@ register struct linked_list *item;
|
|||
* print ring bonuses
|
||||
*/
|
||||
char *
|
||||
ring_num(obj)
|
||||
register struct object *obj;
|
||||
ring_num(struct object *obj)
|
||||
{
|
||||
static char buf[5];
|
||||
|
||||
|
|
@ -146,7 +146,8 @@ register struct object *obj;
|
|||
/*
|
||||
* Return the effect of the specified ring
|
||||
*/
|
||||
ring_value(type)
|
||||
int
|
||||
ring_value(int type)
|
||||
{
|
||||
int result = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -91,15 +91,15 @@ static char *rip[] = {
|
|||
0
|
||||
};
|
||||
|
||||
char *killname();
|
||||
|
||||
|
||||
|
||||
char *killname(short monst);
|
||||
void showpack(char *howso);
|
||||
int update(struct sc_ent top_ten[], unsigned long amount, short quest,
|
||||
char *whoami, short flags, short level, short monst, short ctype,
|
||||
char *system, char *login);
|
||||
|
||||
|
||||
void
|
||||
byebye(sig)
|
||||
int sig;
|
||||
byebye(int sig)
|
||||
{
|
||||
if (!isendwin()) {
|
||||
clear();
|
||||
|
|
@ -118,8 +118,8 @@ int sig;
|
|||
* 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;
|
||||
|
|
@ -154,7 +154,8 @@ register short monst;
|
|||
/*
|
||||
* Restore window characteristics on a hard window terminal (PC7300).
|
||||
*/
|
||||
endhardwin()
|
||||
void
|
||||
endhardwin(void)
|
||||
{
|
||||
register int i;
|
||||
struct utdata labelbuf;
|
||||
|
|
@ -172,8 +173,7 @@ endhardwin()
|
|||
#endif
|
||||
|
||||
char *
|
||||
killname(monst)
|
||||
register short monst;
|
||||
killname(short monst)
|
||||
{
|
||||
static char mons_name[LINELEN];
|
||||
int i;
|
||||
|
|
@ -249,9 +249,8 @@ writelog(unsigned long amount, int flags, short monst)
|
|||
*/
|
||||
|
||||
/* 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;
|
||||
|
|
@ -672,11 +671,10 @@ short monst;
|
|||
* scorein:
|
||||
* Convert a character string that has been translated from a
|
||||
* score file by scoreout() back to a score file structure.
|
||||
* num_bytes: Number of bytes of input that we want to convert
|
||||
*/
|
||||
scorein(input, scores, num_bytes)
|
||||
unsigned char *input;
|
||||
struct sc_ent scores[];
|
||||
int num_bytes; /* Number of bytes of input that we want to convert */
|
||||
void
|
||||
scorein(unsigned char *input, struct sc_ent scores[], int num_bytes)
|
||||
{
|
||||
register int i, j;
|
||||
unsigned long *lptr;
|
||||
|
|
@ -731,9 +729,8 @@ int num_bytes; /* Number of bytes of input that we want to convert */
|
|||
* this for compatibility sake since some machines write out fields in
|
||||
* different orders.
|
||||
*/
|
||||
scoreout(scores, output)
|
||||
struct sc_ent scores[];
|
||||
unsigned char *output;
|
||||
void
|
||||
scoreout(struct sc_ent scores[], unsigned char *output)
|
||||
{
|
||||
register int i, j;
|
||||
unsigned long *lptr;
|
||||
|
|
@ -783,8 +780,8 @@ unsigned char *output;
|
|||
* showpack:
|
||||
* Display the contents of the hero's pack
|
||||
*/
|
||||
showpack(howso)
|
||||
char *howso;
|
||||
void
|
||||
showpack(char *howso)
|
||||
{
|
||||
reg char *iname;
|
||||
reg int cnt, packnum;
|
||||
|
|
@ -813,7 +810,8 @@ char *howso;
|
|||
refresh();
|
||||
}
|
||||
|
||||
total_winner()
|
||||
void
|
||||
total_winner(void)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
register struct object *obj;
|
||||
|
|
@ -876,11 +874,10 @@ total_winner()
|
|||
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 */
|
||||
|
|
|
|||
342
arogue7/rogue.h
342
arogue7/rogue.h
|
|
@ -1121,45 +1121,317 @@ struct delayed_action {
|
|||
int d_time;
|
||||
} ;
|
||||
|
||||
struct linked_list *find_mons(), *find_obj(), *get_item(), *new_item(),
|
||||
*new_thing(), *wake_monster(), *get_hurl(),
|
||||
*spec_item(), *creat_item(), *wield_weap();
|
||||
struct room *roomin();
|
||||
struct trap *trap_at();
|
||||
void _attach(struct linked_list **list, struct linked_list *item);
|
||||
void _detach(struct linked_list **list, struct linked_list *item);
|
||||
void _o_free_list(struct linked_list **ptr);
|
||||
void _r_free_list(struct linked_list **ptr);
|
||||
void _t_free_list(struct linked_list **ptr);
|
||||
int ac_compute(bool ignoremetal);
|
||||
void activity(void);
|
||||
void add_charisma(int change);
|
||||
void add_constitution(int change);
|
||||
void add_dexterity(int change);
|
||||
void add_haste(bool blessed);
|
||||
void add_intelligence(int change);
|
||||
bool add_pack(struct linked_list *item, bool silent,
|
||||
struct linked_list **packret);
|
||||
void add_slow(void);
|
||||
void add_strength(int change);
|
||||
void add_wisdom(int change);
|
||||
void addmsg(char *fmt, ...);
|
||||
void affect(void);
|
||||
void aggravate(bool do_uniques, bool do_good);
|
||||
void alchemy(struct object *obj);
|
||||
void appear(void);
|
||||
bool attack(struct thing *mp, struct object *weapon, bool thrown);
|
||||
void auto_save(int sig);
|
||||
char be_trapped(struct thing *th, coord *tc);
|
||||
bool blue_light(bool blessed, bool cursed);
|
||||
void bugkill(int sig);
|
||||
void buy_it(void);
|
||||
void byebye(int sig);
|
||||
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);
|
||||
void cast(void);
|
||||
void changeclass(int newclass);
|
||||
void chant(void);
|
||||
void chant_recovery(void);
|
||||
void chase(struct thing *tp, coord *ee, struct room *rer, struct room *ree,
|
||||
bool flee);
|
||||
long check_level(void);
|
||||
void check_residue(struct thing *tp);
|
||||
void chg_str(int amt);
|
||||
void cloak_charge(struct object *obj);
|
||||
void command(void);
|
||||
void confus_player(void);
|
||||
int const_bonus(void);
|
||||
void corr_move(int dy, int dx);
|
||||
struct linked_list *creat_item(void);
|
||||
bool creat_mons(struct thing *person, short monster, bool report);
|
||||
void create_obj(bool prompt, int which_item, int which_type);
|
||||
void cur_null(struct object *op);
|
||||
void cure_disease(void);
|
||||
void dbotline(WINDOW *scr, char *message);
|
||||
void death(short monst);
|
||||
void del_pack(struct linked_list *item);
|
||||
void destroy_item(struct linked_list *item);
|
||||
int dex_compute(void);
|
||||
int dext_plus(int dexterity);
|
||||
int dext_prot(int dexterity);
|
||||
bool diag_ok(coord *sp, coord *ep, struct thing *flgptr);
|
||||
void dip_it(void);
|
||||
void do_chase(struct thing *th);
|
||||
void do_daemons(int flag);
|
||||
void do_fuses(int flag);
|
||||
void do_maze(void);
|
||||
void do_motion(struct object *obj, int ydelta, int xdelta, struct thing *tp);
|
||||
void do_move(int dy, int dx);
|
||||
void do_passages(void);
|
||||
void do_post(bool startup);
|
||||
void do_rooms(void);
|
||||
void do_run(char ch);
|
||||
void do_terrain(int basey, int basex, int deltay, int deltax, bool fresh);
|
||||
void do_zap(struct thing *zapper, struct object *obj, coord *direction,
|
||||
int which, int flags);
|
||||
void doctor(struct thing *tp);
|
||||
coord *doorway(struct room *rp, coord *door);
|
||||
void draw_room(struct room *rp);
|
||||
int dress_units(struct linked_list *item);
|
||||
bool drop(struct linked_list *item);
|
||||
bool dropcheck(struct object *op);
|
||||
void dsrpt_monster(struct thing *tp, bool always, bool see_him);
|
||||
void dsrpt_player(void);
|
||||
void dust_appear(void);
|
||||
void eat(void);
|
||||
void eat_gold(struct object *obj);
|
||||
int effect(struct thing *att, struct thing *def, struct object *weap,
|
||||
bool thrown, bool see_att, bool see_def);
|
||||
int encread(char *start, unsigned int size, int inf);
|
||||
int encwrite(char *start, unsigned int size, int outf);
|
||||
void endmsg(void);
|
||||
void explode(struct thing *tp);
|
||||
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)());
|
||||
int findmindex(char *name);
|
||||
void fix_stick(struct object *cur);
|
||||
void fumble(void);
|
||||
void fuse(int (*func)(), int arg, int time, int type);
|
||||
void genmonsters(int least, bool treas);
|
||||
coord get_coordinates(void);
|
||||
bool get_dir(coord *direction);
|
||||
struct linked_list *get_hurl(struct thing *tp);
|
||||
struct linked_list *get_item(struct linked_list *list, char *purpose, int type,
|
||||
bool askfirst, bool showcost);
|
||||
int get_str(char *opt, WINDOW *win);
|
||||
int get_worth(struct object *obj);
|
||||
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_foods(void);
|
||||
void init_materials(void);
|
||||
void init_misc(void);
|
||||
void init_names(void);
|
||||
void init_player(void);
|
||||
void init_stones(void);
|
||||
void init_terrain(void);
|
||||
void init_things(void);
|
||||
void init_weapon(struct object *weap, char type);
|
||||
char *inv_name(struct object *obj, bool drop);
|
||||
bool inventory(struct linked_list *list, int type);
|
||||
bool 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, bool treasure);
|
||||
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);
|
||||
void m_use_relic(struct thing *monster);
|
||||
void m_use_wand(struct thing *monster);
|
||||
void make_sell_pack(struct thing *tp);
|
||||
short makemonster(bool showall, char *label, char *action) ;
|
||||
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);
|
||||
char *monster_name(struct thing *tp);
|
||||
bool move_hero(int why);
|
||||
short movement(struct thing *tp);
|
||||
void msg(char *fmt, ...);
|
||||
void nameitem(struct linked_list *item, bool mark);
|
||||
bool need_dir(int type, int which);
|
||||
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, bool allow_curse);
|
||||
void nobolt(void);
|
||||
void nocold(void);
|
||||
void nofire(void);
|
||||
void nohaste(void);
|
||||
void noslow(void);
|
||||
char *num(int n1, int n2);
|
||||
void o_discard(struct linked_list *item);
|
||||
void option(void);
|
||||
void over_win(WINDOW *oldwin, WINDOW *newin, int maxy, int maxx, int cursory,
|
||||
int cursorx, char redraw);
|
||||
char pack_char(struct linked_list *list, struct object *obj);
|
||||
void parse_opts(char *str);
|
||||
bool passwd(void);
|
||||
void picky_inven(void);
|
||||
bool player_zap(int which, int flag);
|
||||
void playit(void);
|
||||
void pray(void);
|
||||
void prayer_recovery(void);
|
||||
bool price_it(void);
|
||||
char *prname(char *who, bool upper);
|
||||
void quaff(int which, int kind, int flags, bool is_potion);
|
||||
void quill_charge(void);
|
||||
void quit(int sig);
|
||||
void raise_level(void);
|
||||
short randmonster(bool wander, bool no_unique);
|
||||
void read_scroll(int which, int flag, bool is_scroll);
|
||||
int readchar(void);
|
||||
void res_charisma(int howmuch);
|
||||
void res_constitution(int howmuch);
|
||||
void res_dexterity(int howmuch);
|
||||
void res_intelligence(int howmuch);
|
||||
void res_strength(int howmuch);
|
||||
void res_wisdom(int howmuch);
|
||||
bool restore(char *file, char *envp[]);
|
||||
void restscr(WINDOW *scr);
|
||||
int ring_eat(int hand);
|
||||
char *ring_num(struct object *obj);
|
||||
int ring_value(int type);
|
||||
void ring_on(struct linked_list *item);
|
||||
void ring_search(void);
|
||||
void ring_teleport(void);
|
||||
int rnd(int range);
|
||||
void rnd_pos(struct room *rp, coord *cp);
|
||||
int rnd_room(void);
|
||||
coord *rndmove(struct thing *who);
|
||||
int roll(int number, int sides);
|
||||
void rollwand(void);
|
||||
struct room *roomin(coord *cp);
|
||||
int rs_restore_file(int inf);
|
||||
int rs_save_file(FILE *savef);
|
||||
int runners(int segments);
|
||||
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);
|
||||
void 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);
|
||||
bool skirmish(struct thing *attacker, coord *mp, struct object *weap,
|
||||
bool thrown);
|
||||
struct linked_list *spec_item(int type, int which, int hit, int damage);
|
||||
void spell_recovery(void);
|
||||
void start_daemon(int (*func)(), int arg, int type);
|
||||
void status(bool display);
|
||||
void steal(void);
|
||||
bool step_ok(int y, int x, int can_on_monst, struct thing *flgptr);
|
||||
void stomach(void);
|
||||
int str_compute(void);
|
||||
int str_plus(short str);
|
||||
void strangle(void);
|
||||
void strucpy(char *s1, char *s2, int len);
|
||||
void suffocate(void);
|
||||
void swander(void);
|
||||
bool swing(short class, int at_lvl, int op_arm, int wplus);
|
||||
void take_off(void);
|
||||
int teleport(void);
|
||||
void total_winner(void);
|
||||
int totalenc(struct thing *tp);
|
||||
char *tr_name(char ch);
|
||||
struct trap *trap_at(int y, int x);
|
||||
void trap_look(void);
|
||||
void updpack(int getmax, struct thing *tp);
|
||||
void unclrhead(void);
|
||||
void unchoke(void);
|
||||
void unconfuse(void);
|
||||
void undance(void);
|
||||
void unphase(void);
|
||||
void unsee(void);
|
||||
void unskill(void);
|
||||
void unstink(void);
|
||||
int usage_time(struct linked_list *item);
|
||||
void use_mm(int which);
|
||||
char *vowelstr(char *str);
|
||||
void wait_for(char ch);
|
||||
struct linked_list *wake_monster(int y, int x);
|
||||
void wake_room(struct room *rp);
|
||||
void wanderer(void);
|
||||
void waste_time(void);
|
||||
int weap_move(struct thing *wielder, struct object *weap);
|
||||
char *weap_name(struct object *obj);
|
||||
void wear(void);
|
||||
void wghtchk(void);
|
||||
void whatis(struct linked_list *what);
|
||||
void wield(void);
|
||||
struct linked_list *wield_weap(struct object *thrown, struct thing *mp);
|
||||
void writelog(unsigned long amount, int flags, short monst);
|
||||
|
||||
/* char *malloc(), *getenv(), *tr_name(), *new(), *sprintf(), */
|
||||
char *getenv(), *tr_name(), *new(),
|
||||
*vowelstr(), *inv_name(), *strcpy(), *strcat();
|
||||
char *num(), *ring_num(), *misc_num(), *blesscurse(), *p_kind(),
|
||||
*typ_name(), *prname(), *monster_name(), *weap_name(), *misc_name();
|
||||
coord *rndmove(), *can_shoot(), *fallpos(), *doorway(), get_coordinates();
|
||||
short randmonster(), id_monst(), movement();
|
||||
void quit(int), auto_save(int), bugkill(int), endit(int), tstp(int),
|
||||
byebye(int);
|
||||
int nohaste(), spell_recovery(),
|
||||
doctor(), runners(), swander(), unconfuse(), unsee(), fumble(),
|
||||
unclrhead(), unphase(), noslow(), rollwand(), stomach(), sight(),
|
||||
unstink(), suffocate(), cure_disease(), shoot_bolt(), changeclass(),
|
||||
appear(), dust_appear(), unchoke(), alchemy(), trap_look(), strangle(),
|
||||
ring_teleport(), ring_search(), grab(), dsrpt_player(), quill_charge(),
|
||||
make_sell_pack(), unskill(), findmindex(), nobolt(), nofire(), nocold(),
|
||||
usage_time(), eat_gold(), chant_recovery(), prayer_recovery(),
|
||||
dsrpt_monster();
|
||||
bool blue_light(), can_blink(), creat_mons(), add_pack(),
|
||||
straight_shot(), maze_view(), lit_room(), getdelta(), save_file(),
|
||||
save_game(), m_use_it(), m_use_pack(), get_dir(), need_dir();
|
||||
long lseek(), check_level();
|
||||
void genmonsters(),
|
||||
add_intelligence(), add_strength(), add_wisdom(), add_dexterity(),
|
||||
add_constitution(), add_charisma(), res_intelligence(), res_strength(int),
|
||||
res_wisdom(), res_dexterity(), res_constitution(), res_charisma();
|
||||
|
||||
void writelog(unsigned long amount, int flags, short monst);
|
||||
char *md_crypt(char *key, char *salt);
|
||||
int md_erasechar(void);
|
||||
FILE *md_fdopen(int fd, char *mode);
|
||||
int md_fileno(FILE *fp);
|
||||
void md_flushinp(void);
|
||||
char *md_gethomedir(void);
|
||||
char *md_gethostname(void);
|
||||
char *md_getpass(char *prompt);
|
||||
char *md_getroguedir(void);
|
||||
int md_getuid(void);
|
||||
char *md_getusername(void);
|
||||
void md_init(void);
|
||||
int md_killchar(void);
|
||||
long md_memused(void);
|
||||
int md_normaluser(void);
|
||||
int md_rand(void);
|
||||
void md_reopen_score(void);
|
||||
int md_readchar(WINDOW *win);
|
||||
int md_shellescape(void);
|
||||
int md_srand(int seed);
|
||||
int md_unlink(char *file);
|
||||
int md_unlink_open_file(char *file, int inf);
|
||||
|
||||
#ifdef CHECKTIME
|
||||
int checkout();
|
||||
#endif
|
||||
|
||||
#ifdef PC7300
|
||||
void endhardwin(void);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Now all the global variables
|
||||
|
|
@ -1297,11 +1569,7 @@ extern void (*add_abil[NUMABILITIES])(); /* Functions to change abilities */
|
|||
extern void (*res_abil[NUMABILITIES])(); /* Functions to change abilities */
|
||||
extern int cNCOLORS, cNWOOD, cNMETAL, cNSTONES;
|
||||
extern char *rainbow[], *stones[], *wood[], *metal[];
|
||||
extern int land(), wghtchk(), undance(), cloak_charge(struct object *);
|
||||
extern struct delayed_action d_list[MAXDAEMONS];
|
||||
extern struct delayed_action f_list[MAXFUSES];
|
||||
extern int demoncnt, fusecnt, between, chance;
|
||||
#define CCHAR(x) ( (char) (x & A_CHARTEXT) )
|
||||
extern char *md_gethostname(), *md_getusername(), *md_gethomedir(), *md_getroguedir(), *md_crypt();
|
||||
extern FILE * md_fdopen(int fd, char *mode);
|
||||
extern int md_fileno(FILE *fp);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,11 @@
|
|||
#include "curses.h"
|
||||
#include "rogue.h"
|
||||
|
||||
do_rooms()
|
||||
void horiz(int cnt);
|
||||
void vert(int cnt);
|
||||
|
||||
void
|
||||
do_rooms(void)
|
||||
{
|
||||
register int i;
|
||||
register struct room *rp;
|
||||
|
|
@ -108,7 +112,7 @@ do_rooms()
|
|||
|
||||
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 */
|
||||
|
|
@ -178,9 +182,7 @@ do_rooms()
|
|||
*/
|
||||
|
||||
coord *
|
||||
doorway(rp, door)
|
||||
register struct room *rp;
|
||||
register coord *door;
|
||||
doorway(struct room *rp, coord *door)
|
||||
{
|
||||
register int misses = 0;
|
||||
static coord answer;
|
||||
|
|
@ -209,8 +211,8 @@ register coord *door;
|
|||
* Draw a box around a room
|
||||
*/
|
||||
|
||||
draw_room(rp)
|
||||
register struct room *rp;
|
||||
void
|
||||
draw_room(struct room *rp)
|
||||
{
|
||||
register int j, k;
|
||||
|
||||
|
|
@ -237,8 +239,8 @@ register struct room *rp;
|
|||
* draw a horizontal line
|
||||
*/
|
||||
|
||||
horiz(cnt)
|
||||
register int cnt;
|
||||
void
|
||||
horiz(int cnt)
|
||||
{
|
||||
while (cnt--)
|
||||
addch('-');
|
||||
|
|
@ -249,9 +251,8 @@ register int cnt;
|
|||
* 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;
|
||||
|
|
@ -266,8 +267,7 @@ register coord *cp;
|
|||
*/
|
||||
|
||||
struct room *
|
||||
roomin(cp)
|
||||
register coord *cp;
|
||||
roomin(coord *cp)
|
||||
{
|
||||
register struct room *rp;
|
||||
|
||||
|
|
@ -282,8 +282,8 @@ register coord *cp;
|
|||
* draw a vertical line
|
||||
*/
|
||||
|
||||
vert(cnt)
|
||||
register int cnt;
|
||||
void
|
||||
vert(int cnt)
|
||||
{
|
||||
register int x, y;
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ extern struct uwdata wdata;
|
|||
#define ENCWRITE encwrite
|
||||
#endif
|
||||
|
||||
bool save_file(int savefd);
|
||||
|
||||
typedef struct stat STAT;
|
||||
|
||||
extern char version[], encstr[];
|
||||
|
|
@ -51,7 +53,7 @@ extern int errno;
|
|||
STAT sbuf;
|
||||
|
||||
bool
|
||||
save_game()
|
||||
save_game(void)
|
||||
{
|
||||
register int savefd;
|
||||
register int c;
|
||||
|
|
@ -122,8 +124,7 @@ gotfile:
|
|||
* recieved
|
||||
*/
|
||||
void
|
||||
auto_save(sig)
|
||||
int sig;
|
||||
auto_save(int sig)
|
||||
{
|
||||
register int savefd;
|
||||
register int i;
|
||||
|
|
@ -145,8 +146,7 @@ int sig;
|
|||
* write the saved game on the file
|
||||
*/
|
||||
bool
|
||||
save_file(savefd)
|
||||
register int savefd;
|
||||
save_file(int savefd)
|
||||
{
|
||||
register unsigned num_to_write, num_written;
|
||||
FILE *savef;
|
||||
|
|
@ -167,9 +167,8 @@ register int savefd;
|
|||
else return(FALSE);
|
||||
}
|
||||
|
||||
restore(file, envp)
|
||||
register char *file;
|
||||
char **envp;
|
||||
bool
|
||||
restore(char *file, char *envp[])
|
||||
{
|
||||
register int inf;
|
||||
extern char **environ;
|
||||
|
|
@ -265,10 +264,8 @@ char **envp;
|
|||
/*
|
||||
* perform an encrypted write
|
||||
*/
|
||||
encwrite(start, size, outf)
|
||||
register char *start;
|
||||
register unsigned size;
|
||||
register int outf;
|
||||
int
|
||||
encwrite(char *start, unsigned int size, int outf)
|
||||
{
|
||||
register char *ep;
|
||||
register int i = 0;
|
||||
|
|
@ -298,10 +295,8 @@ register int outf;
|
|||
/*
|
||||
* 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;
|
||||
|
|
|
|||
|
|
@ -20,12 +20,14 @@
|
|||
#include "curses.h"
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include "rogue.h"
|
||||
|
||||
/*
|
||||
* 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;
|
||||
|
|
@ -57,10 +59,8 @@ genocide()
|
|||
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;
|
||||
|
|
|
|||
|
|
@ -73,6 +73,12 @@ static int format_error = FALSE;
|
|||
static int endian = 0x01020304;
|
||||
#define big_endian ( *((char *)&endian) == 0x01 )
|
||||
|
||||
int list_size(struct linked_list *l);
|
||||
int rs_write_int(FILE *savef, int c);
|
||||
int rs_read_int(int inf, int *i);
|
||||
int rs_write_object_list(FILE *savef, struct linked_list *l);
|
||||
int rs_read_object_list(int inf, struct linked_list **list);
|
||||
|
||||
int
|
||||
rs_write(FILE *savef, void *ptr, size_t size)
|
||||
{
|
||||
|
|
@ -2346,7 +2352,7 @@ rs_read_thing(int inf, struct thing *t)
|
|||
return(READSTAT);
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
rs_fix_thing(struct thing *t)
|
||||
{
|
||||
struct thing *tp;
|
||||
|
|
|
|||
|
|
@ -22,16 +22,14 @@
|
|||
#include <string.h>
|
||||
#include "rogue.h"
|
||||
|
||||
void drain(int ymin, int ymax, int xmin, int xmax);
|
||||
|
||||
/*
|
||||
* zap a stick and see what happens
|
||||
*/
|
||||
do_zap(zapper, obj, direction, which, flags)
|
||||
struct thing *zapper;
|
||||
struct object *obj;
|
||||
coord *direction;
|
||||
int which;
|
||||
int flags;
|
||||
void
|
||||
do_zap(struct thing *zapper, struct object *obj, coord *direction, int which,
|
||||
int flags)
|
||||
{
|
||||
register struct linked_list *item = NULL;
|
||||
register struct thing *tp;
|
||||
|
|
@ -499,7 +497,7 @@ int flags;
|
|||
if (pstats.s_hpt <= 0) {
|
||||
msg("Your life has been sucked from you -- More --");
|
||||
wait_for(' ');
|
||||
death(zapper);
|
||||
death(zapper->t_index);
|
||||
}
|
||||
else
|
||||
msg("You feel a great drain on your system");
|
||||
|
|
@ -625,8 +623,8 @@ int flags;
|
|||
* 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;
|
||||
|
|
@ -698,8 +696,8 @@ int ymin, ymax, xmin, xmax;
|
|||
/*
|
||||
* 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;
|
||||
|
|
@ -738,8 +736,8 @@ register struct object *cur;
|
|||
/*
|
||||
* Use the wand that our monster is wielding.
|
||||
*/
|
||||
m_use_wand(monster)
|
||||
register struct thing *monster;
|
||||
void
|
||||
m_use_wand(struct thing *monster)
|
||||
{
|
||||
register struct object *obj;
|
||||
|
||||
|
|
@ -764,14 +762,16 @@ register struct thing *monster;
|
|||
*/
|
||||
msg("%s points a %s at you!", prname(monster_name(monster), TRUE),
|
||||
ws_type[obj->o_which]);
|
||||
do_zap(monster, obj, &monster->t_newpos, obj->o_which, NULL);
|
||||
do_zap(monster, obj, &monster->t_newpos, obj->o_which, 0);
|
||||
monster->t_wand /= 2; /* chance lowers with each use */
|
||||
}
|
||||
|
||||
/*
|
||||
* type: type of item, NULL means stick
|
||||
* which: which item
|
||||
*/
|
||||
bool
|
||||
need_dir(type, which)
|
||||
int type, /* type of item, NULL means stick */
|
||||
which; /* which item */
|
||||
need_dir(int type, int which)
|
||||
{
|
||||
if (type == STICK || type == 0) {
|
||||
switch (which) {
|
||||
|
|
@ -799,9 +799,8 @@ return (FALSE); /* hope we don't get here */
|
|||
/*
|
||||
* let the player zap a stick and see what happens
|
||||
*/
|
||||
player_zap(which, flag)
|
||||
int which;
|
||||
int flag;
|
||||
bool
|
||||
player_zap(int which, int flag)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
register struct object *obj;
|
||||
|
|
@ -868,13 +867,9 @@ int flag;
|
|||
* given direction
|
||||
*/
|
||||
|
||||
shoot_bolt(shooter, start, dir, get_points, reason, name, damage)
|
||||
struct thing *shooter;
|
||||
coord start, dir;
|
||||
bool get_points;
|
||||
short reason;
|
||||
char *name;
|
||||
int damage;
|
||||
void
|
||||
shoot_bolt(struct thing *shooter, coord start, coord dir, bool get_points,
|
||||
short reason, char *name, int damage)
|
||||
{
|
||||
register char dirch, ch;
|
||||
register bool used, change;
|
||||
|
|
|
|||
|
|
@ -23,12 +23,16 @@
|
|||
#include <string.h>
|
||||
#include "rogue.h"
|
||||
|
||||
int pick_one(struct magic_item *magic, int nitems);
|
||||
char *blesscurse(int flags);
|
||||
char *p_kind(struct object *obj);
|
||||
int extras(void);
|
||||
|
||||
/*
|
||||
* print out the number of charges on a stick
|
||||
*/
|
||||
char *
|
||||
charge_str(obj)
|
||||
register struct object *obj;
|
||||
charge_str(struct object *obj)
|
||||
{
|
||||
static char buf[20];
|
||||
|
||||
|
|
@ -46,9 +50,7 @@ register struct object *obj;
|
|||
* inventory.
|
||||
*/
|
||||
char *
|
||||
inv_name(obj, drop)
|
||||
register struct object *obj;
|
||||
bool drop;
|
||||
inv_name(struct object *obj, bool drop)
|
||||
{
|
||||
register char *pb;
|
||||
|
||||
|
|
@ -324,8 +326,7 @@ bool drop;
|
|||
* 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:
|
||||
|
|
@ -357,8 +358,8 @@ register struct object *obj;
|
|||
* drop:
|
||||
* put something down
|
||||
*/
|
||||
drop(item)
|
||||
struct linked_list *item;
|
||||
bool
|
||||
drop(struct linked_list *item)
|
||||
{
|
||||
register char ch;
|
||||
register struct linked_list *obj, *nobj;
|
||||
|
|
@ -464,8 +465,8 @@ struct linked_list *item;
|
|||
/*
|
||||
* do special checks for dropping or unweilding|unwearing|unringing
|
||||
*/
|
||||
dropcheck(op)
|
||||
register struct object *op;
|
||||
bool
|
||||
dropcheck(struct object *op)
|
||||
{
|
||||
int save_max;
|
||||
|
||||
|
|
@ -566,9 +567,7 @@ register struct object *op;
|
|||
* return a new thing
|
||||
*/
|
||||
struct linked_list *
|
||||
new_thing(thing_type, allow_curse)
|
||||
int thing_type;
|
||||
bool allow_curse;
|
||||
new_thing(int thing_type, bool allow_curse)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
register struct object *cur;
|
||||
|
|
@ -779,8 +778,7 @@ bool allow_curse;
|
|||
* 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;
|
||||
|
|
@ -858,9 +856,8 @@ int type, which, hit, damage;
|
|||
/*
|
||||
* 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;
|
||||
|
|
@ -889,8 +886,7 @@ int nitems;
|
|||
*/
|
||||
|
||||
char *
|
||||
blesscurse(flags)
|
||||
int flags;
|
||||
blesscurse(int flags)
|
||||
{
|
||||
if (flags & ISKNOW) {
|
||||
if (flags & ISCURSED) return("cursed ");
|
||||
|
|
@ -903,11 +899,11 @@ int flags;
|
|||
/*
|
||||
* p_kind returns the type of potion for some types of identified potions;
|
||||
* otherwise, it returns the color.
|
||||
* We assume that obj points to a potion
|
||||
*/
|
||||
|
||||
char *
|
||||
p_kind(obj)
|
||||
struct object *obj; /* We assume that obj points to a potion */
|
||||
p_kind(struct object *obj)
|
||||
{
|
||||
if (obj->o_which == P_ABIL) return(abilities[obj->o_kind]);
|
||||
else return(p_colors[obj->o_which]);
|
||||
|
|
@ -917,7 +913,8 @@ struct object *obj; /* We assume that obj points to a potion */
|
|||
* extras:
|
||||
* Return the number of extra items to be created
|
||||
*/
|
||||
extras()
|
||||
int
|
||||
extras(void)
|
||||
{
|
||||
reg int i;
|
||||
|
||||
|
|
|
|||
|
|
@ -16,18 +16,22 @@
|
|||
* Anything to do with trading posts
|
||||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include "curses.h"
|
||||
#include "rogue.h"
|
||||
|
||||
|
||||
|
||||
bool open_market(void);
|
||||
void trans_line(void);
|
||||
char *typ_name(struct object *obj);
|
||||
|
||||
|
||||
/*
|
||||
* buy_it:
|
||||
* Buy the item on which the hero stands
|
||||
*/
|
||||
buy_it()
|
||||
void
|
||||
buy_it(void)
|
||||
{
|
||||
reg int wh;
|
||||
struct linked_list *item;
|
||||
|
|
@ -79,9 +83,10 @@ buy_it()
|
|||
/*
|
||||
* do_post:
|
||||
* Put a trading post room and stuff on the screen
|
||||
* startup: True if equipping the player at the beginning of the game
|
||||
*/
|
||||
do_post(startup)
|
||||
bool startup; /* True if equipping the player at the beginning of the game */
|
||||
void
|
||||
do_post(bool startup)
|
||||
{
|
||||
coord tp;
|
||||
reg int i, j, k;
|
||||
|
|
@ -322,8 +327,8 @@ bool startup; /* True if equipping the player at the beginning of the game */
|
|||
* 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;
|
||||
|
||||
|
|
@ -393,7 +398,8 @@ reg struct object *obj;
|
|||
* open_market:
|
||||
* Retruns TRUE when ok do to transacting
|
||||
*/
|
||||
open_market()
|
||||
bool
|
||||
open_market(void)
|
||||
{
|
||||
if (trader >= MAXPURCH && !wizard && level != 0) {
|
||||
msg("The market is closed. The stairs are that-a-way.");
|
||||
|
|
@ -408,7 +414,8 @@ open_market()
|
|||
* 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;
|
||||
|
|
@ -445,7 +452,8 @@ price_it()
|
|||
* sell_it:
|
||||
* Sell an item to the trading post
|
||||
*/
|
||||
sell_it()
|
||||
void
|
||||
sell_it(void)
|
||||
{
|
||||
reg struct linked_list *item;
|
||||
reg struct object *obj;
|
||||
|
|
@ -491,7 +499,8 @@ sell_it()
|
|||
* trans_line:
|
||||
* Show how many transactions the hero has left
|
||||
*/
|
||||
trans_line()
|
||||
void
|
||||
trans_line(void)
|
||||
{
|
||||
if (level == 0)
|
||||
sprintf(prbuf, "You are welcome to spend whatever you have.");
|
||||
|
|
@ -511,8 +520,7 @@ trans_line()
|
|||
* 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;
|
||||
|
|
|
|||
108
arogue7/util.c
108
arogue7/util.c
|
|
@ -35,8 +35,7 @@ extern struct uwdata wdata;
|
|||
* this routine computes the players current AC without dex bonus's
|
||||
*/
|
||||
int
|
||||
ac_compute(ignoremetal)
|
||||
bool ignoremetal;
|
||||
ac_compute(bool ignoremetal)
|
||||
{
|
||||
register int ac;
|
||||
|
||||
|
|
@ -69,8 +68,8 @@ bool ignoremetal;
|
|||
* aggravate all the monsters on this level
|
||||
*/
|
||||
|
||||
aggravate(do_uniques, do_good)
|
||||
bool do_uniques, do_good;
|
||||
void
|
||||
aggravate(bool do_uniques, bool do_good)
|
||||
{
|
||||
register struct linked_list *mi;
|
||||
register struct thing *thingptr;
|
||||
|
|
@ -87,8 +86,8 @@ bool do_uniques, do_good;
|
|||
* 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;
|
||||
|
|
@ -134,7 +133,7 @@ register int y, x;
|
|||
* further levels
|
||||
*/
|
||||
long
|
||||
check_level()
|
||||
check_level(void)
|
||||
{
|
||||
register int i, j, add = 0;
|
||||
register unsigned long exp;
|
||||
|
|
@ -178,8 +177,8 @@ check_level()
|
|||
* 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 */
|
||||
|
|
@ -201,7 +200,8 @@ register int amt;
|
|||
/*
|
||||
* let's confuse the player
|
||||
*/
|
||||
confus_player()
|
||||
void
|
||||
confus_player(void)
|
||||
{
|
||||
if (off(player, ISCLEAR))
|
||||
{
|
||||
|
|
@ -218,7 +218,8 @@ confus_player()
|
|||
/*
|
||||
* 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) {
|
||||
|
|
@ -236,9 +237,8 @@ dex_compute()
|
|||
* 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;
|
||||
|
||||
|
|
@ -258,10 +258,7 @@ struct thing *flgptr;
|
|||
* 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;
|
||||
|
|
@ -339,8 +336,8 @@ int range;
|
|||
* Find the index into the monster table of a monster given its name.
|
||||
*/
|
||||
|
||||
findmindex(name)
|
||||
char *name;
|
||||
int
|
||||
findmindex(char *name)
|
||||
{
|
||||
int which;
|
||||
|
||||
|
|
@ -361,9 +358,7 @@ char *name;
|
|||
*/
|
||||
|
||||
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;
|
||||
|
|
@ -383,9 +378,7 @@ register int x;
|
|||
*/
|
||||
|
||||
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;
|
||||
|
|
@ -403,7 +396,7 @@ register int x;
|
|||
* get coordinates from the player using the cursor keys (or mouse)
|
||||
*/
|
||||
coord
|
||||
get_coordinates()
|
||||
get_coordinates(void)
|
||||
{
|
||||
register int which;
|
||||
coord c;
|
||||
|
|
@ -550,8 +543,7 @@ get_coordinates()
|
|||
* set up the direction co_ordinate for use in various "prefix" commands
|
||||
*/
|
||||
bool
|
||||
get_dir(direction)
|
||||
coord *direction;
|
||||
get_dir(coord *direction)
|
||||
{
|
||||
register char *prompt;
|
||||
register bool gotit;
|
||||
|
|
@ -610,8 +602,8 @@ coord *direction;
|
|||
/*
|
||||
* 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;
|
||||
|
|
@ -650,11 +642,12 @@ register struct object *obj;
|
|||
/*
|
||||
* 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;
|
||||
|
|
@ -938,8 +931,8 @@ bool runend; /* At end of a run -- for mazes */
|
|||
* Lower a level of experience
|
||||
*/
|
||||
|
||||
lower_level(who)
|
||||
short who;
|
||||
void
|
||||
lower_level(short who)
|
||||
{
|
||||
int fewer, nsides;
|
||||
unsigned int exp;
|
||||
|
|
@ -971,8 +964,7 @@ short who;
|
|||
* print out the name of a monster
|
||||
*/
|
||||
char *
|
||||
monster_name(tp)
|
||||
register struct thing *tp;
|
||||
monster_name(struct thing *tp)
|
||||
{
|
||||
prbuf[0] = '\0';
|
||||
if (on(*tp, ISFLEE) || on(*tp, WASTURNED))
|
||||
|
|
@ -1003,8 +995,7 @@ register struct thing *tp;
|
|||
*/
|
||||
|
||||
bool
|
||||
move_hero(why)
|
||||
int why;
|
||||
move_hero(int why)
|
||||
{
|
||||
char *action = "";
|
||||
char which;
|
||||
|
|
@ -1049,7 +1040,8 @@ int why;
|
|||
* The guy just magically went up a level.
|
||||
*/
|
||||
|
||||
raise_level()
|
||||
void
|
||||
raise_level(void)
|
||||
{
|
||||
unsigned long test; /* Next level -- be sure it is not an overflow */
|
||||
|
||||
|
|
@ -1081,11 +1073,12 @@ static int st_matrix[NUM_CHARTYPES][5] = {
|
|||
/*
|
||||
* save:
|
||||
* See if a creature saves against something
|
||||
* which: which type of save
|
||||
* who: who is saving
|
||||
* adj: saving throw adjustment
|
||||
*/
|
||||
save(which, who, adj)
|
||||
int which; /* which type of save */
|
||||
struct thing *who; /* who is saving */
|
||||
int adj; /* saving throw adjustment */
|
||||
bool
|
||||
save(int which, struct thing *who, int adj)
|
||||
{
|
||||
register int need, level, protect;
|
||||
|
||||
|
|
@ -1144,8 +1137,8 @@ int adj; /* saving throw adjustment */
|
|||
* 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;
|
||||
|
|
@ -1168,7 +1161,8 @@ register int y, x;
|
|||
/*
|
||||
* 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) {
|
||||
|
|
@ -1184,9 +1178,8 @@ str_compute()
|
|||
/*
|
||||
* 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;
|
||||
|
||||
|
|
@ -1204,8 +1197,7 @@ register int len;
|
|||
*/
|
||||
|
||||
char *
|
||||
tr_name(ch)
|
||||
char ch;
|
||||
tr_name(char ch)
|
||||
{
|
||||
register char *s = "";
|
||||
|
||||
|
|
@ -1235,8 +1227,7 @@ char ch;
|
|||
* for printfs: if string starts with a vowel, return "n" for an "an"
|
||||
*/
|
||||
char *
|
||||
vowelstr(str)
|
||||
register char *str;
|
||||
vowelstr(char *str)
|
||||
{
|
||||
switch (*str)
|
||||
{
|
||||
|
|
@ -1254,8 +1245,8 @@ register char *str;
|
|||
/*
|
||||
* wake up a room full (hopefully) of creatures
|
||||
*/
|
||||
wake_room(rp)
|
||||
register struct room *rp;
|
||||
void
|
||||
wake_room(struct room *rp)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
register struct thing *tp;
|
||||
|
|
@ -1273,7 +1264,8 @@ register struct room *rp;
|
|||
* Do nothing but let other things happen
|
||||
*/
|
||||
|
||||
waste_time()
|
||||
void
|
||||
waste_time(void)
|
||||
{
|
||||
if (inwhgt) /* if from wghtchk then done */
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -22,10 +22,8 @@
|
|||
#include <string.h>
|
||||
#include "rogue.h"
|
||||
|
||||
boomerang(ydelta, xdelta, item, tp)
|
||||
int ydelta, xdelta;
|
||||
register struct linked_list *item;
|
||||
register struct thing *tp;
|
||||
void
|
||||
boomerang(int ydelta, int xdelta, struct linked_list *item, struct thing *tp)
|
||||
{
|
||||
register struct object *obj;
|
||||
struct thing midpoint;
|
||||
|
|
@ -56,10 +54,8 @@ register struct thing *tp;
|
|||
* across the room. Note that we should not look at any field in
|
||||
* tp other than t_pos unless we change boomerang().
|
||||
*/
|
||||
do_motion(obj, ydelta, xdelta, tp)
|
||||
register struct object *obj;
|
||||
register int ydelta, xdelta;
|
||||
register struct thing *tp;
|
||||
void
|
||||
do_motion(struct object *obj, int ydelta, int xdelta, struct thing *tp)
|
||||
{
|
||||
|
||||
/*
|
||||
|
|
@ -115,9 +111,8 @@ register struct thing *tp;
|
|||
* 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;
|
||||
|
|
@ -170,10 +165,8 @@ bool pr;
|
|||
* 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;
|
||||
|
||||
|
|
@ -203,9 +196,8 @@ register struct thing *tp;
|
|||
* 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;
|
||||
|
||||
|
|
@ -228,10 +220,8 @@ char type;
|
|||
* 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;
|
||||
|
|
@ -303,8 +293,7 @@ register struct thing *tp;
|
|||
*/
|
||||
|
||||
char *
|
||||
num(n1, n2)
|
||||
register int n1, n2;
|
||||
num(int n1, int n2)
|
||||
{
|
||||
static char numbuf[LINELEN];
|
||||
|
||||
|
|
@ -324,7 +313,8 @@ register int n1, n2;
|
|||
* Pull out a certain weapon
|
||||
*/
|
||||
|
||||
wield()
|
||||
void
|
||||
wield(void)
|
||||
{
|
||||
register struct linked_list *item;
|
||||
register struct object *obj, *oweapon;
|
||||
|
|
|
|||
|
|
@ -26,7 +26,8 @@
|
|||
* Get the armor off of the players back
|
||||
*/
|
||||
|
||||
take_off()
|
||||
void
|
||||
take_off(void)
|
||||
{
|
||||
register struct object *obj;
|
||||
register struct linked_list *item;
|
||||
|
|
@ -75,7 +76,8 @@ take_off()
|
|||
* 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;
|
||||
|
|
@ -389,8 +391,8 @@ wear()
|
|||
* How many movements periods does it take to put on or remove the
|
||||
* given item of "clothing"?
|
||||
*/
|
||||
dress_units(item)
|
||||
struct linked_list *item;
|
||||
int
|
||||
dress_units(struct linked_list *item)
|
||||
{
|
||||
register struct object *obj;
|
||||
|
||||
|
|
|
|||
|
|
@ -19,20 +19,21 @@
|
|||
|
||||
#include "curses.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include "rogue.h"
|
||||
#ifdef PC7300
|
||||
#include "menu.h"
|
||||
#endif
|
||||
|
||||
int getbless(void);
|
||||
|
||||
/*
|
||||
* 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;
|
||||
|
|
@ -329,7 +330,8 @@ int which_item, which_type;
|
|||
* getbless:
|
||||
* Get a blessing for a wizards object
|
||||
*/
|
||||
getbless()
|
||||
int
|
||||
getbless(void)
|
||||
{
|
||||
reg char bless;
|
||||
|
||||
|
|
@ -346,7 +348,8 @@ getbless()
|
|||
/*
|
||||
* get a non-monster death type
|
||||
*/
|
||||
getdeath()
|
||||
int
|
||||
getdeath(void)
|
||||
{
|
||||
register int i;
|
||||
int which_death;
|
||||
|
|
@ -381,10 +384,10 @@ static char Displines[NUMMONST+1][LINELEN+1]; /* The lines themselves */
|
|||
|
||||
/*
|
||||
* make a monster for the wizard
|
||||
* showall -> show uniques and genocided creatures
|
||||
*/
|
||||
makemonster(showall, label, action)
|
||||
bool showall; /* showall -> show uniques and genocided creatures */
|
||||
char *label, *action;
|
||||
short
|
||||
makemonster(bool showall, char *label, char *action)
|
||||
{
|
||||
#ifdef PC7300
|
||||
register int nextmonst;
|
||||
|
|
@ -439,7 +442,7 @@ char *label, *action;
|
|||
|
||||
/* 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;
|
||||
|
|
@ -508,7 +511,8 @@ get_monst:
|
|||
* see if user knows password
|
||||
*/
|
||||
|
||||
passwd()
|
||||
bool
|
||||
passwd(void)
|
||||
{
|
||||
register char *sp, c;
|
||||
char buf[LINELEN], *crypt();
|
||||
|
|
@ -535,7 +539,8 @@ passwd()
|
|||
* Bamf the hero someplace else
|
||||
*/
|
||||
|
||||
teleport()
|
||||
int
|
||||
teleport(void)
|
||||
{
|
||||
register struct room *new_rp = NULL, *old_rp = roomin(&hero);
|
||||
register int rm, which;
|
||||
|
|
@ -636,8 +641,8 @@ teleport()
|
|||
* 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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue