File src/mklev.c


Included Files


Preprocessor definitions

#define create_vault

#define init_vault

#define do_vault

#define x_maze_min 2

#define y_maze_min 2


Global Variable goldseen

boolean goldseen
Visible in:  src/mklev.c
Used in: makelevel()src/mklev.c

External Variables

n_dgns
extern int n_dgns
Defined in: src/dungeon.c

Local Variables

vault_x
static xchar vault_x
Used in: clear_level_structures()
  makelevel()
  makerooms()

vault_y
static xchar vault_y
Used in: makelevel()
  makerooms()

made_branch
static boolean made_branch
Used in: clear_level_structures()
  place_branch()

trap_engravings
static const char* trap_engravings[23]
Used in: makeniche()


Global Function add_door()

void add_door ( int x, int y, struct mkroom* aroom )
Prototyped in: include/extern.h
Called by: dosdoor()src/mklev.c
References Variables: doorindexsrc/decl.c
  doorssrc/decl.c

Global Function add_room()

void add_room ( int lowx, int lowy, int hix, int hiy, boolean lit, schar rtype, boolean special )
Prototyped in: include/extern.h
Calls: do_room_or_subroom()src/mklev.c
Called by: makelevel()src/mklev.c
  makeroguerooms()src/extralev.c
References Variables: nroomsrc/decl.c
  roomssrc/decl.c

Global Function add_subroom()

void add_subroom ( struct mkroom* proom, int lowx, int lowy, int hix, int hiy, boolean lit, schar rtype, boolean special )
Prototyped in: include/extern.h
Calls: do_room_or_subroom()src/mklev.c
References Variables: nsubroomsrc/decl.c
  subroomssrc/decl.c

Global Function dodoor()

void dodoor ( int x, int y, struct mkroom* aroom )
Prototyped in: include/extern.h
Calls: dosdoor()src/mklev.c
  impossible(), rn2()
Called by: join()src/mklev.c
  roguecorr()src/extralev.c
References Variables: doorindexsrc/decl.c

Global Function makecorridors()

void makecorridors ( void )
Prototyped in: include/extern.h
Calls: join()src/mklev.c
  rn2()
Called by: makelevel()src/mklev.c
References Variables: nroomsrc/decl.c
  smeqsrc/decl.c

Global Function mkinvokearea()

void mkinvokearea ( void )
Prototyped in: include/extern.h
Calls: flush_screen()src/display.c
  mkinvpos()src/mklev.c
  mkstairs()src/mklev.c
  newsym()src/display.c
  You(), pline_The()
References Variables: WIN_MESSAGEsrc/decl.c
  inv_possrc/decl.c
  usrc/decl.c
  vision_full_recalcsrc/decl.c
  windowprocs

Global Function mklev()

void mklev ( void )
Prototyped in: include/extern.h
Calls: getbones()src/bones.c
  makelevel()src/mklev.c
  mineralize()src/mklev.c
  set_wall_state()src/display.c
  topologize()src/mklev.c
  bound_digging()
Called by: goto_level()src/do.c
  newgame()src/allmain.c
References Variables: in_mklevsrc/decl.c
  levelsrc/decl.c
  nroomsrc/decl.c
  roomssrc/decl.c

Global Function mkstairs()

void mkstairs ( xchar x, xchar y, char up, struct mkroom* croom )
Prototyped in: include/extern.h
Calls: dunlev()src/dungeon.c
  dunlevs_in_dungeon()src/dungeon.c
  impossible()
Called by: makelevel()src/mklev.c
  mkinvokearea()src/mklev.c
References Variables: dnstairsrc/decl.c
  dnstairs_roomsrc/decl.c
  levelsrc/decl.c
  usrc/decl.c
  upstairsrc/decl.c
  upstairs_roomsrc/decl.c

Global Function mktrap()

void mktrap ( int num, int mazeflag, struct mkroom* croom, coord* tm )
Prototyped in: include/extern.h
Calls: Can_fall_thru()src/dungeon.c
  In_hell()src/dungeon.c
  is_pool()src/dbridge.c
  level_difficulty()src/dungeon.c
  makemon()src/makemon.c
  occupied()src/mklev.c
  on_level()src/dungeon.c
  sobj_at()src/invent.c
  maketrap(), mazexy(), rn2(), rnd(), somexy()
