Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

src/mkmap.c File Reference


Detailed Description

Functions for map construction.

Note that the meta-algorithm is controlled by the data file, in data/maps.m4. Also, there is another (different) algorithm in #dll/bigmap.c

Definition in file mkmap.c.

#include "crogue.h"
#include "export.h"

Go to the source code of this file.

Functions

void gen_map (int source, coord pos)
void mkmap (map_gen_method *desc)
void base_coat (void)
sint place_room (room *r)
void place_hole (void)
void make_noise (ushort floor, ushort wall)
void cave_generation (ushort floor, ushort wall)
sint place_corridors (void)
void fill_room (room *r)
void place_doors (void)
void place_items (void)
void make_connections (void)
void place_player_on_map (int source, coord pos)
void connection_fill (uint x, uint y, uint s)
int mkmap_big_front (void)
void cave_pass (ushort floor, ushort wall, void(*effect)(ushort floor, ushort wall, int x, int y, int neighbors))
void cb_cave_partial (ushort floor, ushort wall, int x, int y, int neighbors)
void cave_partial_gen (ushort floor, ushort wall)
void cb_cave (ushort floor, ushort wall, int x, int y, int neighbors)
void replace (int from, int into)
int make_door (int x, int y)

Variables

const schar simpledir [4][2]
const schar cornerdir [4][2]
const schar dir [8][2]


Function Documentation

void base_coat void   ) 
 

Definition at line 92 of file mkmap.c.

References map_gen_method::data, deref_file_ptr(), monster::energy, filelink_null, tile::flags, map_gen_method::global_light, world::m, MAPDESC_CURRENT, MAPSIZE_X, MAPSIZE_Y, MONSTERS_MAX, rle_pointer, rle_set_source(), rlegetc(), tile::special, world::t, TFLAG_INTRINSIC_LIGHT, TFLAG_MUTABLE, monster::type, tile::type, and w.

void cave_generation ushort  floor,
ushort  wall
 

Definition at line 266 of file mkmap.c.

References cave_pass(), and cb_cave().

void cave_partial_gen ushort  floor,
ushort  wall
 

Definition at line 230 of file mkmap.c.

References cave_pass(), and cb_cave_partial().

void cave_pass ushort  floor,
ushort  wall,
void(*  effect)(ushort floor, ushort wall, int x, int y, int neighbors)
 

Definition at line 198 of file mkmap.c.

References tile::flags, MAPSIZE_X, MAPSIZE_Y, world::t, TFLAG_MUTABLE, tile::type, and w.

Referenced by cave_generation(), and cave_partial_gen().

void cb_cave ushort  floor,
ushort  wall,
int  x,
int  y,
int  neighbors
 

Definition at line 257 of file mkmap.c.

References world::t, tile::type, and w.

Referenced by cave_generation().

void cb_cave_partial ushort  floor,
ushort  wall,
int  x,
int  y,
int  neighbors
 

Definition at line 221 of file mkmap.c.

References nrandom(), world::t, tile::type, and w.

Referenced by cave_partial_gen().

void connection_fill uint  x,
uint  y,
uint  s
[static]
 

Definition at line 595 of file mkmap.c.

References tile::flags, MAPSIZE_X, MAPSIZE_Y, tile::special, world::t, TFLAG_TEMP, TILEDESC, and w.

Referenced by make_connections().

void fill_room room r  ) 
 

Definition at line 417 of file mkmap.c.

References dll_fill_room().

void gen_map int  source,
coord  pos
 

Definition at line 63 of file mkmap.c.

References addrandommonst(), call_genericfunc(), cleanup_items(), deref_file_ptr(), init_items(), LEVEL_SCORE_FACTOR, MAPDESC_CURRENT, place_player_on_map(), world::plr, resize_map_store(), player::score, map_gen_method::size_x, map_gen_method::size_y, and w.

Referenced by follow_connection(), and main_menu().

void make_connections void   ) 
 

Definition at line 523 of file mkmap.c.

