|
Atrinik Server 2.5
|
00001 /************************************************************************ 00002 * Atrinik, a Multiplayer Online Role Playing Game * 00003 * * 00004 * Copyright (C) 2009-2011 Alex Tokar and Atrinik Development Team * 00005 * * 00006 * Fork from Daimonin (Massive Multiplayer Online Role Playing Game) * 00007 * and Crossfire (Multiplayer game for X-windows). * 00008 * * 00009 * This program is free software; you can redistribute it and/or modify * 00010 * it under the terms of the GNU General Public License as published by * 00011 * the Free Software Foundation; either version 2 of the License, or * 00012 * (at your option) any later version. * 00013 * * 00014 * This program is distributed in the hope that it will be useful, * 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00017 * GNU General Public License for more details. * 00018 * * 00019 * You should have received a copy of the GNU General Public License * 00020 * along with this program; if not, write to the Free Software * 00021 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * 00022 * * 00023 * The author can be reached at admin@atrinik.org * 00024 ************************************************************************/ 00025 00030 #ifndef RANDOM_MAP_H 00031 #define RANDOM_MAP_H 00032 00033 #define RM_SIZE 512 00034 00036 typedef struct 00037 { 00039 char wallstyle[RM_SIZE]; 00040 00042 char wall_name[RM_SIZE]; 00043 00045 char floorstyle[RM_SIZE]; 00046 00048 char monsterstyle[RM_SIZE]; 00049 00051 char layoutstyle[RM_SIZE]; 00052 00054 char doorstyle[RM_SIZE]; 00055 00057 char decorstyle[RM_SIZE]; 00058 00060 char origin_map[RM_SIZE]; 00061 00063 char final_map[RM_SIZE]; 00064 00066 char exitstyle[RM_SIZE]; 00067 00069 char dungeon_name[RM_SIZE]; 00070 00072 char bg_music[RM_SIZE]; 00073 00075 int Xsize; 00076 00078 int Ysize; 00079 00081 int expand2x; 00082 00084 int layoutoptions1; 00085 00087 int layoutoptions2; 00088 00090 int layoutoptions3; 00091 00093 int symmetry; 00094 00096 int difficulty; 00097 00099 int difficulty_given; 00100 00102 int dungeon_level; 00103 00105 int dungeon_depth; 00106 00108 int decorchance; 00109 00111 int orientation; 00112 00114 int origin_y; 00115 00117 int origin_x; 00118 00120 int random_seed; 00121 00123 int map_layout_style; 00124 00126 int symmetry_used; 00127 00129 int num_monsters; 00130 00132 int darkness; 00133 00135 int level_increment; 00136 } RMParms; 00137 00141 #define ONION_LAYOUT 1 00142 #define MAZE_LAYOUT 2 00143 #define SPIRAL_LAYOUT 3 00144 #define ROGUELIKE_LAYOUT 4 00145 #define SNAKE_LAYOUT 5 00146 #define SQUARE_SPIRAL_LAYOUT 6 00147 #define NROFLAYOUTS 6 00148 00154 #define OPT_RANDOM 0 00155 00156 #define OPT_CENTERED 1 00157 00158 #define OPT_LINEAR 2 00159 00160 #define OPT_BOTTOM_C 4 00161 00162 #define OPT_BOTTOM_R 8 00163 00164 #define OPT_IRR_SPACE 16 00165 00166 #define OPT_WALL_OFF 32 00167 00168 #define OPT_WALLS_ONLY 64 00169 00170 #define OPT_NO_DOORS 256 00171 00180 #define RANDOM_SYM 0 00181 00182 #define NO_SYM 1 00183 00184 #define X_SYM 2 00185 00186 #define Y_SYM 3 00187 00188 #define XY_SYM 4 00189 00194 #define BC_RANDOM(x) ((int) ((RANDOM() % (x) + RANDOM() % (x) + RANDOM() % (x)) / 3.)) 00195 00196 #endif
1.7.4