Called by: makelevel()src/mklev.c
References Variables: dungeon_topologysrc/decl.c
  levelsrc/decl.c
  usrc/decl.c
  mons

Global Function occupied()

boolean occupied ( xchar x, xchar y )
Prototyped in: include/extern.h
Calls: invocation_pos()src/hack.c
  is_lava()src/dbridge.c
  is_pool()src/dbridge.c
  t_at()
Called by: find_branch_room()src/mklev.c
  goto_level()src/do.c
  makelevel()src/mklev.c
  mkaltar()src/mklev.c
  mkfount()src/mklev.c
  mkgrave()src/mklev.c
  mksink()src/mklev.c
  mktrap()src/mklev.c
References Variables: levelsrc/decl.c

Global Function okdoor()

int okdoor ( xchar x, xchar y )
Prototyped in: include/extern.h
Calls: bydoor()src/mklev.c
Called by: finddpos()src/mklev.c
  join()src/mklev.c
References Variables: doorindexsrc/decl.c
  levelsrc/decl.c

Global Function place_branch()

void place_branch ( branch* br, xchar x, xchar y )
Prototyped in: include/extern.h
Calls: assign_level()src/dungeon.c
  find_branch_room()src/mklev.c
  on_level()src/dungeon.c
  pos_to_room()src/mklev.c
  mkportal()
Called by: makelevel()src/mklev.c
  mk_knox_portal()src/mklev.c
References Variables: levelsrc/decl.c
  made_branchsrc/mklev.c
  sstairssrc/decl.c
  sstairs_roomsrc/decl.c
  usrc/decl.c

Global Function sort_rooms()

void sort_rooms ( void )
Prototyped in: include/extern.h
Calls: qsort()
Called by: makelevel()src/mklev.c
References Functions: do_comp()src/mklev.c
References Variables: nroomsrc/decl.c
  roomssrc/decl.c

Global Function topologize()

void topologize ( struct mkroom* croom )
Prototyped in: include/extern.h
Calls: topologize()src/mklev.c
Called by: mklev()src/mklev.c
  topologize()src/mklev.c
References Variables: levelsrc/decl.c
  roomssrc/decl.c

Local Function bydoor()

static boolean bydoor ( xchar x, xchar y )
Prototyped in: src/mklev.c
Calls: isok()src/cmd.c
Called by: mkaltar()src/mklev.c
  mkfount()src/mklev.c
  mkgrave()src/mklev.c
  mksink()src/mklev.c
  okdoor()src/mklev.c
References Variables: levelsrc/decl.c

Local Function clear_level_structures()

static void clear_level_structures ( void )
Prototyped in: src/mklev.c
Calls: clear_regions(), init_rect(), memset()
Called by: makelevel()src/mklev.c
References Variables: dnladdersrc/decl.c
  dnstairsrc/decl.c
  doorindexsrc/decl.c
  levelsrc/decl.c
  made_branchsrc/mklev.c
  nroomsrc/decl.c
  nsubroomsrc/decl.c
  roomssrc/decl.c
  sstairssrc/decl.c
  subroomssrc/decl.c
  upladdersrc/decl.c
  upstairsrc/decl.c
  vault_xsrc/mklev.c

Local Function do_comp()

static int do_comp ( const void* vx, const void* vy )
Prototyped in: src/mklev.c
Used in: sort_rooms()src/mklev.c

Local Function do_room_or_subroom()

static void do_room_or_subroom ( struct mkroom* croom, int lowx, int lowy, int hix, int hiy, boolean lit, schar rtype, boolean special, boolean is_room )
Prototyped in: src/mklev.c
Calls: wallification()
Called by: add_room()src/mklev.c
  add_subroom()src/mklev.c
References Variables: doorindexsrc/decl.c
  levelsrc/decl.c

Local Function dosdoor()

static void dosdoor ( xchar x, xchar y, struct mkroom* aroom, int type )
Prototyped in: src/mklev.c
Calls: add_door()src/mklev.c
  in_rooms()src/hack.c
  level_difficulty()src/dungeon.c
  makemon()src/makemon.c
  mkclass()src/makemon.c
  set_mimic_sym()src/makemon.c
  rn2()
Called by: dodoor()src/mklev.c
  makeniche()src/mklev.c
References Variables: levelsrc/decl.c
  mvitalssrc/decl.c

