67 #define MON_LITE_MAX 1536 82 #define REDRAW_MAX 2298 131 #define DUNGEON_MODE_NONE 0 132 #define DUNGEON_MODE_AND 1 133 #define DUNGEON_MODE_NAND 2 134 #define DUNGEON_MODE_OR 3 135 #define DUNGEON_MODE_NOR 4 138 #define DF1_WINNER 0x00000001L 139 #define DF1_MAZE 0x00000002L 140 #define DF1_SMALLEST 0x00000004L 141 #define DF1_BEGINNER 0x00000008L 142 #define DF1_BIG 0x00000010L 143 #define DF1_NO_DOORS 0x00000020L 144 #define DF1_WATER_RIVER 0x00000040L 145 #define DF1_LAVA_RIVER 0x00000080L 146 #define DF1_CURTAIN 0x00000100L 147 #define DF1_GLASS_DOOR 0x00000200L 148 #define DF1_CAVE 0x00000400L 149 #define DF1_CAVERN 0x00000800L 150 #define DF1_ARCADE 0x00001000L 151 #define DF1_LAKE_ACID 0x00002000L 152 #define DF1_LAKE_POISONOUS 0x00004000L 153 #define DF1_XXX15 0x00008000L 154 #define DF1_FORGET 0x00010000L 155 #define DF1_LAKE_WATER 0x00020000L 156 #define DF1_LAKE_LAVA 0x00040000L 157 #define DF1_LAKE_RUBBLE 0x00080000L 158 #define DF1_LAKE_TREE 0x00100000L 159 #define DF1_NO_VAULT 0x00200000L 160 #define DF1_ARENA 0x00400000L 161 #define DF1_DESTROY 0x00800000L 162 #define DF1_GLASS_ROOM 0x01000000L 163 #define DF1_NO_CAVE 0x02000000L 164 #define DF1_NO_MAGIC 0x04000000L 165 #define DF1_NO_MELEE 0x08000000L 166 #define DF1_CHAMELEON 0x10000000L 167 #define DF1_DARKNESS 0x20000000L 168 #define DF1_ACID_RIVER 0x40000000L 169 #define DF1_POISONOUS_RIVER 0x80000000L 171 #define DF1_LAKE_MASK (DF1_LAKE_WATER | DF1_LAKE_LAVA | DF1_LAKE_RUBBLE | DF1_LAKE_TREE | DF1_LAKE_POISONOUS | DF1_LAKE_ACID) 176 #define in_bounds(F,Y,X) \ 177 (((Y) > 0) && ((X) > 0) && ((Y) < (F)->height-1) && ((X) < (F)->width-1)) 182 #define in_bounds2(F,Y,X) \ 183 (((Y) >= 0) && ((X) >= 0) && ((Y) < (F)->height) && ((X) < (F)->width)) 189 #define in_bounds2u(F,Y,X) \ 190 (((Y) < (F)->height) && ((X) < (F)->width)) 196 #define player_bold(C,Y,X) \ 197 (((Y) == (C)->y) && ((X) == (C)->x)) 202 #define player_grid(C, G) \ 203 ((G) == &(C)->current_floor_ptr->grid_array[p_ptr->y][p_ptr->x]) 206 #define cave_have_flag_bold(Y,X,INDEX) \ 207 (have_flag(f_info[p_ptr->current_floor_ptr->grid_array[(Y)][(X)].feat].flags, (INDEX))) 210 #define cave_have_flag_grid(C,INDEX) \ 211 (have_flag(f_info[(C)->feat].flags, (INDEX))) 217 #define feat_supports_los(F) \ 218 (have_flag(f_info[(F)].flags, FF_LOS)) 224 #define cave_los_bold(F,Y,X) \ 225 (feat_supports_los((F)->grid_array[(Y)][(X)].feat)) 227 #define cave_los_grid(C) \ 228 (feat_supports_los((C)->feat)) 239 #define cave_clean_bold(F,Y,X) \ 240 (cave_have_flag_bold((Y), (X), FF_FLOOR) && \ 241 !((F)->grid_array[Y][X].info & CAVE_OBJECT) && \ 242 ((F)->grid_array[Y][X].o_idx == 0)) 251 #define cave_drop_bold(F,Y,X) \ 252 (cave_have_flag_bold((Y), (X), FF_DROP) && \ 253 !((F)->grid_array[Y][X].info & CAVE_OBJECT)) 264 #define cave_empty_bold(F,Y,X) \ 265 (cave_have_flag_bold((Y), (X), FF_PLACE) && \ 266 !((F)->grid_array[Y][X].m_idx) && \ 267 !player_bold(p_ptr, Y,X)) 277 #define cave_empty_bold2(F,Y,X) \ 278 (cave_empty_bold(F,Y,X) && \ 279 (current_world_ptr->character_dungeon || !cave_have_flag_bold((Y), (X), FF_TREE))) 289 #define cave_naked_bold(C,F,Y,X) \ 290 (cave_clean_bold(F,Y,X) && \ 291 !((F)->grid_array[Y][X].m_idx) && \ 300 #define cave_perma_bold(Y,X) \ 301 (cave_have_flag_bold((Y), (X), FF_PERMANENT)) 307 #define cave_empty_grid(C) \ 308 (cave_have_flag_grid((C), FF_PLACE) && \ 309 !((C)->m_idx) && !player_grid(p_ptr, C)) 315 #define cave_perma_grid(C) \ 316 (cave_have_flag_grid((C), FF_PERMANENT)) 319 #define pattern_tile(Y,X) \ 320 (cave_have_flag_bold((Y), (X), FF_PATTERN)) 325 #define cave_stop_disintegration(Y,X) \ 326 (!cave_have_flag_bold((Y), (X), FF_PROJECT) && \ 327 (!cave_have_flag_bold((Y), (X), FF_HURT_DISI) || \ 328 cave_have_flag_bold((Y), (X), FF_PERMANENT))) 336 #define player_has_los_grid(C) \ 337 (((C)->info & (CAVE_VIEW)) != 0) 344 #define player_has_los_bold(C,Y,X) \ 345 ((((C)->current_floor_ptr->grid_array[Y][X].info & (CAVE_VIEW)) != 0) || (C)->phase_out) 351 #define permanent_wall(F) \ 352 (have_flag((F)->flags, FF_WALL) && \ 353 have_flag((F)->flags, FF_PERMANENT)) POSITION_IDX lite_n
Array of grids lit by player lite (see "p_ptr->current_floor_ptr->grid_array.c")
Definition: floor.h:109
s16b OBJECT_IDX
ゲーム中のアイテムID型を定義
Definition: h-type.h:140
monster_type * m_list
The array of dungeon monsters [current_world_ptr->max_m_idx]
Definition: floor.h:102
DEPTH dun_level
現在の実ダンジョン階層base_levelの参照元となる / Current dungeon level
Definition: floor.h:88
DEPTH base_level
基本生成レベル、後述のobject_level, monster_levelの参照元となる / Base dungeon level
Definition: floor.h:89
MONSTER_IDX m_max
Definition: floor.h:103
#define MON_LITE_MAX
モンスター用光源処理配列サイズ / Maximum size of the "mon_lite" array (see ">grid.c")
Definition: floor.h:67
void forget_flow(floor_type *floor_ptr)
Definition: floor.c:177
POSITION_IDX mon_lite_n
Array of grids lit by player lite (see "p_ptr->current_floor_ptr->grid_array.c")
Definition: floor.h:113
bool los(floor_type *floor_ptr, POSITION y1, POSITION x1, POSITION y2, POSITION x2)
LOS(Line Of Sight / 視線が通っているか)の判定を行う。
Definition: floor.c:320
bool cave_valid_bold(floor_type *floor_ptr, POSITION y, POSITION x)
指定された座標が地震や階段生成の対象となるマスかを返す。 / Determine if a given location may be "destroyed"
Definition: floor.c:622
s32b MONSTER_NUMBER
ゲーム中のモンスター数型を定義
Definition: h-type.h:177
DEPTH object_level
アイテムの生成レベル、p_ptr->current_floor_ptr->base_levelを起点に一時変更する時に参照 / Current object creation level
Definition: floor.h:90
floor_type floor_info
Definition: floor.c:15
void vault_monsters(floor_type *floor_ptr, POSITION y1, POSITION x1, int num)
特殊な部屋地形向けにモンスターを配置する / Hack – Place some sleeping monsters near the given location
Definition: floor.c:584
void add_door(floor_type *floor_ptr, POSITION x, POSITION y)
Definition: floor.c:200
DEPTH monster_level
モンスターの生成レベル、p_ptr->current_floor_ptr->base_levelを起点に一時変更する時に参照 / Current monster creation level
Definition: floor.h:91
void place_locked_door(floor_type *floor_ptr, POSITION y, POSITION x)
鍵のかかったドアを配置する
Definition: floor.c:28
#define REDRAW_MAX
再描画処理用配列サイズ / Maximum size of the "redraw" array (see "p_ptr->current_floor_ptr->grid_array....
Definition: floor.h:82
MONSTER_NUMBER num_repro
Current reproducer count
Definition: floor.h:94
DUNGEON_IDX dungeon_idx
Definition: floor.h:86
POSITION height
Definition: floor.h:93
#define MAX_MTIMED
Definition: monster.h:20
s32b DEPTH
ゲーム中の階層レベルの型定義
Definition: h-type.h:216
s32b POSITION
ゲーム中の座標型を定義
Definition: h-type.h:146
OBJECT_IDX o_max
Definition: floor.h:99
Definition: floor-save.h:8
#define VIEW_MAX
視界処理配列サイズ / Maximum size of the "view" array (see "p_ptr->current_floor_ptr->grid_array....
Definition: floor.h:74
#define MAX_HGT
表示上のダンジョンの最大垂直サイズ(SCREEN_HGTの3倍が望ましい) Maximum dungeon height in grids, must be a multiple of SCREEN_H...
Definition: floor.h:46
bool monster_noise
Definition: floor.h:125
#define MAX_SAVED_FLOORS
保存フロアの最大数 / Maximum number of saved floors.
Definition: floor-save.h:3
s16b DUNGEON_IDX
ゲーム中のダンジョンID型を定義
Definition: h-type.h:130
s32b GAME_TURN
ゲーム中のターンの型定義
Definition: h-type.h:219
POSITION_IDX redraw_n
Array of grids for delayed visual updating (see "p_ptr->current_floor_ptr->grid_array....
Definition: floor.h:121
saved_floor_type saved_floors[MAX_SAVED_FLOORS]
Definition: floor.c:20
s16b MONSTER_IDX
ゲーム中のモンスター個体ID型を定義
Definition: h-type.h:129
POSITION width
Definition: floor.h:92
bool projectable(floor_type *floor_ptr, POSITION y1, POSITION x1, POSITION y2, POSITION x2)
Definition: floor.c:550
void place_secret_door(floor_type *floor_ptr, POSITION y, POSITION x, int type)
隠しドアを配置する
Definition: floor.c:50
OBJECT_IDX o_cnt
Definition: floor.h:100
int project_length
投射の射程距離
Definition: spells.h:330
Definition: player-status.h:86
s16b POSITION_IDX
ゲーム中の座標リストID型
Definition: h-type.h:147
MONSTER_IDX m_cnt
Definition: floor.h:104
GAME_TURN generated_turn
Definition: floor.h:96
signed short s16b
Definition: h-type.h:98
#define LITE_MAX
プレイヤー用光源処理配列サイズ / Maximum size of the "lite" array (see "grid.c")
Definition: floor.h:59
void update_smell(floor_type *floor_ptr, player_type *subject_ptr)
Definition: floor.c:109
void place_random_stairs(floor_type *floor_ptr, POSITION y, POSITION x)
所定の位置に上り階段か下り階段を配置する / Place an up/down staircase at given location
Definition: floor.c:252
POSITION_IDX view_n
Array of grids viewable to the player (see "grid_array")
Definition: floor.h:117
object_type * o_list
The array of dungeon items [current_world_ptr->max_o_idx]
Definition: floor.h:98