Crossfire Server, Trunk
|
Go to the source code of this file.
Macros | |
#define | FINE_SPIRAL 2 |
#define | FIT_SPIRAL 4 |
#define | MAX(x, y) (((x) < (y)) ? (y) : (x)) |
#define | MAX_FINE .454545 |
#define | MAX_SPIRAL_OPT 8 |
#define | MIN(x, y) (((x) < (y)) ? (x) : (y)) |
#define | RANDOM_OPTIONS 0 |
#define | REGULAR_SPIRAL 1 |
Functions | |
void | connect_spirals (int xsize, int ysize, int sym, char **layout) |
char ** | map_gen_spiral (int xsize, int ysize, int option, int _unused_layers) |
int | surround_check (char **maze, int i, int j, int xsize, int ysize) |
The spiral room generator:
Definition in file room_gen_spiral.c.
#define FINE_SPIRAL 2 |
uses the min. separation: most coiling
Definition at line 33 of file room_gen_spiral.c.
#define FIT_SPIRAL 4 |
scale to a rectangular region, not square
Definition at line 34 of file room_gen_spiral.c.
#define MAX | ( | x, | |
y | |||
) | (((x) < (y)) ? (y) : (x)) |
Definition at line 44 of file room_gen_spiral.c.
#define MAX_FINE .454545 |
Definition at line 47 of file room_gen_spiral.c.
#define MAX_SPIRAL_OPT 8 |
this should be 2x the last real option
Definition at line 35 of file room_gen_spiral.c.
#define MIN | ( | x, | |
y | |||
) | (((x) < (y)) ? (x) : (y)) |
Definition at line 41 of file room_gen_spiral.c.
#define RANDOM_OPTIONS 0 |
Pick random options below
Definition at line 31 of file room_gen_spiral.c.
#define REGULAR_SPIRAL 1 |
Regular spiral–distance increases constantly
Definition at line 32 of file room_gen_spiral.c.
void connect_spirals | ( | int | xsize, |
int | ysize, | ||
int | sym, | ||
char ** | layout | ||
) |
Connects disjoint spirals which may result from the symmetrization process.
xsize | |
ysize | layout size. |
sym | one of the SYM_xxx values. |
layout | layout to alter. |
Definition at line 159 of file room_gen_spiral.c.
References surround_check(), X_SYM, XY_SYM, and Y_SYM.
Referenced by symmetrize_layout().
char** map_gen_spiral | ( | int | xsize, |
int | ysize, | ||
int | option, | ||
int | _unused_layers | ||
) |
Generates a spiral layout.
xsize | |
ysize | layout size. |
option | combination of SPIRAL_xxx values. |
_unused_layers | unused. |
Definition at line 62 of file room_gen_spiral.c.
References FINE_SPIRAL, FIT_SPIRAL, make_face_from_files::int, MAX_FINE, MAX_SPIRAL_OPT, MIN, CFweardisguise::option, RANDOM, REGULAR_SPIRAL, nlohmann::detail::void(), diamondslots::x, and diamondslots::y.
Referenced by layoutgen().
int surround_check | ( | char ** | layout, |
int | i, | ||
int | j, | ||
int | Xsize, | ||
int | Ysize | ||
) |
Checks free spots around a spot.
layout | map layout. |
i | |
j | coordinates to check. |
Xsize | |
Ysize | size of the layout. |
Definition at line 280 of file rogue_layout.c.
Referenced by connect_spirals(), and roguelike_layout_gen().