Local Function find_branch_room()

static struct mkroom* find_branch_room ( coord* mp )
Prototyped in: src/mklev.c
Calls: occupied()src/mklev.c
  impossible(), mazexy(), rn2(), somexy()
Called by: place_branch()src/mklev.c
References Variables: dnstairs_roomsrc/decl.c
  levelsrc/decl.c
  nroomsrc/decl.c
  roomssrc/decl.c
  upstairs_roomsrc/decl.c

Local Function finddpos()

static void finddpos ( coord* cc, xchar xl, xchar yl, xchar xh, xchar yh )
Prototyped in: src/mklev.c
Calls: okdoor()src/mklev.c
  rn2()
Called by: join()src/mklev.c
  place_niche()src/mklev.c
References Variables: levelsrc/decl.c

Local Function join()

static void join ( int a, int b, boolean nxcor )
Prototyped in: src/mklev.c
Calls: dodoor()src/mklev.c
  finddpos()src/mklev.c
  okdoor()src/mklev.c
  dig_corridor()
Called by: makecorridors()src/mklev.c
References Variables: doorindexsrc/decl.c
  levelsrc/decl.c
  roomssrc/decl.c
  smeqsrc/decl.c

Local Function make_niches()

static void make_niches ( void )
Prototyped in: src/mklev.c
Calls: depth()src/dungeon.c
  makeniche()src/mklev.c
  rn2(), rnd()
Called by: makelevel()src/mklev.c
References Variables: levelsrc/decl.c
  nroomsrc/decl.c
  usrc/decl.c

Local Function makelevel()

static void makelevel ( void )
Prototyped in: src/mklev.c
Calls: In_hell()src/dungeon.c
  In_mines()src/dungeon.c
  In_quest()src/dungeon.c
  Is_botlevel()src/dungeon.c
  Is_branchlev()src/dungeon.c
  Is_special()src/dungeon.c
  add_room()src/mklev.c
  clear_level_structures()src/mklev.c
  depth()src/dungeon.c
  find_level()src/dungeon.c
  init_dungeons()src/dungeon.c
  is_pool()src/dbridge.c
  level_difficulty()src/dungeon.c
  make_engr_at()src/engrave.c
  make_niches()src/mklev.c
  makecorridors()src/mklev.c
  makemon()src/makemon.c
  makerogueghost()src/extralev.c
  makeroguerooms()src/extralev.c
  makerooms()src/mklev.c
  makevtele()src/mklev.c
  mk_knox_portal()src/mklev.c
  mkaltar()src/mklev.c
  mkfount()src/mklev.c
  mkgrave()src/mklev.c
  mksink()src/mklev.c
  mkstairs()src/mklev.c
  mktrap()src/mklev.c
  occupied()src/mklev.c
  on_level()src/dungeon.c
  place_branch()src/mklev.c
  random_engraving()src/engrave.c
  sort_rooms()src/mklev.c
  abs(), check_room(), create_room(), fill_room(), impossible(), makemaz(), maketrap(), mkcorpstat(), mkgold(), mkobj_at(), mkroom(), mksobj_at(), nh_getenv(), oinit(), rn2(), rnd_rect(), somex(), somey(), sprintf(), strcat()
Called by: mklev()src/mklev.c
References Variables: dungeon_topologysrc/decl.c
  dungeonssrc/decl.c
  flagssrc/decl.c
  goldseensrc/mklev.c
  levelsrc/decl.c
  mvitalssrc/decl.c
  nroomsrc/decl.c
  roomssrc/decl.c
  usrc/decl.c
  vault_xsrc/mklev.c
  vault_ysrc/mklev.c
  mons, urole

Local Function makeniche()

static void makeniche ( int trap_type )
Prototyped in: src/mklev.c
Calls: Can_fall_thru()src/dungeon.c
  dosdoor()src/mklev.c
  make_engr_at()src/engrave.c
  place_niche()src/mklev.c
  wipe_engr_at()src/engrave.c
  maketrap(), mkobj_at(), mksobj_at(), rn2()
Called by: make_niches()src/mklev.c
  makevtele()src/mklev.c
References Variables: doorindexsrc/decl.c
  levelsrc/decl.c
  nroomsrc/decl.c
  roomssrc/decl.c
  trap_engravingssrc/mklev.c
  usrc/decl.c

Local Function makerooms()

