2015/11/09
■ [Angband]『Angband Releases: 3.1.0beta』の残り和訳
これまたクッソ長かったhttp://rephial.org/release/3.1.0betaの和訳全部終わり!閉廷!
実行環境依存
- X11より、-xオプションをコマンドラインに憑けることで、設定ファイルの位置を選択できる機能を追加しました。(morth氏にパッチにより/#333)
- (shanoah氏により)GTK2より、現在継続中の実装ですがtermウィンドウ類、グラフィックなどを追加しました。そして「メッセージ」や「モンスターリスト」などをいくつかのウィンドウへ特別に充てました。
- OSX版は今回からユニバーサルバイナリになり、より速く、良く、機敏に動作するようになり、以前より多くのサウンドが備わりました。
コードレベルの修正
モンスターのHPは"12d5"といった計算を用いるのに代わって、ランダムな値周辺の平均値として扱われるようになりました。ユニークは以前通り常にmonster.txt中の値通りにHPが与えられます。これは、Eyangbandからコピーして取り込みました。
多数のコードレベルのクリンアップが本リリースに適用され、まだ多数は絶え間なく変化しています。多数の新しいソースコードファイルが既存から分離され、それらはより自己言及的な名前になっています。player/、monster/、objectサブディレクトリが作成され、コードの分離により役立てています。
新しく一般的な魔法効果のハンドルも追加され、全てのアイテムの発動と技能のは同じコードを共有するようになりました。これはuse-obj.cとlib/edit/object.txtからの多数の記述に置き換えられました。
メモリの確保管理が再考されました。現在すべてのコードは既に行われた通りに、メモリのアローケーションに成功することを当然前提としています。realloc()スタイルの関数をそれらのフックに使っています。string_make()関数はconst char *型を返さないよう修正され、全てのコード中でconstを意味している時のみconstを使うようになりました。いくつかのマクロは取り除かれました。
Elly氏がutil.c内に以前からあったメッセージとquarkパッケージのコードを書き直し、その過程の中でz-*系のソースコードから切り分けられました。z-msgパッケージは境界性が薄く非効果的に、そして十分な最適性は落ちましたが、より理解しやすくなりました。
オプションの定義はoption.hに移動し、オプションの名称や解説記述はoption.cに移りました。オプションのデータは目に見えてよりコンパクトは方法で溜められるようになり、古いシステムよりも編集がより適切に行われるようになりました。(#64)
加えて、新しいファイルAPIが、以前混在していたfd*()やmyf*()関数のコールから、シンプルに、よりよきドキュメント化されたインターフェースに統合されました。
店の品ぞろえはlib/edit/store.txtにリーズナブルで柔軟なフォーマットで明示できるようになりました。
tval/svalの値からでなくeditファイル上で使われたアイテム名をちょっとした改善として適用するようになりました、例えば、新しいstore.txtファイルを見てください。/lib/pref/ のグラフィック時も、p_class.txt中の開始時アイテム、その他もこれらで参照できるようになっています。これらは本当に簡単な運用ができるようになり、ユーザビリティの大きな、大きな工場になりました。これは不正なアイテム参照を手早くキャッチすることが可能であるため、アイテムが取り除かれた時、すべての参照が不正となることになります。
ユーザインターフェース表示更新のためのイベントシステムが構築されました。ゲームがユーザインターフェースとやり取りするところで、以前特定の場所でのみ再描画が行われていた仕様から、ユーザインターフェースが行った何らかの変更に合わせて記述されたメッセージを送る形になりました・メインスクリーンは常にこの形でアップデートが行われるようになりました。他と伴って、このシステムはボーグやグラフィカルなフロントエンドの手助けになるでしょう。何故ならばこれらは状態の変化そのものをフックできるからです。(#348)
object1.cとobject2.cは一連のファイルに分割されました・(obj-desc.c/obj-make.c/obj-ui.c/obj-util.c)これにより何がどこにあるかを判別しやすくなっています。また、object_desc()関数は書き直され、望み通りより多くのハックしやすい形になりました。
Doxygenを使った、有機的なコードドキュメンテーションの計画が開始されました。Makefile.stdがドキュメント群を生成する簡単なメカニズムを提供します("make docs"と試してください)
他の分類された変更は以下の通りです。
- 全体的な役に立たない、使わないconfig.h中の設定オプションを取り除きました。
- "make -f Makefile.inc depgen"でmakefile.newが出力され、本プロジェクトの最新依存関係が含まれるようになりました。
- アイテムタイプのフラグは粗雑なxtraのバイト列を取り除きました。この修正は例えば炎に燃えない巻物を設定できるようになります。(#120)
- MSVCやNMAKE用のコマンドライン用メイクファイルが作成されました。今の所MSVC 6+で動作します。修正すればMSVC8+以降にも対応します。
- (Kenneth Boyd氏により) 種族や職業の技能が配列の値の形に整理されました。
- (Elly氏により)全てのヘッダーファイル内でヘッダーガードを用い、それらのスキーム内で一貫した名前をつけるようにしました。
- ゲームコードのユニットテストとして、もっとも基本的なテストハーネスを追加しましたが、これはまだやっと使われるようになったばかりです。このクリンアップにいくらか貢献してくれたFennec氏に感謝します。
- 100面ダイスのため、onein_()関数の記述をゲームに導入しました。
- 乱数の取得にrandint0()関数ならびにrandint1()関数を導入しました。
- PNGファイルの透明色指定を実装しました。(#270、Rowan Beentje氏に感謝します)
- 個別のフラグセット群をモンスター用の特性フラグに使っていたflag[6]へ移管しました。
- スコア用のソースコードは外部にリファクタリングされ、score.cに移管しました。
■ [ヴィーヤウトゥムノ] <スラーネッシュ>の女悪魔/Daemonette of Slaanesh (L.Red 'u')タイプB
=== Num:319 Lev:18 Rar:2 Spd:+10 Hp:96 Ac:50 Exp:75 下級の女性型悪魔で、概ね人間型をしているが、手の代わりに蟹のようなハサミ がある。かなりきわどいボロ皮のビキニを着ていて、素早く動き、致命的な呪文 を唱えてくる。 彼女は通常地下 18 階で出現し、素早く動いている。この邪悪なるデーモンを倒 すことは 1 レベルのキャラクタにとって 約450.00 ポイントの経験となる。彼女 は魔法を使うことができ、重傷+呪い、ファイア・ボルト、アイス・ボルト、恐 怖、混乱、デーモン一体召喚の呪文を唱えることがある(確率:1/8)。彼女は AC50 の防御力と 96 の体力がある。彼女はドアを開け、ドアを打ち破ることができ る。彼女は炎と冷気と毒の耐性を持っている。彼女は進化しない。彼女は混乱し ないし、眠らされない。彼女は侵入者をほんの少しは見ており、 200 フィート先 から侵入者に気付くことがある。彼女は一つのアイテムや財宝を持っていること がある。彼女は 3d5 のダメージでひっかいて混乱させ、 3d5 のダメージでひっ かいて混乱させる。
鬼畜大佐『ロムンクァリィ』
こちら、小柄な分だけより前回よりお求めやすくなっております。
アッキ=ニンジャ『ウルウェン』
おう、バカ息子共、クッソ情けないキモオタめいた調子で抜けよ。
兵器の悪魔『ウディンダイ』
(乳が足り)ないです。
辺土SATSUGAI流開祖『フナヒヤンダ』
(肌に青みが)入ってないやん!