$NetBSD: patch-ae,v 1.2 2003/12/06 19:28:22 ben Exp $ --- data.c.orig 1992-06-19 13:55:29.000000000 -0700 +++ data.c @@ -102,7 +102,7 @@ long skill[] = { }; #undef MEG -char *tempfilename; +char *tempfilename = NULL; char *lpbuf, *lpnt, @@ -114,27 +114,27 @@ char loginname[20]; /* players login na char logname[LOGNAMESIZE]; /* players name storage for scoring */ char char_class[20]; /* character class */ -short hitp[MAXX][MAXY]; /* monster hp on level */ -short iarg[MAXX][MAXY]; /* arg for the item array */ -short lastnum=0; /* the number of the monster last hitting player, or */ - /* reason why dead */ +int hitp[MAXX][MAXY]; /* monster hp on level */ +int iarg[MAXX][MAXY]; /* arg for the item array */ +int lastnum=0; /* number of monster last hitting player, or */ + /* reason why dead */ -char compress +int compress #ifdef DEF_COMPRESS = 1; #else = 0; #endif -char item[MAXX][MAXY]; /* objects in maze if any */ -char know[MAXX][MAXY]; /* 1 or 0 if here before */ -/*char mitem[MAXX][MAXY]; /* monster item array */ -char moved[MAXX][MAXY]; /* monster movement flags */ -char stealth[MAXX][MAXY]; /* 0=sleeping 1=awake monst */ -char iven[IVENSIZE]; /* inventory for player */ +int item[MAXX][MAXY]; /* objects in maze if any */ +int know[MAXX][MAXY]; /* 1 or 0 if here before */ +/*char mitem[MAXX][MAXY]; *//* monster item array */ +int moved[MAXX][MAXY]; /* monster movement flags */ +int stealth[MAXX][MAXY]; /* 0=sleeping 1=awake monst */ +int iven[IVENSIZE]; /* inventory for player */ short ivenarg[IVENSIZE]; /* inventory args for player */ -char beenhere[NLEVELS]={0}; /* 1 if have been on this level */ -char nosignal=0; /* set to 1 to disable the signals from doing anything*/ -char predostuff=0; /* +int beenhere[NLEVELS]={0}; /* 1 if have been on this level */ +int nosignal=0; /* set to 1 to disable the signals from doing anything*/ +int predostuff=0; /* ** 2 means that the trap handling routines must do a ** showplayer() after a trap. 0 means don't showplayer() ** 0 - we are in create player screen @@ -142,27 +142,29 @@ char predostuff=0; /* ** 2 - we are in the normal game */ -char ramboflag=0; -char do_fork=0; -char sex=1; /* default is man, 0=woman */ -char boldon=1; /* 1=bold objects, 0=inverse objects */ -char mail=1; /* 1=mail letters after win game */ -char ckpflag=0; /* 1 if want checkpointing of game, 0 otherwise */ -char cheat=0; /* 1 if the player has fudged save file */ -char level=0; /* cavelevel player is on = c[CAVELEVEL]*/ -char wizard=0; /* the wizard mode flag */ -char hitflag=0; /* flag for if player has been hit when running */ -char hit2flag=0; /* flag for if player has been hit when running */ -char hit3flag=0; /* flag for if player has been hit flush input*/ -char playerx,playery; /* the room on the present level of the player*/ -char lastpx,lastpy; /* 0 --- MAXX-1 or 0 --- MAXY-1 */ -char oldx,oldy; -char lasthx=0,lasthy=0;/* location of monster last hit by player*/ -char nobeep=0; /* true if program is not to beep*/ -char char_picked; /* the character chosen */ - -char enable_scroll=0; /* constant for enabled/disabled scrolling regn */ - +int ramboflag=0; +int do_fork=0; +int sex=1; /* default is man, 0=woman */ +int boldon=1; /* 1=bold objects, 0=inverse objects */ +int mail=1; /* 1=mail letters after win game */ +int ckpflag=0; /* 1 if want checkpointing of game, 0 otherwise */ +int cheat=0; /* 1 if the player has fudged save file */ +int level=0; /* cavelevel player is on = c[CAVELEVEL]*/ +int wizard=0; /* the wizard mode flag */ +int hitflag=0; /* flag for if player has been hit when running */ +int hit2flag=0; /* flag for if player has been hit when running */ +int hit3flag=0; /* flag for if player has been hit flush input*/ +int playerx,playery; /* the room on the present level of the player*/ +int oldx,oldy; +int nobeep=0; /* true if program is not to beep*/ +int char_picked; /* the character chosen */ + +int enable_scroll=0; /* constant for enabled/disabled scrolling regn */ + +int lastpx; /* 0 --- MAXX-1 */ +int lastpy; /* 0 --- MAXY-1 */ +int lasthx = 0; /* location of monster last hit by player */ +int lasthy = 0; /* location of monster last hit by player */ long initialtime=0; /* time playing began */ long gtime=0; /* the clock for the game */ @@ -289,7 +291,7 @@ char *objectname[]= * * array to do rnd() to create monsters <= a given level */ -char monstlevel[] = {5, 11, 17, 22, 27, 33, 39, 42, 46, 50, 53, 56}; +int monstlevel[] = {5, 11, 17, 22, 27, 33, 39, 42, 46, 50, 53, 56}; struct monst monster[] = { @@ -380,82 +382,85 @@ struct monst monster[] = { /* name array for scrolls */ char *scrollname[MAXSCROLL] = { - "\0enchant armor", - "\0enchant weapon", - "\0enlightenment", - "\0blank paper", - "\0create monster", - "\0create artifact", - "\0aggravate monsters", - "\0time warp", - "\0teleportation", - "\0expanded awareness", - "\0haste monsters", - "\0monster healing", - "\0spirit protection", - "\0undead protection", - "\0stealth", - "\0magic mapping", - "\0hold monsters", - "\0gem perfection", - "\0spell extension", - "\0identify", - "\0remove curse", - "\0annihilation", - "\0pulverization", - "\0life protection", - "\0 ", - "\0 ", - "\0 ", - "\0 " + "enchant armor", + "enchant weapon", + "enlightenment", + "blank paper", + "create monster", + "create artifact", + "aggravate monsters", + "time warp", + "teleportation", + "expanded awareness", + "haste monsters", + "monster healing", + "spirit protection", + "undead protection", + "stealth", + "magic mapping", + "hold monsters", + "gem perfection", + "spell extension", + "identify", + "remove curse", + "annihilation", + "pulverization", + "life protection", + " ", + " ", + " ", + " " }; +int scrollknown[MAXSCROLL]; + /* name array for magic potions */ char *potionname[MAXPOTION] = { - "\0sleep", - "\0healing", - "\0raise level", - "\0increase ability", - "\0wisdom", - "\0strength", - "\0raise charisma", - "\0dizziness", - "\0learning", - "\0gold detection", - "\0monster detection", - "\0forgetfulness", - "\0water", - "\0blindness", - "\0confusion", - "\0heroism", - "\0sturdiness", - "\0giant strength", - "\0fire resistance", - "\0treasure finding", - "\0instant healing", - " cure dianthroritis", - "\0poison", - "\0see invisible", - "\0 ", - "\0 ", - "\0 ", - "\0 ", - "\0 ", - "\0 ", - "\0 ", - "\0 ", - "\0 ", - "\0 ", - "\0 " + "sleep", + "healing", + "raise level", + "increase ability", + "wisdom", + "strength", + "raise charisma", + "dizziness", + "learning", + "gold detection", + "monster detection", + "forgetfulness", + "water", + "blindness", + "confusion", + "heroism", + "sturdiness", + "giant strength", + "fire resistance", + "treasure finding", + "instant healing", + "cure dianthroritis", + "poison", + "see invisible", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " }; +int potionknown[MAXPOTION]; /* ** i = rund((tmp=splev[lev])?tmp:1); ** i = rnd((tmp=splev[lev]-9) ?tmp:1 ) + 9; */ -char spelknow[SPNUM]={0}; -char splev[] = { +int spelknow[SPNUM]={0}; +int splev[] = { 1,4,7,11,15, 20,24,28,30,32, 33,34,35,36,37, @@ -762,7 +767,7 @@ char *spelmes[] = { * 20 - remove curse 21 - annihilation * 22 - pulverization 23 - life protection */ -char scprob[]= { +int scprob[]= { 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, @@ -800,15 +805,15 @@ char scprob[]= { * 22 - poison * 23 - see invisible */ -char potprob[] = { +int potprob[] = { 0, 0, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 20, 22, 22, 23, 23 }; /* 41 total */ -char nlpts[] = { 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7 }; -char nch[] = { 0, 0, 0, 1, 1, 1, 2, 2, 3, 4 }; -char nplt[] = { 0, 0, 0, 0, 1, 1, 2, 2, 3, 4 }; -char ndgg[] = { 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5 }; -char nsw[] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 3 }; +int nlpts[] = { 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7 }; +int nch[] = { 0, 0, 0, 1, 1, 1, 2, 2, 3, 4 }; +int nplt[] = { 0, 0, 0, 0, 1, 1, 2, 2, 3, 4 }; +int ndgg[] = { 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5 }; +int nsw[] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 3 };