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

ファイル入出力管理 / Purpose: code dealing with files (and death) [詳細]

#include "angband.h"
#include <signal.h>
files.cのインクルード依存関係図

データ構造

struct  named_num
 
struct  all_player_flags
 

マクロ定義

#define PREF_TYPE_NORMAL   0
 
#define PREF_TYPE_AUTOPICK   1
 
#define PREF_TYPE_HISTPREF   2
 
#define ENTRY_BARE_HAND   0
 
#define ENTRY_TWO_HANDS   1
 
#define ENTRY_RIGHT_HAND1   2
 
#define ENTRY_LEFT_HAND1   3
 
#define ENTRY_LEFT_HAND2   4
 
#define ENTRY_RIGHT_HAND2   5
 
#define ENTRY_POSTURE   6
 
#define ENTRY_SHOOT_HIT_DAM   7
 
#define ENTRY_SHOOT_POWER   8
 
#define ENTRY_SPEED   9
 
#define ENTRY_BASE_AC   10
 
#define ENTRY_LEVEL   11
 
#define ENTRY_CUR_EXP   12
 
#define ENTRY_MAX_EXP   13
 
#define ENTRY_EXP_TO_ADV   14
 
#define ENTRY_GOLD   15
 
#define ENTRY_DAY   16
 
#define ENTRY_HP   17
 
#define ENTRY_SP   18
 
#define ENTRY_PLAY_TIME   19
 
#define ENTRY_SKILL_FIGHT   20
 
#define ENTRY_SKILL_SHOOT   21
 
#define ENTRY_SKILL_SAVING   22
 
#define ENTRY_SKILL_STEALTH   23
 
#define ENTRY_SKILL_PERCEP   24
 
#define ENTRY_SKILL_SEARCH   25
 
#define ENTRY_SKILL_DISARM   26
 
#define ENTRY_SKILL_DEVICE   27
 
#define ENTRY_BLOWS   28
 
#define ENTRY_SHOTS   29
 
#define ENTRY_AVG_DMG   30
 
#define ENTRY_INFRA   31
 
#define ENTRY_NAME   32
 
#define ENTRY_SEX   33
 
#define ENTRY_RACE   34
 
#define ENTRY_CLASS   35
 
#define ENTRY_REALM   36
 
#define ENTRY_PATRON   37
 
#define ENTRY_AGE   38
 
#define ENTRY_HEIGHT   39
 
#define ENTRY_WEIGHT   40
 
#define ENTRY_SOCIAL   41
 
#define ENTRY_ALIGN   42
 
#define ENTRY_EXP_ANDR   43
 
#define ENTRY_EXP_TO_ADV_ANDR   44
 
#define DP_CURSE   0x01
 
#define DP_IMM   0x02
 
#define DP_WP   0x08
 
#define GRAVE_LINE_WIDTH   31
 

型定義

typedef struct named_num named_num
 

関数

void safe_setuid_drop (void)
 ファイルのドロップパーミッションチェック / Hack – drop permissions [詳細]
 
void safe_setuid_grab (void)
 ファイルのグラブパーミッションチェック / Hack – grab permissions [詳細]
 
s16b tokenize (char *buf, s16b num, char **tokens, int mode)
 各種データテキストをトークン単位に分解する / Extract the first few "tokens" from a buffer [詳細]
 
errr process_pref_file_command (char *buf)
 設定ファイルの各行から各種テキスト情報を取得する / Parse a sub-file of the "extra info" (format shown below) [詳細]
 
cptr process_pref_file_expr (char **sp, char *fp)
 process_pref_fileのサブルーチンとして条件分岐処理の解釈と結果を返す / Helper function for "process_pref_file()" [詳細]
 
static errr process_pref_file_aux (cptr name, int preftype)
 process_pref_fileのサブルーチン / Open the "user pref file" and parse it. [詳細]
 
errr process_pref_file (cptr name)
 pref設定ファイルを読み込み設定を反映させる / Process the "user pref file" with the given name [詳細]
 
errr check_time (void)
 Angbandプレイ禁止時刻をチェック / Handle CHECK_TIME. [詳細]
 
errr check_time_init (void)
 Angbandプレイ禁止時刻の初期化 / Initialize CHECK_TIME. [詳細]
 
errr check_load (void)
 Angbandプレイ禁止ホストのチェック / Handle CHECK_LOAD. [詳細]
 
