MAXX
for (i = 0; i < MAXX; i++)
for (j = 0; j < MAXX; j++)
for (i = 1; i < MAXX - 1; i++)
if (xx >= MAXX - 3)
for (j = 0; j < MAXX; j++) {
for (tx = 1 + rnd(10); tx < MAXX - 10; tx += 10)
troom(lv, xsize, ysize, tx = tx + rnd(MAXX - 24), ty, rnd(3) + 6);
playerx = rnd(MAXX - 2);
x = rnd(MAXX - 2);
if (x > MAXX - 2)
x = MAXX - 2;
x = rnd(MAXX - 2);
for (j = 0; j < MAXX; j++)
for (x = 0; x < MAXX; x++)
for (j = 0; j < MAXX; j++)
short hitp[MAXX][MAXY]; /* monster hp on level */
short iarg[MAXX][MAXY]; /* arg for the item array */
u_char item[MAXX][MAXY]; /* objects in maze if any */
u_char know[MAXX][MAXY]; /* 1 or 0 if here before */
u_char mitem[MAXX][MAXY]; /* monster item array */
u_char moved[MAXX][MAXY]; /* monster movement flags */
u_char stealth[MAXX][MAXY]; /* 0=sleeping 1=awake monst */
for (i = 0; i < MAXX; i++)
if (cell[p * MAXX * MAXY + i * MAXY + j].item == l)
for (j = 0; j < MAXX; j++)
lwrite((char *) &cell[k * MAXX * MAXY], sizeof(struct cel) * MAXY * MAXX);
lrfill((char *) &cell[k * MAXX * MAXY], sizeof(struct cel) * MAXY * MAXX);
static int d_xmin = 0, d_xmax = MAXX, d_ymin = 0, d_ymax = MAXY;
if (xmin == 0 && xmax == MAXX) { /* clear section of screen as
if (xmin <= 0 && xmax == MAXX) { /* draw stuff on right side
u_char screen[MAXX][MAXY]; /* template for the screen */
if (d_xmin == 0 && d_xmax == MAXX && d_ymin == 0 && d_ymax == MAXY) {
d_xmin = 0, d_xmax = MAXX, d_ymin = 0, d_ymax = MAXY; /* for limited screen
if (maxx > MAXX - 1)
maxx = MAXX - 1;
if (kk < 0 || kk >= MAXX || mm < 0 || mm >= MAXY) {
for (kk = 0; kk < MAXX; kk++)
draws(0, MAXX, 0, number);
if (++playerx >= MAXX - 1) {
extern u_char item[MAXX][MAXY], iven[], know[MAXX][MAXY];
extern u_char *lpnt, moved[MAXX][MAXY], mitem[MAXX][MAXY], monstlevel[];
extern u_char screen[MAXX][MAXY], sex;
extern u_char splev[], stealth[MAXX][MAXY], wizard;
extern short diroffx[], diroffy[], hitflag, hit2flag, hit3flag, hitp[MAXX][MAXY];
extern short iarg[MAXX][MAXY], ivenarg[], lasthx, lasthy, lastnum, lastpx,
cell = (struct cel *) malloc(sizeof(struct cel) * (MAXLEVEL + MAXVLEVEL) * MAXX * MAXY);
draws(0, MAXX, 0, (count > MAXY) ? MAXY : count);
if (i >= MAXX)
for (j = 0; j < MAXX; j++)
for (i = MAXX - 1; i > MAXX - 1 - MAXPOTION; i--)
if (strlen(potionname[i - MAXX + MAXPOTION]) > 2) { /* no null items */
iarg[i][0] = i - MAXX + MAXPOTION;
for (i = MAXY; i < MAXY + MAXX; i++) {
for (i = MAXX + MAXY; i < MAXX + MAXY + MAXY; i++) {
item[MAXX - 1][i - MAXX - MAXY] = i;
iarg[MAXX - 1][i - MAXX - MAXY] = 0;
if (*x >= MAXX) {
*x = MAXX - 1;
if (x >= MAXX - 1)
x = MAXX - 2;
for (j = max(1, x - 2); j < min(x + 3, MAXX - 1); j++)
draws(0, MAXX, 0, MAXY);
if ((y >= 0) && (y <= MAXY - 1) && (x >= 0) && (x <= MAXX - 1))
xh = min(playerx + 1, MAXX - 2);
save = (struct isave *) malloc(sizeof(struct isave) * MAXX * MAXY * 2);
for (i = 0; i < MAXX; i++) { /* save all items and
for (j = rnd(MAXY - 2), i = 1; i < MAXX - 1; i++)
for (trys = 100, i = j = 1; --trys > 0 && item[i][j]; i = rnd(MAXX - 1), j = rnd(MAXY - 1));
for (trys = 100, i = j = 1; --trys > 0 && (item[i][j] == OWALL || mitem[i][j]); i = rnd(MAXX - 1), j = rnd(MAXY - 1));
draws(0, MAXX, 0, MAXY);
if ((x > MAXX - 1) || (y > MAXY - 1) || (x < 0) || (y < 0)) {
if ((x < MAXX - 1) && (y < MAXY - 1) && (x) && (y)) {
if (xl >= MAXX)
xl = MAXX - 1;
if (tmp4 > MAXX)
tmp4 = MAXX;
if (tmp4 > MAXX - 1)
tmp4 = MAXX - 1;
for (j = 0; j < MAXX; j++)
for (j = 0; j < MAXX; j++)
draws(0, MAXX, 0, MAXY);
draws(0, MAXX, 0, MAXY);
draws(0, MAXX, 0, MAXY);
for (j = 0; j < MAXX; j++) /* put player near
j = MAXX;
draws(0, MAXX, 0, MAXY);
for (j = 0; j < MAXX; j++) /* put player near
j = MAXX;
draws(0, MAXX, 0, MAXY);
draws(0, MAXX, 0, MAXY);
draws(0, MAXX, 0, MAXY);
draws(0, MAXX, 0, MAXY);
playerx = rnd(MAXX - 2);
draws(0, MAXX, 0, MAXY);
for (j = 0; j < MAXX; j++)
for (j = 0; j < MAXX; j++) {
for (j = 0; j < MAXX; j++)
for (j = 0; j < MAXX; j++)
draws(0, MAXX, 0, MAXY); /* potion of forgetfulness */
xh = min(playerx + 25, MAXX);
pcel = &cell[level * MAXX * MAXY]; /* pointer to this level's
pecel = pcel + MAXX * MAXY; /* pointer to past end of this
pcel = &cell[level * MAXX * MAXY]; /* pointer to this level's
pecel = pcel + MAXX * MAXY; /* pointer to past end of this