=== ユーザー設定ファイル ===

D'angbandではゲームの様々な点を自分好みに変更することが出来ます。設定ファ
イルを書き変える事で、キー配置を変更すること(押されたキーに対応する内
部的キー配置の割り当てを変更します)、マクロを作成すること(一つのキーに
一連の複数のキーを押す手順を記憶させます)、画面表示を変更すること(モン
スターやアイテムや地形をあらわす文字や色を変更します)、カラーを変更す
ること(一定のカラーを明るくしたり暗くしたり全く別の色に変えたりします)、
オプションを設定すること(その機能をオン・オフします)、及びアイテムの自
動拾いと自動破壊を設定する事ができます。

D'angbandではユーザーの変更した様々な情報を「ユーザー設定ファイル(user
pref file)」と呼ばれるファイルに保存します。そのファイルはコメントと、
簡単な設定変更のコマンドで構成されています。ユーザー設定ファイルを読み
込む方法は色々とありますし、自動的に読み込まれるものもあります。

D'angbandにもともと用意された設定ファイルは「lib/pref/」ディレクトリに
入っています。ユーザーの設定を保存したりユーザー自身が書く設定ファイル
は、「ユーザーディレクトリ」に保管されます。これは標準の設定でコンパイ
ルされた場合ならば、 Unix の場合は ~/.angband/Hengband/ その他の機種の
場合は、lib/user/ の下になります。また設定変更コマンド (") を使って、
普通はファイルに書いている設定変更のコマンドをゲーム上で直接打ち込むこ
ともできます。ゲームの画面に影響する設定を変更したならば、画面描き直し
コマンド(^R) が必要になるかもしれません。

ゲームをスタートして、以前のキャラクタのセーブ・データを読み込むか新し
いキャラクタを作るかした後に、自動的に設定ファイルがいくつか読み込まれ
ます。まず始めに "pref.prf" ファイルが読み込まれます。このファイルには
全てのシステムで機能するいくつかのユーザー設定コマンドが記入されていま
す。次に文字表示の場合は "font-xxx.prf" が、グラフィック表示の場合は
"graf-xxx.prf" が読み込まれます。このファイルには、モンスター、アイテ
ム、地形の表示方法や色を、それぞれのシステムに適合させるような変更が記
載されています。次に "pref-xxx.prf"ファイルが読み込まれます。このファ
イルには、それぞれのシステムで必要なマクロや色などの設定が記載されてい
ます。次に "user-xxx.prf" ファイルが読み込まれます。このファイルには通
常ユーザーが設定したことが記載しますが、全てのユーザーに共通です。
"user-xxx.prf"ファイルは多くの場面においてデフォルトのユーザー設定ファ
イルとして使われています。

今までに出てきた "xxx" の部分にはシステムに応じた文字が入ります。具体
的には実行ファイルを作成するのに使われた "main-xxx.c" の "xxx" の部分
の文字が入ります。その後で "<種族名>.prf" "<職業名>.prf" "<キャラクター
名>.prf" ファイルが読み込まれます。ただし<種族名>にはプレイヤーの種族
名、<職業名>にはプレイヤーの職業名、<キャラクター名>には現在プレイして
いるキャラクタの名前が入ります。あなたがが自分の設定を書き込むのは、主
に"<キャラクター名>.prf"になるでしょう。

最後に自動拾い/破壊設定の専用ファイル "picktype.prf" と "picktype-<キャ
ラクター名>.prf"を読み込みます。このファイルの中ではマクロ等の設定を書
き込める事に加えて、自動拾いのアイテム名の登録ができます。このファイル
はあなた自身がエディターを使って書かなければなりません。

設定を変更したい場合には、設定変更コマンドをユーザー設定ファイルにエディ
ターなどを使って直接記述するのも良いのですが、ゲーム中で「マクロの設定」
(@)、「画面表示の設定」(%)、「カラーの設定」(&)を使えばより感覚的に設
定を変更することが出来ます。またこれらコマンド中では、現存するユーザー
設定ファイルを読み込んだり、新しいユーザー設定ファイルを作成したり、現
存するユーザー設定ファイルに情報を上書きしたりもできます。

D'angbandでは現存するユーザー設定ファイルに情報を上書きするときに古い設
定行は削除してくれます。つまり追加書き込みを繰り返してファイルがどんど
ん巨大に膨れ上る心配はありません。ぞんぶんに書き込みましょう。


***** <Commands>
=== ユーザー設定ファイルのコマンド ===

オプションの設定 (=)
     オプション設定画面を表示して、そこでD'angbandの動作を変更すること
     ができます。「詐欺オプション」の扱いには注意して下さい。一度でも
     このオプションを有効にすると、そのことがセーブファイルに記録され
     てしまって、ハイスコアリストに載ることが不可能になってしまいま
     す。通常のオプションはユーザー設定ファイルの中で "X"と"Y"コマンド
     で設定することもできます。また、オプションによっては画面描き直し
     コマンド (^R) を入力しないと有効にならないものもあります。

マクロの設定 (@)
     マクロの設定をすることができます。ユーザー設定ファイルからマクロ
     を読み込んだり、ユーザー設定ファイルにマクロをセーブしたり、様々
     な種類のマクロを定義したり、キー配置を変更したりできます。

画面表示の設定 (%)
     画面表示に関する設定をすることができます。画面表示の設定をユー
     ザー設定ファイルから読み込んだり、ユーザー設定ファイルにセーブし
     たり、モンスターやアイテムや地形の色や文字を変更したりすることが
     できます。

カラーの設定 (&)
     カラーの設定をすることができます。このコマンドはシステムによって
     は機能しません。設定を変更したら、画面描き直しコマンド (^R) を使っ
     て画面を描き直して下さい。

自動拾い/破壊設定ファイルの読み込み ($)
     このコマンドを実行すると、"picktype.prf" と "picktype-<キャラクター
     名>.prf"を読み込みます。ゲーム中にこれらのファイルをエディタで書
     き変えたときに便利でしょう。

自動拾い/破壊ファイルの編集 (_)
     このコマンドを実行すると picktype.prf を編集するエディタに入りま
     す。エディタの中では全てのコマンドはメニュー(ESCで開く)から実行で
     きます。エディタを終了するには ^Q または、^W を押します。


***** <Macros>
=== ユーザー設定ファイル(マクロ) ===

「マクロの設定」コマンドではマクロを設定したり無効にしたりできます。マ
クロとは、ファンクションキーや未使用のキー入力などに、一連のキー操作を
定義することを言います。マクロは、いちいち何度も同じ様な一連のキー入力
をする煩雑さを解消するためにあるのです。

マクロはどのような時にも適用されます(マクロ設定コマンドでトリガーキー
を選んでいる最中だけが例外です)。したがって、例えばエスケープキーや'y' 
キーをマクロのトリガーとして使ってしまうと、後で元のエスケープキー等を
入力できなくなり、非常に困った事になるでしょう。

マクロは連続したいくつかのキー入力に対応させられますが、特殊なキー(リ
ターンキーや CTRLキー)を使用するときには特別な書式で書かれなければなり
ません。"^X" と書けばCTRL-X と解釈され(他の CTRL キーも同じです)、
"\NNN" と書けば十進数の NNN と解釈され、"\xHH"と書けば16進数の HH と解
釈されます。また、"\e" は ESC、"\n" は次の行(ラインフィード)、"\r" は
リターンキー、"\s" はスペースキー、"\\" はバックスラッシュ、"\^" は 
"^" という文字を表します。

マクロのトリガーキーとして特殊なキーを使うときも同様に特別な書式で表現
されます。CTRL-X なら ^X 、F1キーなら \[F1]、コントロールキー + F2キー
なら \[control-F2]等と書かれます。実際にどう書かれるかはマクロを設定す
るコマンド '@'の中で表示されるので、いろいろと試してみてください。

マクロ行動の解釈中においては、他のマクロのトリガーをチェックしていませ
んので、マクロ行動の作成において無限ループを作ってしまうことを心配する
必要はありません。また、マクロはどんなに長くても結構ですが、システムの
内部的な入力機能によって制限されます。通常は 1024 文字くらいが限度でしょ
う。

"\" コマンド(マクロ行動に記述するときには "\\" と入力します)はマクロに
おいて大変便利なコマンドです。どのマクロやキー配置においても、"\" コマ
ンドに続くキーはアングバンドの「内部的キー配置」のキーと解釈されます。
「内部的キー配置」のリストは "jcommand.txt" を見て下さい。例えば、マク
ロ行動に "\\.6"と記述し、トリガーキーを"SHIFT-(テンキー)6" にしたとしま
す。つまり SHIFT-(テンキー)6 に "\" + "." + "6" が定義されたとすると、
どのキー配置を使用しているときでも、「東に走る」と解釈されます。キー配
置や定義に依存しないという点でマクロはなるべく "\" コマンドを使って内部
的キー配置で記述したほうがよいでしょう。

内部的キー配置を使う際の注意を述べます。"\\" は1つのコマンドに対し1回だ
け有効です。例えば、ローグ風キー配置でマクロ "\\u0u0" を実行すると、最
初の "\\u0" は内部的キー配置の動作となり銘{@u0}に対応する杖を使います
が、次の "u0" は内部的キー配置ではなくローグ風キー配置で入力したと見な
され、おそらく意図していない動作になります。このマクロをローグ風キー配
置でも内部的キー配置として正しく動作させるには "\\u0\\u0" と記述するべ
きです。また、"\e" を記述した後にコマンドを記述する場合にも "\\" を記述
するべきです。例として、ローグ風キー配置では "\\\eu0" は誤動作しますの
で "\\\e\\u0" とするべきです。

マクロの定義はユーザー設定ファイル中では２行に渡って記述されています。
１行目は "A:<文字列>" で、これはエンコードされたマクロ行動を表します。
２行目は "P:<文字列>" で、これはエンコードされたトリガーキーを表します。


***** <Keymaps>
=== ユーザー設定ファイル(キー配置) ===

「マクロの設定」コマンド中では「キー配置」を変更することもできます。
「キー配置」とはそれぞれのコマンドを実行する文字として何かのキーを割り
当てることです。マクロがあらゆる状況で適用されるのと違い、キー配置はコ
マンドの入力をするときにのみ関係します。つまりあなたが 'n'キーに'f'コ
マンドを定義してしまったとしても、アイテムの選択時や、文字列の入力時に
は 'n'キーはそのまま'n'と解釈されます。

オリジナルキー配置とローグ風キー配置は、実は内部的なキー配置とは異なり、
設定ファイルによって、内部的なキー配置に割り当てられているだけです。し
たがって、ユーザーがこの割り当てに手を加えることもできます。プレイヤー
が「キー配置」の変更を行う場合には、実行するべきコマンドはオリジナルキー
配置やローグ風キー配置のコマンド文字ではなく、必ず内部的キー配置の文字
で指定しなければなりません。

オリジナルキー配置は内部的キー配置に非常によく似たキー配置です。ただ追
加的に、全ての数字が ";" + (方向) に、"5" が "," に、コントロールキー
が様々なことに割り当てられています。内部的キー配置自体については 
"jcommand.txt" を参照して下さい。キー配置の変更には他に、特定のコマン
ドに "\x00" を割り当てて、そのコマンドを使用不能にすることもできます。

キー配置はユーザー設定ファイル中ではマクロと同様に 2 行に渡って記述さ
れています。1 行目は "A:<文字列>" で、これは内部的キー配置の文字で書か
れたコマンドです。２行目は "C:<0か1の数字>:<文字列>" で、これはエンコー
ドされたトリガーキー(実際にあなたが押すキー)を表します。ローグ風配置の
ときは数字に1を、オリジナル配置のときは数字に0を指定します。


***** <Visuals>
=== ユーザー設定ファイル(画面表示) ===

「画面表示の設定」コマンドでは様々な画面表示を変更できますが、現在の
所、様々なモンスターやアイテムや地形をあらわす文字と色を変更できます。
"main-xxx.c" で対応していて、更に "use_graphics" フラグがセットされて
いるのならば、様々なものを表示するのに通常の「色付きの文字」の代わりに
「グラフィック・ビットマップ」を使用することが出来ます。

色や文字を変更するときの具体的なキー操作ですが、通常は大文字を押すと値
を一つ減らし、小文字を押すと値を一つ増やします。"n" か "N" を押して変
更しようとするキャラクターを選択して下さい。"a" か "A" を押すとそのキャ
ラクターの色が変更され、"c" か "C" を押すとそのキャラクターをあらわす
文字が変更されます。また、"^N"や"^A"や"^C"を押すと直接数値を入力して変
更することができます。グラフィックが使用可能なら、文字や色を表す数字に
128〜255の数字を使うことでグラフィックを表示させることができます。

<<注意>>この機能を使うとゲーム中の全てのモンスターの名前を見ることがで
きます。そのような情報を望まないのなら、この機能は使わないで下さい。

画面表示の設定はユーザー設定ファイル中では "R:<N>:<A>/<C>"
"K:<N>:<A>/<C>" "F:<N>:<A>/<C>" という形式で記述されています。


***** <Colors>
=== ユーザー設定ファイル(カラー) ===

「カラーの設定」コマンドでは様々な画面表示のカラーの値を変更することが
出来ます。このコマンドはシステムによっては機能しないこともあります。最
もよくこの機能を発揮するシステムでは、アングバンドで使用される 16 色の
カラーをそれぞれ RGB の値で変更することができ、現在使用されていない新
しいカラーを設定することもできるでしょう。

カラーの設定はユーザー設定ファイル中では "V:<N>:<V>:<R>:<G>:<B>" とい
う形式で記述されています。


***** <Options>
=== ユーザー設定ファイル(オプション) ===

「オプションの設定」コマンドではオプションの効果をオン・オフする事が出
来ます。このオプションのオン・オフをユーザー設定ファイル中で行うことも
できます。そのコマンドはそれぞれ "X:<option>" "Y:<option>" です。

この方法はあなたがマクロ中で使いたいと思う事もあるでしょう。例えば、魔
法書 b の３番目の魔法を使う操作をF1キーにマクロ登録して、何度も何度も
休憩しながら使いたいとき、単純に 'R\r'を挿入するだけでは、次の魔法を使
うコマンド文字を押したときに休憩を中断してしまうので、「ユーザー設定を
1行実行する」コマンド(")を使って、次のように書くのが便利です。

A:"X:avoid_abort\rR\rmbc"Y:avoid_abort\r
P:\[F1]

avoid_abort オプションについては、効率化オプション [b] を参照してくだ
さい。
***** [b] joption.txt#Efficiency

--
Original   : Alexander Cutler and Andy Astrand
Updated    : (2.7.6) by Russ Allbery (rra@cs.stanford.edu)
Updated    : (2.7.9) by Ben Harrison (benh@phial.com)
Updated    : Zangband 2.2.0 through 2.2.6c by Robert Ruehlmann
Updated    : Zangband DevTeam
Updated    : Hengband 1.7.0
Updated    : D'angband Alpha0