static void makerooms ( void )
Prototyped in: src/mklev.c
Calls: create_room(), rn2(), rnd_rect()
Called by: makelevel()src/mklev.c
References Variables: nroomsrc/decl.c
  roomssrc/decl.c
  vault_xsrc/mklev.c
  vault_ysrc/mklev.c

Local Function makevtele()

static void makevtele ( void )
Prototyped in: src/mklev.c
Calls: makeniche()src/mklev.c
Called by: makelevel()src/mklev.c

Local Function mineralize()

static void mineralize ( void )
Prototyped in: src/mklev.c
Calls: In_V_tower()src/dungeon.c
  In_hell()src/dungeon.c
  In_mines()src/dungeon.c
  In_quest()src/dungeon.c
  Is_special()src/dungeon.c
  depth()src/dungeon.c
  dunlev()src/dungeon.c
  on_level()src/dungeon.c
  add_to_buried(), dealloc_obj(), mkobj(), mksobj(), mksobj_at(), place_object(), rn2(), rnd(), weight()
Called by: mklev()src/mklev.c
References Variables: dungeon_topologysrc/decl.c
  levelsrc/decl.c
  usrc/decl.c

Local Function mk_knox_portal()

static void mk_knox_portal ( xchar x, xchar y )
Prototyped in: src/mklev.c
Calls: Is_branchlev()src/dungeon.c
  at_dgn_entrance()src/dungeon.c
  depth()src/dungeon.c
  dungeon_branch()src/dungeon.c
  insert_branch()src/dungeon.c
  on_level()src/dungeon.c
  place_branch()src/mklev.c
  rn2()
Called by: makelevel()src/mklev.c
References Variables: dungeon_topologysrc/decl.c
  flagssrc/decl.c
  n_dgnssrc/dungeon.c
  usrc/decl.c

Local Function mkaltar()

static void mkaltar ( struct mkroom* croom )
Prototyped in: src/mklev.c
Calls: bydoor()src/mklev.c
  occupied()src/mklev.c
  rn2(), somexy()
Called by: makelevel()src/mklev.c
References Variables: levelsrc/decl.c

Local Function mkfount()

static void mkfount ( int mazeflag, struct mkroom* croom )
Prototyped in: src/mklev.c
Calls: bydoor()src/mklev.c
  occupied()src/mklev.c
  mazexy(), rn2(), somexy()
Called by: makelevel()src/mklev.c
References Variables: levelsrc/decl.c

Local Function mkgrave()

static void mkgrave ( struct mkroom* croom )
Prototyped in: src/mklev.c
Calls: bydoor()src/mklev.c
  make_grave()src/engrave.c
  occupied()src/mklev.c
  add_to_buried(), curse(), mkgold(), mkobj(), mksobj_at(), rn2(), somexy()
Called by: makelevel()src/mklev.c

Local Function mkinvpos()

static void mkinvpos ( xchar x, xchar y, int dist )
Prototyped in: src/mklev.c
Calls: is_pool()src/dbridge.c
  newsym()src/display.c
  panic()src/end.c
  sobj_at()src/invent.c
  deltrap(), fracture_rock(), impossible(), maketrap(), obfree(), obj_extract_self(), t_at(), unblock_point()
Called by: mkinvokearea()src/mklev.c
References Variables: levelsrc/decl.c
  viz_arraysrc/decl.c
  x_maze_maxsrc/decl.c
  y_maze_maxsrc/decl.c

Local Function mksink()

static void mksink ( struct mkroom* croom )
Prototyped in: src/mklev.c
Calls: bydoor()src/mklev.c
  occupied()src/mklev.c
  somexy()
Called by: makelevel()src/mklev.c
References Variables: levelsrc/decl.c

Local Function place_niche()

static boolean place_niche ( struct mkroom* aroom, int* dy, int* xx, int* yy )
Prototyped in: src/mklev.c
Calls: finddpos()src/mklev.c
  isok()src/cmd.c
  rn2()
Called by: makeniche()src/mklev.c
References Variables: levelsrc/decl.c

Local Function pos_to_room()

static struct mkroom* pos_to_room ( xchar x, xchar y )
Prototyped in: src/mklev.c
Calls: inside_room()
Called by: place_branch()src/mklev.c
References Variables: nroomsrc/decl.c
  roomssrc/decl.c