errr check_load_init (void)
 Angbandプレイ禁止ホストの設定初期化 / Initialize CHECK_LOAD. [詳細]
 
static void display_player_one_line (int entry, cptr val, byte attr)
 プレイヤーのステータス1種を出力する [詳細]
 
static void display_player_melee_bonus (int hand, int hand_entry)
 プレイヤーの打撃能力修正を表示する [詳細]
 
static void display_player_middle (void)
 プレイヤーステータス表示の中央部分を表示するサブルーチン Prints the following information on the screen. [詳細]
 
static cptr likert (int x, int y)
 技能ランクの表示基準を定める Returns a "rating" of x depending on y [詳細]
 
static void display_player_various (void)
 プレイヤーステータスの1ページ目各種詳細をまとめて表示するサブルーチン Prints ratings on certain abilities [詳細]
 
static void player_flags (u32b flgs[TR_FLAG_SIZE])
 プレイヤーの職業、種族に応じた耐性フラグを返す Prints ratings on certain abilities [詳細]
 
static void tim_player_flags (u32b flgs[TR_FLAG_SIZE])
 プレイヤーの一時的魔法効果による耐性を返す Prints ratings on certain abilities [詳細]
 
static void display_player_equippy (int y, int x, u16b mode)
 プレイヤーの装備一覧をシンボルで並べる Equippy chars [詳細]
 
void print_equippy (void)
 プレイヤーの装備一覧シンボルを固定位置に表示する [詳細]
 
static void known_obj_immunity (u32b flgs[TR_FLAG_SIZE])
 プレイヤーの装備による免疫フラグを返す [詳細]
 
static void player_immunity (u32b flgs[TR_FLAG_SIZE])
 プレイヤーの種族による免疫フラグを返す [詳細]
 
static void tim_player_immunity (u32b flgs[TR_FLAG_SIZE])
 プレイヤーの一時的魔法効果による免疫フラグを返す [詳細]
 
static void player_vuln_flags (u32b flgs[TR_FLAG_SIZE])
 プレイヤーの種族による弱点フラグを返す [詳細]
 
static void display_flag_aux (int row, int col, cptr header, int flag1, all_player_flags *f, u16b mode)
 プレイヤーの特性フラグ一種を表示するサブルーチン / Helper function, see below [詳細]
 
static void display_player_flag_info (void)
 プレイヤーの特性フラグ一覧表示1 / Special display, part 1 [詳細]
 
static void display_player_other_flag_info (void)
 プレイヤーの特性フラグ一覧表示2 / Special display, part 2 [詳細]
 
static void display_player_misc_info (void)
 プレイヤーの特性フラグ一覧表示2a / Special display, part 2a [詳細]
 
static void display_player_stat_info (void)
 プレイヤーの特性フラグ一覧表示2b / Special display, part 2b [詳細]
 
void display_player (int mode)
 プレイヤーのステータス表示メイン処理 Display the character on the screen (various modes) [詳細]
 
static void dump_aux_display_player (FILE *fff)
 プレイヤーのステータス表示をファイルにダンプする [詳細]
 
static void dump_aux_pet (FILE *fff)
 プレイヤーのペット情報をファイルにダンプする [詳細]
 
static void dump_aux_class_special (FILE *fff)
 プレイヤーの職業能力情報をファイルにダンプする [詳細]
 
static void dump_aux_quest (FILE *fff)
 クエスト情報をファイルにダンプする [詳細]
 
static void dump_aux_last_message (FILE *fff)
 死の直前メッセージ並びに遺言をファイルにダンプする [詳細]
 
static void dump_aux_recall (FILE *fff)
 帰還場所情報をファイルにダンプする [詳細]
 
static void dump_aux_options (FILE *fff)
 オプション情報をファイルにダンプする [詳細]
 
static void dump_aux_arena (FILE *fff)
 闘技場の情報をファイルにダンプする [詳細]
 
static void dump_aux_monsters (FILE *fff)
 撃破モンスターの情報をファイルにダンプする [詳細]
 
static void dump_aux_race_history (FILE *fff)
 元種族情報をファイルにダンプする [詳細]
 
static void dump_aux_realm_history (FILE *fff)
 元魔法領域情報をファイルにダンプする [詳細]
 
static void dump_aux_virtues (FILE *fff)
 徳の情報をファイルにダンプする [詳細]
 
static void dump_aux_mutations (FILE *fff)
 突然変異の情報をファイルにダンプする [詳細]
 
