Hengband  2.1.4
 全て データ構造 ファイル 関数 変数 型定義 マクロ定義 ページ
マクロ定義 | 関数 | 変数
floors.c

保存された階の管理 / management of the saved floor [詳細]

#include "angband.h"
#include "grid.h"
floors.cのインクルード依存関係図

マクロ定義

#define MAX_PARTY_MON   21
 フロア移動時に先のフロアに連れて行けるペットの最大数 Maximum number of preservable pets [詳細]
 
#define feat_uses_special(F)   (have_flag(f_info[(F)].flags, FF_SPECIAL))
 マス構造体のspecial要素を利用する地形かどうかを判定するマクロ / Is this feature has special meaning (except floor_id) with c_ptr->special? [詳細]
 

関数

void init_saved_floors (bool force)
 保存フロア配列を初期化する / Initialize saved_floors array. [詳細]
 
void clear_saved_floor_files (void)
 保存フロア用テンポラリファイルを削除する / Kill temporal files [詳細]
 
saved_floor_typeget_sf_ptr (s16b floor_id)
 保存フロアIDから参照ポインタを得る / Get a pointer for an item of the saved_floors array. [詳細]
 
static void kill_saved_floor (saved_floor_type *sf_ptr)
 参照ポインタ先の保存フロアを抹消する / kill a saved floor and get an empty space [詳細]
 
s16b get_new_floor_id (void)
 新規に利用可能な保存フロアを返す / Initialize new saved floor and get its floor id. [詳細]
 
void prepare_change_floor_mode (u32b mode)
 フロア切り替え時の処理フラグを追加する / Prepare mode flags of changing floor [詳細]
 
static void build_dead_end (void)
 階段移動先のフロアが生成できない時に簡単な行き止まりマップを作成する / Builds the dead end [詳細]
 
static void preserve_pet (void)
 フロア移動時のペット保存処理 / Preserve_pets [詳細]
 
void precalc_cur_num_of_pet (void)
 フロア移動時にペットを伴った場合の準備処理 / Pre-calculate the racial counters of preserved pets [詳細]
 
static void place_pet (void)
 移動先のフロアに伴ったペットを配置する / Place preserved pet monsters on new floor [詳細]
 
static void update_unique_artifact (s16b cur_floor_id)
 ユニークモンスターやアーティファクトの所在フロアを更新する / Hack – Update location of unique monsters and artifacts [詳細]
 
static void get_out_monster (void)
 フロア移動時、プレイヤーの移動先モンスターが既にいた場合ランダムな近隣に移動させる / When a monster is at a place where player will return, [詳細]
 
static void locate_connected_stairs (saved_floor_type *sf_ptr)
 新フロアに移動元フロアに繋がる階段を配置する / Virtually teleport onto the stairs that is connecting between two floors. [詳細]
 
void leave_floor (void)
 現在のフロアを離れるに伴って行なわれる保存処理 / Maintain quest monsters, mark next floor_id at stairs, save current floor, and prepare to enter next floor. [詳細]
 
void change_floor (void)
 フロアの切り替え処理 / Enter new floor. [詳細]
 
void stair_creation (void)
 プレイヤーの手による能動的な階段生成処理 / Create stairs at or move previously created stairs into the player location. [詳細]
 

変数

static s16b new_floor_id
 次のフロアのID / floor_id of the destination [詳細]
 
static u32b change_floor_mode
 フロア移行処理に関するフラグ / Mode flags for changing floor [詳細]
 
static u32b latest_visit_mark
 フロアを渡った回数?(確認中) / Max number of visit_mark [詳細]
 
static monster_type party_mon [MAX_PARTY_MON]
 フロア移動に保存するペットモンスターの配列 [詳細]
 

説明

保存された階の管理 / management of the saved floor

日付
2014/01/04
作者
Copyright (c) 2002 Mogami
This software may be copied and distributed for educational, research, and
not for profit purposes provided that this copyright and statement are
included in all such copies.
2014 Deskull rearranged comment for Doxygen.

マクロ定義

#define feat_uses_special (   F)    (have_flag(f_info[(F)].flags, FF_SPECIAL))

マス構造体のspecial要素を利用する地形かどうかを判定するマクロ / Is this feature has special meaning (except floor_id) with c_ptr->special?

