Atrinik Server  4.0
random_map.h
Go to the documentation of this file.
1 /*************************************************************************
2  * Atrinik, a Multiplayer Online Role Playing Game *
3  * *
4  * Copyright (C) 2009-2014 Alex Tokar and Atrinik Development Team *
5  * *
6  * Fork from Crossfire (Multiplayer game for X-windows). *
7  * *
8  * This program is free software; you can redistribute it and/or modify *
9  * it under the terms of the GNU General Public License as published by *
10  * the Free Software Foundation; either version 2 of the License, or *
11  * (at your option) any later version. *
12  * *
13  * This program is distributed in the hope that it will be useful, *
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16  * GNU General Public License for more details. *
17  * *
18  * You should have received a copy of the GNU General Public License *
19  * along with this program; if not, write to the Free Software *
20  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
21  * *
22  * The author can be reached at admin@atrinik.org *
23  ************************************************************************/
24 
30 #ifndef RANDOM_MAP_H
31 #define RANDOM_MAP_H
32 
33 #define RM_SIZE 512
34 
36 typedef struct {
38  char wallstyle[RM_SIZE];
39 
41  char wall_name[RM_SIZE];
42 
44  char floorstyle[RM_SIZE];
45 
47  char monsterstyle[RM_SIZE];
48 
50  char layoutstyle[RM_SIZE];
51 
53  char doorstyle[RM_SIZE];
54 
56  char decorstyle[RM_SIZE];
57 
59  char origin_map[RM_SIZE];
60 
62  char final_map[RM_SIZE];
63 
65  char exitstyle[RM_SIZE];
66 
68  char dungeon_name[RM_SIZE];
69 
71  char bg_music[RM_SIZE];
72 
74  int Xsize;
75 
77  int Ysize;
78 
80  int expand2x;
81 
84 
87 
90 
92  int symmetry;
93 
96 
99 
102 
105 
108 
111 
113  int origin_y;
114 
116  int origin_x;
117 
120 
123 
126 
129 
131  int darkness;
132 
135 } RMParms;
136 
140 #define ONION_LAYOUT 1
141 #define MAZE_LAYOUT 2
142 #define SPIRAL_LAYOUT 3
143 #define ROGUELIKE_LAYOUT 4
144 #define SNAKE_LAYOUT 5
145 #define SQUARE_SPIRAL_LAYOUT 6
146 #define NROFLAYOUTS 6
147 
153 #define OPT_RANDOM 0
154 
155 #define OPT_CENTERED 1
156 
157 #define OPT_LINEAR 2
158 
159 #define OPT_BOTTOM_C 4
160 
161 #define OPT_BOTTOM_R 8
162 
163 #define OPT_IRR_SPACE 16
164 
165 #define OPT_WALL_OFF 32
166 
167 #define OPT_WALLS_ONLY 64
168 
169 #define OPT_NO_DOORS 256
170 
179 #define RANDOM_SYM 0
180 
181 #define NO_SYM 1
182 
183 #define X_SYM 2
184 
185 #define Y_SYM 3
186 
187 #define XY_SYM 4
188 
194 #define BC_RANDOM(x) ((int) ((RANDOM() % (x) + RANDOM() % (x) + RANDOM() % (x)) / 3.))
195 
196 #endif
int difficulty_given
Definition: random_map.h:98
int random_seed
Definition: random_map.h:119
int expand2x
Definition: random_map.h:80
int map_layout_style
Definition: random_map.h:122
int layoutoptions2
Definition: random_map.h:86
int symmetry
Definition: random_map.h:92
int layoutoptions1
Definition: random_map.h:83
int orientation
Definition: random_map.h:110
int dungeon_level
Definition: random_map.h:101
int darkness
Definition: random_map.h:131
int layoutoptions3
Definition: random_map.h:89
int decorchance
Definition: random_map.h:107
int symmetry_used
Definition: random_map.h:125
int Ysize
Definition: random_map.h:77
int Xsize
Definition: random_map.h:74
int level_increment
Definition: random_map.h:134
int origin_y
Definition: random_map.h:113
int dungeon_depth
Definition: random_map.h:104
int difficulty
Definition: random_map.h:95
int origin_x
Definition: random_map.h:116
int num_monsters
Definition: random_map.h:128