OSDN Git Service

[Merge] #40883 Win版が通る所までマージ完了.他環境でのチェックや他見落としはこれからチェックする。 / Merge is completed until...
[hengband/hengband.git] / src / floor / geometry.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include "system/monster-type-definition.h"
5
6 typedef struct player_type player_type;
7
8 extern const POSITION ddd[9];
9 extern const POSITION ddx[10];
10 extern const POSITION ddy[10];
11 extern const POSITION ddx_ddd[9];
12 extern const POSITION ddy_ddd[9];
13 extern const POSITION cdd[8];
14 extern const POSITION ddx_cdd[8];
15 extern const POSITION ddy_cdd[8];
16
17 extern DIRECTION coords_to_dir(player_type *creature_ptr, POSITION y, POSITION x);
18
19 extern POSITION distance(POSITION y1, POSITION x1, POSITION y2, POSITION x2);
20
21 extern void mmove2(POSITION *y, POSITION *x, POSITION y1, POSITION x1, POSITION y2, POSITION x2);
22
23 extern bool player_can_see_bold(player_type *creature_ptr, POSITION y, POSITION x);
24
25 /*!
26  * @brief 視界及び光源の過渡処理配列サイズ / Maximum size of the "temp" array
27  * @details We must be as large as "VIEW_MAX" and "LITE_MAX" for proper functioning
28  * of "update_view()" and "update_lite()".  We must also be as large as the
29  * largest illuminatable room, but no room is larger than 800 grids.  We
30  * must also be large enough to allow "good enough" use as a circular queue,
31  * to calculate monster flow, but note that the flow code is "paranoid".
32  */
33 #define TEMP_MAX 2298
34
35 //!< 対象グリッドの一覧をまとめる構造体
36 typedef struct pos_list {
37         POSITION_IDX n; //!< Array of grids for use by various functions (see grid.c")
38         POSITION y[TEMP_MAX];
39         POSITION x[TEMP_MAX];
40 } pos_list;
41
42 bool is_seen(player_type *creature_ptr, monster_type *m_ptr);