ローグライク日記かもしれない
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
去年の10月ごろに公開した変愚蛮怒アイテム由来パッチを更新。 差分ファイル 今回はバグフィックスです。 ・ランダムクエストの報酬の由来のモンスターがプレイヤーになっていたのを修正 ・箱の中のものの由来でどこで拾った箱なのかがおかしくなっていたのを修正 ・SVN r3072をベースにした。 |
そういえば、1/18にJUnNetHack-3.5.2-J0.2.2をリリースしました。
本家のほうで錬金術に関するバグ対応リリースがあったのでそれに対応する形で。
変更点は次のとおり
* UnNetHack 3.5.2-20100110をベースにした。
r372 修正: 存在しない薬で錬金術をしない
* 起動時の職業名が翻訳されなくなっていたのを修正
現在、本家修正のJUnNetHackへの取り込みを行っているのだが・・・
r387 Patch: 64-bit fix (by Clive Crous)がよくわからない。
Fixes NetHack for 64bit(NetHack Patch Database) を使用していると思われる。
モンスターIDとアイテムIDをunsignedからsize_tに変更して、一部の関数の引数の型も
unsigned から size_t に変更しているようだ。
unsigend は Win32/64 で 32bit長の整数で、
size_t は Win32 で 32bit長、Win64 で 64bit長の整数だ。
size_tは長さの単位だからちょっとアレな直し方だ。
region.cの941行の修正とか、timeout.cの1845行の修正で
int型の整数への代入なのにsize_tへキャストしてるのはミスかな。
あと、モンスターIDとアイテムIDをunsignedに代入したり比較したりしている
箇所はこのパッチの修正箇所以外にもあるので、いろいろと問題がありそうだ。
手元にWin64環境がないので検証できないけどね。
|
前回に引き続き、r368を翻訳していたのだが、これはそうそう終わらないわ。 とりあえずjquest.txtは原語のままで更新しておいて、他の更新の反映を優先する ことにしよう。 r368のjquest.txtのチュートリアル部分の翻訳作業は別途行って JUnNetHack/Wiki/チュートリアルに置くことにした。 |
去年の12/20ぐらいを最後に放置していた、JUnNetHackのSVNへの UnNetHackのSVN修正反映を再開。 去年末の時点ではJUnNetHackへ反映した修正は本家r364まで。 現在の本家との差は次のとおり。 r365 Fix off-by-one error in random door placement (fixes S343-2 and ticket:12) ランダムな扉の設置時のエラーを修正 r366 Fix configure and disable tiles completely configure修正によるタイルの完全無効化 r367 Fix "Invalid monster name" warning from lev_comp lev_compによる"Invalid monster name"警告の修正 r368 Patch: Tutorial mode (by Alex Smith) パッチ:チュートリアルモード(Alex Smithによる) r369 Fix redisplaying tutorial messages by removing debug code r370 Tutorial: UnNetHack specific changes and slight changes in style r372 Fix: don't alchemize not existing potions (fixes ticket:16) r375 Tutorial: dungeon overview text r376 Replace impossible() with warning() r377 Multiple items on floor shown in reverse video とりあえずr367までを反映 ただ、本家r368 Patch: Tutorial mode (by Alex Smith) が結構でかいなぁ。 とくにquest.txtに追加されたテキスト情報が半端ないので翻訳に時間がかかりそう。 |
変愚蛮怒 1.7.2においてタイルを外部定義して追加できるようにしてみた。 lib/xtra/graf配下に拡張子ctlのファイルを置くと、その中身を読んで 記述されたタイルファイル名とマスクファイル名とセルサイズとGRAF条件ID を元にタイルセットを構築します。 ソース差分ダウンロード (変愚蛮怒 r3067を基にしています。) Windowsでは追加したctlに応じてグラフィックメニューに項目が追加され、それを 選択することでタイルを切り替えられます。 X11ではオプション-- -t |
あけましておめでとうございます。 最近日記の更新が滞りまくりで月記状態ですが、 今年もよろしくお願いいたします。 去年の12月で半年続いていたプロジェクトから撤退し、しばらく会社で 待機です・・・ 請負契約とか単価の安いところのほうに仕事が流れていくなぁ。 去年の12月は後半から変愚蛮怒の改造パッチを作ってました。 タイル周りの改造で、現状はWindows版のみ。 ・タイルセットをファイル追加のみで行えるように。メニューが増えます。 lib/xtra/graf配下に設定ファイルと画像を置くことで増やせます。 ・単純形式とマスク形式のほかに、透明色指定形式も指定可能なように。 (内部で透明色でマスクを作成します。) ・Adam bolt氏タイルにおいて呪文効果タイル(ボルト、ボール)のタイル対応 がソースspells1.c内にあるのをspell-ne.prfとして追い出した。 prf解析でZ:の解析時に色対応文字だけでなくてタイル番号を16進数で指定 可能にしました。 |
JUnNetHack 3.5.2-J0.2.1をリリースしました。 簡易的な変更履歴 * 吸血と吸血鬼の噛み付き攻撃と吸血鬼の血液(Slash'Emより)。 * カメラの悪魔 * 玉座由来の虐殺を強化 * 錬金術を色ベースのものに * 無効化能力パッチ * トリックの鞄拡張パッチ * イェンダーの魔除けを落とすと瞬間移動 * ドラゴンとその鱗を名称変更 * ヴォーパルブレード:+1d8 追加ダメージ * トロルスベーン:空腹の伴わない再生能力 * シーフベーン:ベースを両手剣に、首切り攻撃 * 能力獲得の薬の弱体化 * 振動する床:プレイヤーが近いときのメッセージ * パッチ:為す術もない死因 (Pasi Kallinenより) * 翻訳とバグの修正 詳細な変更履歴はこちら |
前回の続きで能力値オートローラーで下限値指定時に確率を表示するパッチですが、 8〜17を指定したときの確率を計算で出すのをやめました。 計算できなくはないけどループか再帰で計算しないと無理っぽい。 そこまで手間かけて毎回10個の値に対応する精度4桁の確率を出すのは 非常に無駄なので、手元で計算した確率を配列で保持することにしました。 あと、初期能力値算出上、それぞれの能力値は8〜17の範囲であり、 かつその合計が57+5*6以上になることはないので最低値8とした合計で それ以上を指定した場合は総合確率を灰色で0.000000000%と表示する ようにしました。 また、総合確率はその値に応じて白、黄色、赤で表示されます。 赤は理論上出るけどスゲー時間がかかる、黄色は結構時間がかかる、 白は比較的短時間。まぁ、独断と偏見で決めてありますが。 ソース差分ダウンロード (変愚蛮怒 r3052を基にしています。) |
変愚蛮怒 1.7.2において能力値オートローラーで最小値設定をするときに、 指定値以上になる確率を表示するパッチを書いてみた。 慣れている人は感覚的につかんでいるはずなので需要があるかどうかは かなりびみょーだが。 ソース差分ダウンロード (変愚蛮怒 r3052を基にしています。) もっとも、実測値と数値が違うのでまだ要調整。 基本値に17を指定すると計算上1.6%になるはずなんだが、実測では2.1%らしい。 基本値 = 5 + 1d3 + 1d4 + 1d5 だから、17になるのは1/3 * 1/4 * 1/5 で 60分の1、 100/60で1.6666・・・になるはずなんだけどな〜。 合計値の足切りと上限切りの影響を加味してないからその関係なんだろうけど。 |
変愚蛮怒アイテム由来パッチを更新。 更新は次のとおり ・アイテムに'?'と刻むと自動刻みされる内容をshorten.txtで定義できるように ・鍛冶師の加工品は「〜を加工したものだ」を追加するようにした ・自動拾いエディタ上で刻みに'?'が含まれている場合の説明を追加 ・shorten.txtの内容を起動時に一括読み込みするように変更 ・クエスト名称表示のたびにクエストファイル読み込みをしないように (ちなみに既存の済クエスト表示時には毎回読み込んでいるようだが・・・) ・ソース上の定数名を少し変更 ソース差分ダウンロード (変愚蛮怒 r3052を基にしています。) もともとこのパッチは日記等で書くときの備忘録のためにアイテムに手動で、 どのダンジョンの何階で倒したどのモンスターから手に入れたものかを刻んで いたのがもとなのでコレを使った日記を書きたいところだ。 現在プレイ中のスナイパーが47階をまださまよっているところで、 今から切り替えると手動で刻んだのと自動刻み由来が混ざるから 表記のゆれが気になるのでなかなか踏み切れない。 |
変愚蛮怒 1.7.2においてアイテムの由来を、詳細として出力したり自動刻みに 追加するパッチを書いてみました。 ここんとこ一週間ぐらいちまちま書いていたんだけど大体形になったので公開し てみます。 どのダンジョンで拾ったとか、どのクエストの報酬だとか、自作したとか、 カオスパトロンに貰ったとかを全アイテムに対して記録するようにしました。 *鑑定*していなくても'I'コマンドで参照できるほか、アイテムに'?'を刻むこと で短縮形でアイテム名とともに表示します。 なお、重なるアイテムで由来の異なるアイテムを重ねると全て由来不明になりま す。 自動刻みによる表示において、クエスト名とダンジョン名の短縮形は lib/file/shorten.txtで定義できます。 このパッチを当てたバイナリで以前のセーブファイルを開くこともできまが、一 旦セーブしたファイルを戻すことはできませんので注意してください。 また、パッチを当てる前のゲーム内で手に入れたアイテムの由来は全て「由来不 明」扱いになります。 ソース差分ダウンロード (変愚蛮怒 r3052を基にしています。) ソース的なお話 ・メモリ消費量はアイテム一つあたり8byte増えます。 ・セーブファイル消費量はアイテム一つあたり最大で12byte増えます。(由来不 明のアイテムは増えません) ・変愚のアイテム生成関数はobject_prep一つですが、それを呼び出す共通関数 の中には呼び出し元に対してアイテムオブジェクトを返さないものも多いため、 グローバル変数を使用したあまり褒められない実装で対応しています。 ワーグクエスト中にアイテムを拾うと 『それはクエスト「ワーグの殲滅」で拾ったものだ。』 と なるのがちょっと気になる・・・ |