#define MAX_PARTY_MON   21

フロア移動時に先のフロアに連れて行けるペットの最大数 Maximum number of preservable pets

関数

static void build_dead_end ( void  )
static

階段移動先のフロアが生成できない時に簡単な行き止まりマップを作成する / Builds the dead end

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void change_floor ( void  )

フロアの切り替え処理 / Enter new floor.

戻り値
なし

If the floor is an old saved floor, it will be
restored from the temporal file. If the floor is new one, new cave
will be generated.

関数の呼び出しグラフ:

呼出しグラフ:

void clear_saved_floor_files ( void  )

保存フロア用テンポラリファイルを削除する / Kill temporal files

Should be called just before the game quit.

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

s16b get_new_floor_id ( void  )

新規に利用可能な保存フロアを返す / Initialize new saved floor and get its floor id.

戻り値
利用可能な保存フロアID

If number of saved floors are already MAX_SAVED_FLOORS, kill the oldest one.

関数の呼び出しグラフ:

呼出しグラフ:

static void get_out_monster ( void  )
static

フロア移動時、プレイヤーの移動先モンスターが既にいた場合ランダムな近隣に移動させる / When a monster is at a place where player will return,

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

saved_floor_type* get_sf_ptr ( s16b  floor_id)

保存フロアIDから参照ポインタを得る / Get a pointer for an item of the saved_floors array.

引数
floor_id保存フロアID
戻り値
IDに対応する保存フロアのポインタ、ない場合はNULLを返す。

呼出しグラフ:

void init_saved_floors ( bool  force)

保存フロア配列を初期化する / Initialize saved_floors array.

引数
forceテンポラリファイルが残っていた場合も警告なしで強制的に削除する。

Make sure that old temporal files are not remaining as gurbages.

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void kill_saved_floor ( saved_floor_type sf_ptr)
static

参照ポインタ先の保存フロアを抹消する / kill a saved floor and get an empty space

引数
sf_ptr保存フロアの参照ポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void leave_floor ( void  )

現在のフロアを離れるに伴って行なわれる保存処理 / Maintain quest monsters, mark next floor_id at stairs, save current floor, and prepare to enter next floor.

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void locate_connected_stairs ( saved_floor_type sf_ptr)
static

新フロアに移動元フロアに繋がる階段を配置する / Virtually teleport onto the stairs that is connecting between two floors.

引数
sf_ptr移動元の保存フロア構造体参照ポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void place_pet ( void  )
static

移動先のフロアに伴ったペットを配置する / Place preserved pet monsters on new floor

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void precalc_cur_num_of_pet ( void  )

フロア移動時にペットを伴った場合の準備処理 / Pre-calculate the racial counters of preserved pets

戻り値
なし

To prevent multiple generation of unique monster who is the minion of player

関数の呼び出しグラフ:

呼出しグラフ:

void prepare_change_floor_mode ( u32b  mode)

フロア切り替え時の処理フラグを追加する / Prepare mode flags of changing floor

引数
mode追加したい所持フラグ
戻り値
なし

呼出しグラフ:

static void preserve_pet ( void  )
static

フロア移動時のペット保存処理 / Preserve_pets

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void stair_creation ( void  )

プレイヤーの手による能動的な階段生成処理 / Create stairs at or move previously created stairs into the player location.

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void update_unique_artifact ( s16b  cur_floor_id)
static

ユニークモンスターやアーティファクトの所在フロアを更新する / Hack – Update location of unique monsters and artifacts

引数
cur_floor_id現在のフロアID
戻り値
なし

The r_ptr->floor_id and a_ptr->floor_id are not updated correctly
while new floor creation since dungeons may be re-created by
auto-scum option.

関数の呼び出しグラフ:

呼出しグラフ:

変数

u32b change_floor_mode
static

フロア移行処理に関するフラグ / Mode flags for changing floor

u32b latest_visit_mark
static

フロアを渡った回数?(確認中) / Max number of visit_mark

s16b new_floor_id
static

次のフロアのID / floor_id of the destination

monster_type party_mon[MAX_PARTY_MON]
static

フロア移動に保存するペットモンスターの配列