static void dump_aux_equipment_inventory (FILE *fff)
 所持品の情報をファイルにダンプする [詳細]
 
static void dump_aux_home_museum (FILE *fff)
 我が家と博物館のオブジェクト情報をファイルにダンプする [詳細]
 
errr make_character_dump (FILE *fff)
 ダンプ出力のメインルーチン Output the character dump to a file [詳細]
 
errr file_character (cptr name)
 プレイヤーステータスをファイルダンプ出力する Hack – Dump a character description file [詳細]
 
static void show_file_aux_line (cptr str, int cy, cptr shower)
 ファイル内容の一行をコンソールに出力する Display single line of on-line help file [詳細]
 
bool show_file (bool show_version, cptr name, cptr what, int line, int mode)
 ファイル内容をコンソールに出力する Recursive file perusal. [詳細]
 
void do_cmd_help (void)
 ヘルプを表示するコマンドのメインルーチン Peruse the On-Line-Help [詳細]
 
void process_player_name (bool sf)
 プレイヤーの名前をチェックして修正する Process the player name. [詳細]
 
void get_name (void)
 プレイヤーの名前を変更するコマンドのメインルーチン Gets a name for the character, reacting to name changes. [詳細]
 
void do_cmd_suicide (void)
 自殺するコマンドのメインルーチン Hack – commit suicide [詳細]
 
void do_cmd_save_game (int is_autosave)
 セーブするコマンドのメインルーチン Save the game [詳細]
 
void do_cmd_save_and_exit (void)
 セーブ後にゲーム中断フラグを立てる/ Save the game and exit [詳細]
 
long total_points (void)
 スコアを計算する / Hack – Calculates the total number of points earned -JWT- [詳細]
 
static void center_string (char *buf, cptr str)
 墓石の真ん中に文字列を書き込む / Centers a string within a GRAVE_LINE_WIDTH character string -JWT- [詳細]
 
static void print_tomb (void)
 墓石のアスキーアート表示 / Display a "tomb-stone" [詳細]
 
static void show_info (void)
 死亡、引退時の簡易ステータス表示 / Display some character info [詳細]
 
static bool check_score (void)
 スコアファイル出力 Display some character info [詳細]
 
void close_game (void)
 ゲーム終了処理 / Close up the current game (player may or may not be dead) [詳細]
 
void exit_game_panic (void)
 異常発生時のゲーム緊急終了処理 / Handle abrupt death of the visual system [詳細]
 
errr get_rnd_line (cptr file_name, int entry, char *output)
 ファイルからランダムに行を一つ取得する / Get a random line from a file [詳細]
 
errr process_autopick_file (cptr name)
 自動拾いファイルを読み込む / [詳細]
 
errr process_histpref_file (cptr name)
 プレイヤーの生い立ちファイルを読み込む / Process file for player's history editor. [詳細]
 
static errr counts_seek (int fd, u32b where, bool flag)
 ファイル位置をシーク / [詳細]
 
u32b counts_read (int where)
 ファイル位置を読み込む [詳細]
 
errr counts_write (int where, u32b count)
 ファイル位置に書き込む / [詳細]
 
static void handle_signal_suspend (int sig)
 OSからのシグナルを受けてサスペンド状態に入る / Handle signals – suspend. [詳細]
 
static void handle_signal_simple (int sig)
 OSからのシグナルを受けて中断、終了する / Handle signals – simple (interrupt and quit) [詳細]
 
static void handle_signal_abort (int sig)
 OSからのシグナルを受けて強制終了する / Handle signal – abort, kill, etc. [詳細]
 
void signals_ignore_tstp (void)
 OSからのSIGTSTPシグナルを無視する関数 / Ignore SIGTSTP signals (keyboard suspend) [詳細]
 
void signals_handle_tstp (void)
 OSからのSIGTSTPシグナルハンドラ / Handle SIGTSTP signals (keyboard suspend) [詳細]
 
void signals_init (void)
 OSからのシグナルハンドルを初期化する / Prepare to handle the relevant signals. [詳細]
 

変数

static named_num gf_desc []
 
struct {
   int   col
 
   int   row
 
   int   len
 