References addmonster(), connection_fill(), spec_descriptor::location, MAPDESC_CURRENT, MAPSIZE_X, MAPSIZE_Y, MAPSPEC_CONNECT, MAPSPEC_ITEM, MAPSPEC_MONSTER, place_item(), randitem(), RANGE, tile::special, world::t, spec_descriptor::type, tile::type, w, coord::x, and coord::y.

int make_door int  x,
int  y
 

Definition at line 449 of file mkmap.c.

References cornerdir, simpledir, world::t, TILEDESC, and w.

Referenced by bigmap_postpass(), and place_doors().

void make_noise ushort  floor,
ushort  wall
 

Definition at line 182 of file mkmap.c.

References tile::flags, MAPSIZE_X, MAPSIZE_Y, RANGE, world::t, TFLAG_MUTABLE, tile::type, and w.

void mkmap map_gen_method desc  ) 
 

int mkmap_big_front void   ) 
 

Definition at line 85 of file mkmap.c.

References mkmap_big().

sint place_corridors void   ) 
 

Definition at line 294 of file mkmap.c.

References MAPSIZE_X, MAPSIZE_Y, RANGE, replace(), sint, tile::special, world::t, TILEDESC, tile::type, and w.

void place_doors void   ) 
 

Definition at line 423 of file mkmap.c.

References tile::flags, make_door(), MAPSIZE_X, MAPSIZE_Y, RANGE, world::t, TFLAG_MUTABLE, tile::type, and w.

void place_hole void   ) 
 

Definition at line 167 of file mkmap.c.

References tile::flags, MAPSIZE_X, MAPSIZE_Y, RANGE, world::t, TFLAG_MUTABLE, tile::type, and w.

void place_items void   ) 
 

Definition at line 491 of file mkmap.c.

References tiledesc::allow_item, world::desc, tile::flags, world_descriptor::generate_item, MAPDESC_CURRENT, MAPSIZE_X, MAPSIZE_Y, nrandom(), place_item(), randitem(), rrandom(), world::t, TFLAG_ITEM, world::tiledescs, tile::type, and w.

void place_player_on_map int  source,
coord  pos
 

Definition at line 560 of file mkmap.c.

References deref_file_ptr(), tile::flags, MAPDESC_CURRENT, MAPSIZE_X, MAPSIZE_Y, place_player_randomly(), world::plr, tile::special, world::t, TFLAG_OCCUPIED, TILEDESC, w, player::x, coord::x, player::y, and coord::y.

Referenced by gen_map(), and load_level().

sint place_room room r  ) 
 

Definition at line 133 of file mkmap.c.

References room::bottom, tile::flags, room::left, MAPSIZE_X, MAPSIZE_Y, min(), RANGE, room::right, sint, world::t, TFLAG_MUTABLE, room::top, tile::type, and w.

void replace int  from,
int  into
[static]
 

Definition at line 406 of file mkmap.c.

References MAPSIZE_X, MAPSIZE_Y, tile::special, world::t, and w.

Referenced by place_corridors().


Variable Documentation

const schar cornerdir[4][2] [static]
 

Initial value:

 {
        {-1,-1},        {1,-1},
        
        {-1,1},         {1,1}
    }

Definition at line 32 of file mkmap.c.

Referenced by make_door().

const schar dir[8][2]
 

Initial value:

 {
        {-1,-1},    {0,-1},     {1,-1},
        {-1,0},                 {1,0},
        {-1,1},     {0,1},      {1,1}
    }

Definition at line 37 of file mkmap.c.

Referenced by add_mark(), plr_walk(), prompt_dir(), throw_item(), and trace_path().

const schar simpledir[4][2] [static]
 

Initial value:

 {
            {0,-1}, {1,0}, {0,1}, {-1,0}    
    }

Definition at line 29 of file mkmap.c.

Referenced by make_door().


Generated on Thu May 20 13:12:13 2004 for CalcRogue by doxygen 1.3.6