   char   header [20]
 
disp_player_line []
 
static byte likert_color = TERM_WHITE
 
bool(* tombstone_aux )(void) = NULL
 

説明

ファイル入出力管理 / Purpose: code dealing with files (and death)

日付
2014/01/28
作者
Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
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.  Other copyrights may also apply.
2014 Deskull rearranged comment for Doxygen.

マクロ定義

#define DP_CURSE   0x01
#define DP_IMM   0x02
#define DP_WP   0x08
#define ENTRY_AGE   38
#define ENTRY_ALIGN   42
#define ENTRY_AVG_DMG   30
#define ENTRY_BARE_HAND   0
#define ENTRY_BASE_AC   10
#define ENTRY_BLOWS   28
#define ENTRY_CLASS   35
#define ENTRY_CUR_EXP   12
#define ENTRY_DAY   16
#define ENTRY_EXP_ANDR   43
#define ENTRY_EXP_TO_ADV   14
#define ENTRY_EXP_TO_ADV_ANDR   44
#define ENTRY_GOLD   15
#define ENTRY_HEIGHT   39
#define ENTRY_HP   17
#define ENTRY_INFRA   31
#define ENTRY_LEFT_HAND1   3
#define ENTRY_LEFT_HAND2   4
#define ENTRY_LEVEL   11
#define ENTRY_MAX_EXP   13
#define ENTRY_NAME   32
#define ENTRY_PATRON   37
#define ENTRY_PLAY_TIME   19
#define ENTRY_POSTURE   6
#define ENTRY_RACE   34
#define ENTRY_REALM   36
#define ENTRY_RIGHT_HAND1   2
#define ENTRY_RIGHT_HAND2   5
#define ENTRY_SEX   33
#define ENTRY_SHOOT_HIT_DAM   7
#define ENTRY_SHOOT_POWER   8
#define ENTRY_SHOTS   29
#define ENTRY_SKILL_DEVICE   27
#define ENTRY_SKILL_DISARM   26
#define ENTRY_SKILL_FIGHT   20
#define ENTRY_SKILL_PERCEP   24
#define ENTRY_SKILL_SAVING   22
#define ENTRY_SKILL_SEARCH   25
#define ENTRY_SKILL_SHOOT   21
#define ENTRY_SKILL_STEALTH   23
#define ENTRY_SOCIAL   41
#define ENTRY_SP   18
#define ENTRY_SPEED   9
#define ENTRY_TWO_HANDS   1
#define ENTRY_WEIGHT   40
#define GRAVE_LINE_WIDTH   31
#define PREF_TYPE_AUTOPICK   1
#define PREF_TYPE_HISTPREF   2
#define PREF_TYPE_NORMAL   0

型定義

typedef struct named_num named_num

関数

static void center_string ( char *  buf,
cptr  str 
)
static

墓石の真ん中に文字列を書き込む / Centers a string within a GRAVE_LINE_WIDTH character string -JWT-

戻り値
なし

呼出しグラフ:

errr check_load ( void  )

Angbandプレイ禁止ホストのチェック / Handle CHECK_LOAD.

戻り値
エラーコード

呼出しグラフ:

errr check_load_init ( void  )

Angbandプレイ禁止ホストの設定初期化 / Initialize CHECK_LOAD.

戻り値
エラーコード

関数の呼び出しグラフ:

呼出しグラフ:

static bool check_score ( void  )
static

スコアファイル出力 Display some character info

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

errr check_time ( void  )

Angbandプレイ禁止時刻をチェック / Handle CHECK_TIME.

戻り値
エラーコード

呼出しグラフ:

errr check_time_init ( void  )

Angbandプレイ禁止時刻の初期化 / Initialize CHECK_TIME.

戻り値
エラーコード

関数の呼び出しグラフ:

呼出しグラフ:

void close_game ( void  )

ゲーム終了処理 / Close up the current game (player may or may not be dead)

戻り値
なし
This function is called only from "main.c" and "signals.c".

関数の呼び出しグラフ:

呼出しグラフ:

u32b counts_read ( int  where)

ファイル位置を読み込む

引数
whereファイルバイト位置
戻り値
エラーコード

関数の呼び出しグラフ:

呼出しグラフ:

static errr counts_seek ( int  fd,
u32b  where,
bool  flag 
)
static

ファイル位置をシーク /

引数
fdファイルディスクリプタ
whereファイルバイト位置
flagFALSEならば現ファイルを超えた位置へシーク時エラー、TRUEなら足りない間を0で埋め尽くす
戻り値
エラーコード

関数の呼び出しグラフ:

呼出しグラフ:

errr counts_write ( int  where,
u32b  count 
)

ファイル位置に書き込む /

引数
whereファイルバイト位置
count書き込む値
戻り値
エラーコード

関数の呼び出しグラフ:

呼出しグラフ:

static void display_flag_aux ( int  row,
int  col,
cptr  header,
int  flag1,
all_player_flags f,
u16b  mode 
)
static

プレイヤーの特性フラグ一種を表示するサブルーチン / Helper function, see below

引数
rowコンソール表示位置の左上行
colコンソール表示位置の左上列
headerコンソール上で表示する特性名
flag1参照する特性ID
fプレイヤーの特性情報構造体
mode表示オプション
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void display_player ( int  mode)

プレイヤーのステータス表示メイン処理 Display the character on the screen (various modes)

引数
mode表示モードID
戻り値
なし
The top one and bottom two lines are left blank.
Mode 0 = standard display with skills
Mode 1 = standard display with history
Mode 2 = summary of various things
Mode 3 = summary of various things (part 2)
Mode 4 = mutations

関数の呼び出しグラフ:

呼出しグラフ:

static void display_player_equippy ( int  y,
int  x,
u16b  mode 
)
static

プレイヤーの装備一覧をシンボルで並べる Equippy chars

引数
y表示するコンソールの行
x表示するコンソールの列
modeオプション
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void display_player_flag_info ( void  )
static

プレイヤーの特性フラグ一覧表示1 / Special display, part 1

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void display_player_melee_bonus ( int  hand,
int  hand_entry 
)
static

プレイヤーの打撃能力修正を表示する

引数
hand武器の装備部位ID
hand_entry項目ID
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void display_player_middle ( void  )
static

プレイヤーステータス表示の中央部分を表示するサブルーチン Prints the following information on the screen.

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void display_player_misc_info ( void  )
static

プレイヤーの特性フラグ一覧表示2a / Special display, part 2a

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void display_player_one_line ( int  entry,
cptr  val,
byte  attr 
)
static

プレイヤーのステータス1種を出力する

引数
entry項目ID
val値を保管した文字列ポインタ
attr項目表示の色
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void display_player_other_flag_info ( void  )
static

プレイヤーの特性フラグ一覧表示2 / Special display, part 2

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void display_player_stat_info ( void  )
static

プレイヤーの特性フラグ一覧表示2b / Special display, part 2b

戻り値
なし
How to print out the modifications and sustains.
Positive mods with no sustain will be light green.
Positive mods with a sustain will be dark green.
Sustains (with no modification) will be a dark green 's'.
Negative mods (from a curse) will be red.
Huge mods (>9), like from MICoMorgoth, will be a '*'
No mod, no sustain, will be a slate '.'

関数の呼び出しグラフ:

呼出しグラフ:

static void display_player_various ( void  )
static

プレイヤーステータスの1ページ目各種詳細をまとめて表示するサブルーチン Prints ratings on certain abilities

戻り値
なし

This code is "imitated" elsewhere to "dump" a character sheet.

関数の呼び出しグラフ:

呼出しグラフ:

void do_cmd_help ( void  )

ヘルプを表示するコマンドのメインルーチン Peruse the On-Line-Help

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void do_cmd_save_and_exit ( void  )

セーブ後にゲーム中断フラグを立てる/ Save the game and exit

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void do_cmd_save_game ( int  is_autosave)

セーブするコマンドのメインルーチン Save the game

引数
is_autosaveオートセーブ中の処理ならばTRUE
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void do_cmd_suicide ( void  )

自殺するコマンドのメインルーチン Hack – commit suicide

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_arena ( FILE *  fff)
static

闘技場の情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_class_special ( FILE *  fff)
static

プレイヤーの職業能力情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_display_player ( FILE *  fff)
static

プレイヤーのステータス表示をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_equipment_inventory ( FILE *  fff)
static

所持品の情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_home_museum ( FILE *  fff)
static

我が家と博物館のオブジェクト情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_last_message ( FILE *  fff)
static

死の直前メッセージ並びに遺言をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_monsters ( FILE *  fff)
static

撃破モンスターの情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_mutations ( FILE *  fff)
static

突然変異の情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_options ( FILE *  fff)
static

オプション情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

呼出しグラフ:

static void dump_aux_pet ( FILE *  fff)
static

プレイヤーのペット情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_quest ( FILE *  fff)
static

クエスト情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void dump_aux_race_history ( FILE *  fff)
static

元種族情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

呼出しグラフ:

static void dump_aux_realm_history ( FILE *  fff)
static

元魔法領域情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

呼出しグラフ:

static void dump_aux_recall ( FILE *  fff)
static

帰還場所情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

呼出しグラフ:

static void dump_aux_virtues ( FILE *  fff)
static

徳の情報をファイルにダンプする

引数
fffファイルポインタ
戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void exit_game_panic ( void  )

異常発生時のゲーム緊急終了処理 / Handle abrupt death of the visual system

戻り値
なし
This routine is called only in very rare situations, and only
by certain visual systems, when they experience fatal errors.
XXX XXX Hack – clear the death flag when creating a HANGUP
save file so that player can see tombstone when restart.

関数の呼び出しグラフ:

errr file_character ( cptr  name)

プレイヤーステータスをファイルダンプ出力する Hack – Dump a character description file

引数
name出力ファイル名
戻り値
エラーコード

XXX XXX XXX Allow the "full" flag to dump additional info, and trigger its usage from various places in the code.

関数の呼び出しグラフ:

呼出しグラフ:

void get_name ( void  )

プレイヤーの名前を変更するコマンドのメインルーチン Gets a name for the character, reacting to name changes.

戻り値
なし
Assumes that "display_player(0)" has just been called
Perhaps we should NOT ask for a name (at "birth()") on
Unix machines?  XXX XXX
What a horrible name for a global function.  XXX XXX XXX

関数の呼び出しグラフ:

呼出しグラフ:

errr get_rnd_line ( cptr  file_name,
int  entry,
char *  output 
)

ファイルからランダムに行を一つ取得する / Get a random line from a file

引数
file_nameファイル名
entry特定条件時のN:タグヘッダID
output出力先の文字列参照ポインタ
戻り値
エラーコード
Based on the monster speech patch by Matt Graham,

関数の呼び出しグラフ:

呼出しグラフ:

static void handle_signal_abort ( int  sig)
static

OSからのシグナルを受けて強制終了する / Handle signal – abort, kill, etc.

引数
sig受け取ったシグナル
戻り値
なし
This function was causing a huge number of problems, so it has
been simplified greatly.  We keep a global variable which counts
the number of times the user attempts to kill the process, and
we commit suicide if the user does this a certain number of times.
We attempt to give "feedback" to the user as he approaches the
suicide thresh-hold, but without penalizing accidental keypresses.
To prevent messy accidents, we should reset this global variable
whenever the user enters a keypress, or something like that.

関数の呼び出しグラフ:

呼出しグラフ:

static void handle_signal_simple ( int  sig)
static

OSからのシグナルを受けて中断、終了する / Handle signals – simple (interrupt and quit)

引数
sig受け取ったシグナル
This function was causing a huge number of problems, so it has
been simplified greatly.  We keep a global variable which counts
the number of times the user attempts to kill the process, and
we commit suicide if the user does this a certain number of times.
We attempt to give "feedback" to the user as he approaches the
suicide thresh-hold, but without penalizing accidental keypresses.
To prevent messy accidents, we should reset this global variable
whenever the user enters a keypress, or something like that.

関数の呼び出しグラフ:

呼出しグラフ:

static void handle_signal_suspend ( int  sig)
static

OSからのシグナルを受けてサスペンド状態に入る / Handle signals – suspend.

引数
sig受け取ったシグナル

Actually suspend the game, and then resume cleanly

関数の呼び出しグラフ:

呼出しグラフ:

static void known_obj_immunity ( u32b  flgs[TR_FLAG_SIZE])
static

プレイヤーの装備による免疫フラグを返す

引数
flgsフラグを保管する配列
戻り値
なし
TODO:
xtra1.c周りと多重実装になっているのを何とかする

関数の呼び出しグラフ:

呼出しグラフ:

static cptr likert ( int  x,
int  y 
)
static

技能ランクの表示基準を定める Returns a "rating" of x depending on y

引数
x技能値
y技能値に対するランク基準比
戻り値
なし

呼出しグラフ:

errr make_character_dump ( FILE *  fff)

ダンプ出力のメインルーチン Output the character dump to a file

引数
fffファイルポインタ
戻り値
エラーコード

関数の呼び出しグラフ:

呼出しグラフ:

static void player_flags ( u32b  flgs[TR_FLAG_SIZE])
static

プレイヤーの職業、種族に応じた耐性フラグを返す Prints ratings on certain abilities

引数
flgsフラグを保管する配列
戻り値
なし

Obtain the "flags" for the player as if he was an item

TODO:
xtra1.c周りと多重実装になっているのを何とかする

関数の呼び出しグラフ:

呼出しグラフ:

static void player_immunity ( u32b  flgs[TR_FLAG_SIZE])
static

プレイヤーの種族による免疫フラグを返す

引数
flgsフラグを保管する配列
戻り値
なし
TODO:
xtra1.c周りと多重実装になっているのを何とかする

呼出しグラフ:

static void player_vuln_flags ( u32b  flgs[TR_FLAG_SIZE])
static

プレイヤーの種族による弱点フラグを返す

引数
flgsフラグを保管する配列
戻り値
なし
TODO:
xtra1.c周りと多重実装になっているのを何とかする

呼出しグラフ:

void print_equippy ( void  )

プレイヤーの装備一覧シンボルを固定位置に表示する

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void print_tomb ( void  )
static

墓石のアスキーアート表示 / Display a "tomb-stone"

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

errr process_autopick_file ( cptr  name)

自動拾いファイルを読み込む /

引数
nameファイル名

関数の呼び出しグラフ:

呼出しグラフ:

errr process_histpref_file ( cptr  name)

プレイヤーの生い立ちファイルを読み込む / Process file for player's history editor.

引数
nameファイル名
戻り値
エラーコード

関数の呼び出しグラフ:

呼出しグラフ:

void process_player_name ( bool  sf)

プレイヤーの名前をチェックして修正する Process the player name.

引数
sfセーブファイル名に合わせた修正を行うならばTRUE
戻り値
なし

Extract a clean "base name". Build the savefile name if needed.

関数の呼び出しグラフ:

呼出しグラフ:

errr process_pref_file ( cptr  name)

pref設定ファイルを読み込み設定を反映させる / Process the "user pref file" with the given name

引数
name読み込むファイル名
戻り値
エラーコード
See the functions above for a list of legal "commands".
We also accept the special "?" and "%" directives, which
allow conditional evaluation and filename inclusion.

関数の呼び出しグラフ:

呼出しグラフ:

static errr process_pref_file_aux ( cptr  name,
int  preftype 
)
static

process_pref_fileのサブルーチン / Open the "user pref file" and parse it.

引数
name読み込むファイル名
preftypeprefファイルのタイプ
戻り値
エラーコード
Input:
  v: output buffer array
  f: final character
Output:
  result

関数の呼び出しグラフ:

呼出しグラフ:

errr process_pref_file_command ( char *  buf)

設定ファイルの各行から各種テキスト情報を取得する / Parse a sub-file of the "extra info" (format shown below)

引数
bufデータテキストの参照ポインタ
戻り値
エラーコード
Each "action" line has an "action symbol" in the first column,
followed by a colon, followed by some command specific info,
usually in the form of "tokens" separated by colons or slashes.
Blank lines, lines starting with white space, and lines starting
with pound signs ("#") are ignored (as comments).
Note the use of "tokenize()" to allow the use of both colons and
slashes as delimeters, while still allowing final tokens which
may contain any characters including "delimiters".
Note the use of "strtol()" to allow all "integers" to be encoded
in decimal, hexidecimal, or octal form.
Note that "monster zero" is used for the "player" attr/char, "object
zero" will be used for the "stack" attr/char, and "feature zero" is
used for the "nothing" attr/char.
Parse another file recursively, see below for details
  %:<filename>
Specify the attr/char values for "monsters" by race index
  R:<num>:<a>:<c>
Specify the attr/char values for "objects" by kind index
  K:<num>:<a>:<c>
Specify the attr/char values for "features" by feature index
  F:<num>:<a>:<c>
Specify the attr/char values for unaware "objects" by kind tval
  U:<tv>:<a>:<c>
Specify the attr/char values for inventory "objects" by kind tval
  E:<tv>:<a>:<c>
Define a macro action, given an encoded macro action
  A:<str>
Create a normal macro, given an encoded macro trigger
  P:<str>
Create a command macro, given an encoded macro trigger
  C:<str>
Create a keyset mapping
  S:<key>:<key>:<dir>
Turn an option off, given its name
  X:<str>
Turn an option on, given its name
  Y:<str>
Specify visual information, given an index, and some data
  V:<num>:<kv>:<rv>:<gv>:<bv>
Specify the set of colors to use when drawing a zapped spell
  Z:<type>:<str>
Specify a macro trigger template and macro trigger names.
  T:<template>:<modifier chr>:<modifier name1>:<modifier name2>:...
  T:<trigger>:<keycode>:<shift-keycode>

関数の呼び出しグラフ:

呼出しグラフ:

cptr process_pref_file_expr ( char **  sp,
char *  fp 
)

process_pref_fileのサブルーチンとして条件分岐処理の解釈と結果を返す / Helper function for "process_pref_file()"

引数
spテキスト文字列の参照ポインタ
fp再帰中のポインタ参照
戻り値
Input:
  v: output buffer array
  f: final character
Output:
  result

関数の呼び出しグラフ:

呼出しグラフ:

void safe_setuid_drop ( void  )

ファイルのドロップパーミッションチェック / Hack – drop permissions

関数の呼び出しグラフ:

呼出しグラフ:

void safe_setuid_grab ( void  )

ファイルのグラブパーミッションチェック / Hack – grab permissions

関数の呼び出しグラフ:

呼出しグラフ:

bool show_file ( bool  show_version,
cptr  name,
cptr  what,
int  line,
int  mode 
)

ファイル内容をコンソールに出力する Recursive file perusal.

引数
show_versionTRUEならばコンソール上にゲームのバージョンを表示する
nameファイル名の文字列
what内容キャプションの文字列
line表示の現在行
modeオプション
戻り値
なし
Process various special text in the input file, including
the "menu" structures used by the "help file" system.
Return FALSE on 'q' to exit from a deep, otherwise TRUE.

関数の呼び出しグラフ:

呼出しグラフ:

static void show_file_aux_line ( cptr  str,
int  cy,
cptr  shower 
)
static

ファイル内容の一行をコンソールに出力する Display single line of on-line help file

引数
str出力する文字列
cyコンソールの行
shower確認中
戻り値
なし
You can insert some special color tag to change text color.
Such as...
WHITETEXT [[[[y|SOME TEXT WHICH IS DISPLAYED IN YELLOW| WHITETEXT
A colored segment is between "[[[[y|" and the last "|".
You can use any single character in place of the "|".

関数の呼び出しグラフ:

呼出しグラフ:

static void show_info ( void  )
static

死亡、引退時の簡易ステータス表示 / Display some character info

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void signals_handle_tstp ( void  )

OSからのSIGTSTPシグナルハンドラ / Handle SIGTSTP signals (keyboard suspend)

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

void signals_ignore_tstp ( void  )

OSからのSIGTSTPシグナルを無視する関数 / Ignore SIGTSTP signals (keyboard suspend)

戻り値
なし

呼出しグラフ:

void signals_init ( void  )

OSからのシグナルハンドルを初期化する / Prepare to handle the relevant signals.

戻り値
なし

関数の呼び出しグラフ:

呼出しグラフ:

static void tim_player_flags ( u32b  flgs[TR_FLAG_SIZE])
static

プレイヤーの一時的魔法効果による耐性を返す Prints ratings on certain abilities

引数
flgsフラグを保管する配列
戻り値
なし
TODO:
xtra1.c周りと多重実装になっているのを何とかする

呼出しグラフ:

static void tim_player_immunity ( u32b  flgs[TR_FLAG_SIZE])
static

プレイヤーの一時的魔法効果による免疫フラグを返す

引数
flgsフラグを保管する配列
戻り値
なし
TODO:
xtra1.c周りと多重実装になっているのを何とかする

呼出しグラフ:

s16b tokenize ( char *  buf,
s16b  num,
char **  tokens,
int  mode 
)

各種データテキストをトークン単位に分解する / Extract the first few "tokens" from a buffer

引数
bufデータテキストの参照ポインタ
numトークンの数
tokensトークンを保管する文字列参照ポインタ配列
modeオプション
戻り値
解釈した文字列数
This function uses "colon" and "slash" as the delimeter characters.
We never extract more than "num" tokens.  The "last" token may include
"delimeter" characters, allowing the buffer to include a "string" token.
We save pointers to the tokens in "tokens", and return the number found.
Hack – Attempt to handle the 'c' character formalism
Hack – An empty buffer, or a final delimeter, yields an "empty" token.
Hack – We will always extract at least one token

呼出しグラフ:

long total_points ( void  )

スコアを計算する / Hack – Calculates the total number of points earned -JWT-

戻り値
なし

呼出しグラフ:

変数

int col
struct { ... } disp_player_line[]
named_num gf_desc[]
static
char header[20]
int len
byte likert_color = TERM_WHITE
static
int row
bool(* tombstone_aux)(void) = NULL