------------------------------------------------------------ FHS patch (Funny-Honey-Spit patch) 蛇足メモ 作成者:Shiganai Sakusha ------------------------------------------------------------ ------------------------------------------------------------ 雑記 [にうきゃら掲示板(補助用)と連動している内容もあります。(こちらで書かれた内容が掲示板で解決とか)] ------------------------------------------------------------ 08.05.12-08.06.03 ([Re:4]FHSパッチver0.8.21(未公開)) JNetHack Bug Trackerから珍しいメールが。 バグ報告した投稿に返信(書き込み)があると送られてくるメールなのですが、 「珍しい」というのは報告した日付と内容。 内容は「メリーさんの羊」をもじった文章に関して。 …って、いつの話ですか(- -;)。  #ず〜〜っと前に報告して検討して頂いて現在の訳になり、  #とうの昔に報告も閉じられているのですが。   ----------------------------------------------------------------------   Bugs item #4533, was opened at 2004-06-29 20:29   You can respond by visiting:   https://sourceforge.jp/tracker/?func=detail&atid=440&aid=4533&group_id=95      Category: Translation   Group: 3.4.3   Status: Closed   Resolution: Fixed   Priority: 5   Submitted By: (None)   Assigned to: Kentaro Shirakata (argrath)   Summary: 墓碑銘"Mary had a little lamb/ 〜"の訳について         (本文省略)      ----------------------------------------------------------------------      Comment By: Kentaro Shirakata (argrath)   Date: 2004-08-02 07:16      Message:   Logged In: YES   user_id=1120      修正版(3.4.3-0.4)がリリースされたので閉じます。      ---------------------------------------------------------------------- 新規書き込みは英文でした。 そういえばargrathさんの「JNetHackの翻訳について」wikiにも 最近になって英文の書き込みがあったなあ。 同じ人なのかな? 以下に全文転載。   ----------------------------------------------------------------------      Comment By: (None)   Date: 2008-05-26 14:23      Message:   Logged In: NO      It is indeed a parody of the "Mary had a little lamb"   rhyme, but I think it's meant to have a distinct nethack   flavour.   In nethack it is common to have to run away and leave your   pet, who will sometimes then be killed by whatever you ran   away from.   Therefore, "first to go" in this case means "first to go to   heaven", or in other words, it means the sheep will be   killed.         ---------------------------------------------------------------------- どうやら外国の方が自分なりの解釈を投稿した模様。 "first go" を「困った時に(おそらく置いてけぼりにされた)ペットが (ご主人様より)先に(天国へ)いった」と捉えているようです。 これはこれで頷けるものが。  #ちなみにJNH3.4.3-10現在の和訳では  #置いてけぼりにされたのはご主人様の方、という解釈だったかと。 某巨大井戸端掲示板風の言葉を借りれば 「困った時に/最初に逝った」? あ、本来の使い方だからいいのか(^^;)。 何にしても、2004年ですか…。 時が経つのは早いなあ。 ------------------------------------------------------------ 08.04.04-08.05.11 ([Re:3]FHSパッチver0.8.21(未公開)) JNetHackが3.4.3-10にバージョンアップ。 ほこりに書かれた文字のかすれ処理も追加されてますね。 今までは   おーっ??ほ??ほほ?? というように「??」に置き換えられていたものが、   おーっ|まほはほほ|= てな感じになるのかな(^^;)。 それはそうと、今回はJSLASH'EMのような訳文全面洗い直しは無かったですね。 JSLASH'EMからも色々と拝借している身としては、訳をどちら基準に合わせたものやら。 ---- FHSパッチの方はといえば、3.4.3-10への対応どころか brassからの反映もなかなか進んでなかったりします(汗)。 一応、現在修正中なのは主に以下の2つ。 ・モンスター同士のリンク処理の修正   騎馬と乗り手のつながりとか。   brassで飲み込み処理変更に伴いこの辺の処理が変更されたのでそれを移植中。 ・属性攻撃処理の変更   ファイアイーターの火炎吸収処理を改善しつつ、   将来他の属性に対しても似たようなことが出来るようになればと。   それと共に、属性攻撃でアイテムが傷む処理にも手をつけてます。 でも、移植修正し終わるまではコンパイルもできないので 間違いが無いか確かめる事もままならないという(汗汗)。 ------------------------------------------------------------ 08.03.24-08.04.03 ([Re:2]FHSパッチver0.8.21(未公開)) brass新版公開との事で、バグ修正やら色々と反映しようとしているうちに 何故か幻覚処理に大幅に手をつけることに(^^;)。 といっても、今まで表示処理(display.h)の方で強引に組み込んでいた マコトの眼鏡やらマヤのコンタクトレンズやらその他諸々の処理を 正式に幻覚の一種として処理するようにしたんですけどね。 従来の幻覚以外のものは、通常は「呪われた」幻覚の薬によって 目にする事になるでしょう。 それと共に、幻覚の種類によっては地形やら何やらの色も全て変更するように。 試験中は幻覚の種類が変わっても地形等の色が残ってしまっていたのですが、 これはdocrt()で全体を再描画して解決。 また、「直接視認できない位置」の怪物やアイテムは、全て単色表示にしました。 更に、装備によらないテレパシーでは怪物の名前が表示されないように変更。  #以前から警戒能力に対して組み込んでいた処理を拡大。 これでテレパシー装備の重要性が少しは増す…かな? むう、でも「詳細を見る?」に対する対策も必要なのか。 …ゆっくり考えよ。 テキスト版前提とはいえ表示色をある程度いじれるようになった事で… また一歩「狂戦士の薬」の実装に近づいた! (ぇ ------------------------------------------------------------ 08.03.06-08.03.23 ([Re]FHSパッチver0.8.21(未公開)) ypukanさんがbrassで新たに組み込んでみているという アイテム説明の処理がどうなっているのか興味あったり。  #FHSパッチも、特に聖器の説明はろくに整備してないしなあ。 そういえばSo-MiyaさんのDump patchも新しくしている最中のようですが、 FHSパッチだとまともに動いた試しがなかったっけ。 いつか再び挑戦してみるかなあ。 閑話休題。 ---- 気が向いた時にタイルを修正してみたり補完してみたり。 あまり上手くもないですが、ひどいものは直しておかないと。 で、試験版 ver0.8.20c+08.03.05版のタイル版用追加ファイルを差し替えておきました。 バイナリィの方は面倒なのでそのまま。 まあ、その他はあまり実のある内容は追加していませんけどね。 ファイアイーターを炎のシミターに変更した位かな。 そうそう、これでようやくファイアブランドを無心に戻せたんだっけ。 混沌の火炎聖器が揃ったから。  #今は中立になっているフロストブランドをどうやって無心に戻すかは  #引き続き検討中。 /*** Fire and Ice ***/ /* LAWFUL: */ /*A("Snow Illusion", SHORT_SWORD, LIQUID,*/ /*A("Firewall", ATHAME, FLAME,*/ /* NEUTRAL: */ /*A("Frost Brand", LONG_SWORD, 0,*/ /*A("Fire Soul", SHORT_SWORD FLAME,*/ /* CHAOTIC: */ /*A("Deep Freeze", ATHAME, LIQUID,*/ /*A("Fire Eater", SCIMITAR, FLAME,*/ /* NONE: */ /**/ /*A("Fire Brand", LONG_SWORD, 0,*/ ワンドの不確定名も魔除けと同じ処理にしようかとも思ったけど、 結構手間がかかる上に実入りも少なそうだし気も乗らないので放置中。 魔除けと違って、本家でも材質による不確定名が結構あるから それらも全て差し替える事になるし。 ああ、あとobj_descr[]の方を   obj_descr[DARK_ELVEN_ARROW].oc_descr = "nanika"; と差し替えてもいけるかなと思ったけど、  #これが出来るならo_init.cにだけ不確定名の文字列を押し込んでおける。 obj_descr[]の方はセーブロード時に以前の物が反映されないためこの方法は使えないことが判明。 結局はどこかに不確定名の文字列の一覧表を記述しておかないと駄目って事か。 ------------------------------------------------------------ 08.03.05-08.03.05 (FHSパッチver0.8.21(未公開)) ああ、少し追記。 >タイル版 アイテムに関してはまだずれが生じているかもしれません。 コンパイル時にタイル番号がずれているかのようなエラーメッセージが 一度にずらりと出てくる症状(なのでどこが起点か読みとれない)がまだあったので。 とりあえずKレーションの表示は正常だったようですが。 ゲーム中は彫像がほとんど真っ黒にしか見えないのも気になる所。 ------------------------------------------------------------ 08.01.24-08.03.05 (FHSパッチver0.8.20c、試験版080305) ただいまです。 どさくさ紛れに既にbugfix版の20cが出ていたり。 それでも直しきれていないバグもありますが。 あと試験版も新しいのをUPしましたが、その話については後ほど。 ---- 今まであちこち(生成処理だの成長処理だの)で別個に定義されていた ハーブの一覧をまとめようとしたのですが、 そもそもハーブの不確定名と補助用の不確定名番号が目茶目茶にくい違っている事が判明(汗)。 今までなら一覧の中に「その場所では採集できないハーブ」を入れていなかったので問題無かったのですが、 一覧をまとめた上で不確定名番号をもとに「採集できないハーブ」を除外して処理しようとしたら 木から豆が取れたり草地からアニスの種を採集できたりともう滅茶苦茶。 不確定名のない薬(葡萄酒)が増えたのに、ゲーム開始時の不確定名番号回りの処理に 手を着けていなかったのが原因でした。 作った本人も何やってたか忘れてる有様でしたが(汗)、 どうにか新たな薬を追加しても影響が出ないよう処理組み直し。  →…と思ったら、20bだの20cだののbugfix版を出したどさくさに   肝心のhack.cやらo_init.cやらの「最新版」が上書きで消えてたり(泣)。    #hack.cにはハーブの生え方等の処理が一通り入っているし、    #不確定名周りの初期設定はo_init.cで行う。   「何がまずかったか」は覚えていても「どう直したか」を   すらすら再現できるわけではないので、他のファイル(pickup.cとか)に   残っていた処理の断片から読み取って復元するのにえらい苦労しました…   そして更に、objects.c内での不確定名の並び順自体が一定していない事も判明(T T)。   薬とハーブの不確定名をセットで割り当てた上で、特別な不確定名(いわゆる「煙の   出ている薬」と「曇っている薬」)もセットで差し替えるようにしているのですが、   特別な不確定名の組み合わせが最初から滅茶苦茶になっていたという(汗)。   しかも本来どのように組み合わせるべきかなんて今更思い出そうにも…   …高位の信託にヒント入れてて良かったあ(; ^)。 ---- 大々的な修正をかける前にも、ちょっとした物は追加してたり。 ぼたもち(おはぎ)の独立化とか。 侍と巫女に限り、「季節によって」名称が変化します(w)。 …願い入力に対応させていませんが。  #そういえば最近菓子類なんかで実装している「プレイ毎に変化するアイテム名」も  #願いに対応させてないなあ。 ---- などとのんびりしてた所、井出さんのご報告によりバグが次々と判明(汗)。 対策にも追われつつ丁度実装してたのも試験しつつと、てんてこ舞いだった訳ですが… あれこれ試験中、階移動したらいきなり   impossible mkobj 0, sym ''. で、メッセージを進めたら直後にエラー落ち。 なんらかの理由でmkobjでアイテムを生成し損ねたぽいけど、 そのmkobjをどこから呼んでいるのかわからないという(T T)。 おそらく、アイテムの生成に失敗しても、そのままその後に (生成されたはずの)アイテムに手を加えようとすると 今回のようになるものかと。 エラー落ち対策だけは講じておこうと「otmp = mk」や「= mk」でソース内を検索し その周辺を見回してみると、危険そうな箇所が出るわ出るわ。  #この検索条件でmkobj、mksobjその他の主要なアイテム生成処理は結構引っかかるかと。 「アイテムが無かった時」のエラーメッセージ出力&回避処理を片端から埋め込みましたよ。 全部ではないですが(こら)。 うーん、今の正式版のセーブファイル互換性を保てるかどうか怪しいバグも増えてるなあ。 タイル関係の作業も途中で止まってるし、ソース消失事故を防ぐ為にも、 実装できそうなもの全て実装して次ver出した方がよいだろうか。 ---- 久々に聖器数をチェックしてみたら、意外な事に混沌の武器聖器が多かった。 秩序も中立も20個台なのに混沌だけ35個って… 混沌の武器聖器は少ないという思い込みがあったけど作りすぎたか? しかも追加しようとして色々と案を考えても、 実際の効果はともかく武器コンセプト・発動原理が どうも混沌としたものが多くて…(汗)。  #「吸血する槍」とかね。 今ある聖器も、武器コンセプトの問題や性能問題等いろいろあって、 刀剣類以外ではなかなか他属性に動かせそうな物がみつからない。 シュタインブレードの実装に迷っている理由の一つでもあります。 とりあえず鈍器聖器を色々実装。 混沌用の武器破壊聖器(てか何でもぶち壊す聖器)も実装できたので、バルクケレドを秩序に移行。 中立のつるはし聖器も実装し、ブレイクアウトの「石で出来た相手に対する効果」をそちらに移行。 ノームクエストの場合はクエスト聖器もつるはしだけど、まあいいか。 次は槍を何とかしたいなあ。 といっても、ゲイボルクは再現が難しそうだし、  #周囲攻撃を命中地点で行わせるという案もあるけど、色々手を加える必要あり。 他の案もゆっくり考えますか。 参考程度に載せていた聖器一覧テキストを久々に改訂(artifact_0820c+.txt)。 ---- そういえばLADIES_WEARSを色々実装してみたのはいいけど、 看護服以外はあまり活用できてないような。  #そもそも看護服を導入したのもナイチンゲールの素アイテムが欲しかったからだし、  #他諸々は正に「ついで」だったからなあ。  #まあその「ついで」で学生服を導入したりバニー装備やらも実装した訳だけど。 「萌え」がコンセプトのRJNH案から引っ張ってきている以上、 やっぱりバニーの制服の聖器も実装すべきでしょうか。 名称だけは以前からjtrnsobj.datに入れてるんですけど、なかなかアイデアが出てこなくて。   APoppy's Striped Tights: ポピーの縞タイツ: …駄目? (^^;) 即興で考えた案としてはclimbing_wear()機能つきとか、 #invokeで火のついたダイナマイト入手とか。 うーん、これだけじゃ弱いなあ。 分身(幻影)とか、#jumpで跳べる距離も増加とか? …しまった、重要な事を忘れてました。 これを実装するなら、バニー服の色は赤でなくピンクにしないと! (ぉ) とまあ、これはこれで置いといて(^^;)、 メイド服の聖器って必要でしょうか。 とはいえ、題材にできそうな物をそれほど知ってる訳でもなく、  #メイドロボのはライセプス・ニクサドゥとかサテライトリンカーとか既にあるし、  #まほろさんのはシルフィードがあるし。 調査しようにもなかなか気が乗らない上に、 今やメイド萌えをテーマにしたものはちまたに氾濫してそうで狙いが絞りにくかったり。 これを調べればいい案でますかね?   っ 『仮面のメイドガイ』 ああ、ちなみに私自身はどちらかと言えば「萌えよりネタで動く性質」ですのであしからず。  #FHSパッチって、多少Sillyにも近いのかもしれない。 ---- で、もう少し色々実装しつつ、 ようやく完成のメドのついた「タイル版」にかかってみる。  #とはいっても、ぢつは井出さんから頂いたツール類は半分しか使いこなせず  #リスト出力後はとことん手作業でしたが(ぇ)。  #(make_tile_listは使えるようになったが、その後のmake_tileがからっきし) まずコンパイルの手順からしてつまずく…と思いきや Makefile.bccに1行手を加えれば済むのですな(^^;)。  #コメントアウトされている「#GRAPHICAL = Y」の#を外す。 他のコンパイラに対応しているかは知らないけど、とりあえずはこれで進めてみる。 ちなみに今まで手作業で改造していたのは win/shareに入ってるタイル用の3ファイル(monsters.txt、objects.txt、other.txt)。 記述条件が厳しいうえに無駄に面倒で手を焼かされたけど、 とりあえず体裁整ったのを投入。 エラー吐きつつもコンパイル完了したので、とりあえずプレイしてみた所、 画面がほとんど真っ黒(汗)。 道具やイモリのタイルが滅茶苦茶だし、どうも地形タイルが完全に真っ黒になってたらしい。 まあ手作業だった為にちょこちょこ書き間違いもある訳で、 書き間違えた箇所から後のタイルはコンパイル時に変換(ビットマップ化)されてなかったのが原因でした。 3ファイルで割り振った番号が合計で2200以上あるのに、タイル数が800いかないって…。 でも今回に限っては、変換失敗していたのは幸運でした。 変換されたビットマップ(tiles.bmp)をペイントで眺めつつ、 怪物(monsters.txt)とアイテム(objects.txt)と地形(other.txt)とが どこまでタイル化に成功しているかを見極め、 失敗している箇所を特定しては書き間違いを直して再コンパイル… とりあえず怪物のタイルに関しては全て変換成功したけれど、 何故かイモリ等のタイル番号のずれが直らないと思ってたら メイルデーモンのタイルのせいでずれてたり。  #MAILは無効にしているからなあ。 これはwin/share/tilemap.cのconditionals[]でのメイルデーモンの記述を復活させればOKでした。  #以前に一度全部コメントアウトしてたんですよね。 ですが、同様にしてアイテムと地形を一度に修正してみた所、 tiles.bmpの生成及びコンパイルそのものがエラーで失敗するように。 あーだこーだといじってみて、自分であえて間違い箇所を入れつつ試行錯誤してみた結果、 どうやらtiles.bmpが小さすぎるようだという結論に。  #寸法が640x480だから、16x16のタイルは1200個までしか入らないんですよね。  #仮にタイル用ファイル自動変換に成功していたら、  #この時点で比較もできず立ち往生した可能性が大。  #(なにせ見本のビットマップもまともに生成されないし) さて原因は判ったけどどう対処したものかと途方に暮れておりましたが、 ふとwin/share/tile2bmp.cを見ると、それらしき定義箇所が。 ビットマップの縦寸を2倍にする事でなんとか成功。 色の想像がつきにくい状態で書いたタイルは配色滅茶苦茶だったり、 一部については井出さんの変換ツールで仮生成した文字タイルそのままだったりしますが、 それでもとりあえずプレイは可能になったかと。多分。 という訳で、今回の試験版はバイナリィも公開配布しております。 今日コンパイルしたばかりの出来たてホヤホヤです。  #イコール、ろくすっぽ試験してないからどれだけバグが隠れてるか  #判ったもんじゃないという事ですが(マッテ)。 ま、ワタシ自身はテキスト版にすっかり慣れちゃってますけどね(^^;)。 ------------------------------------------------------------ 08.01.20-08.01.23 (FHSパッチver0.8.20b) 結局、まずは20bと試験版を出す事に。 あまりにも致命的なバグがぽろぽろ出てきたもので(_ _;)。  #毒液等で爆発処理の出番を増やしてるのに、怪物巻き込んじゃ駄目てのはまずいだろ。 井出さんから頂いたタイル用ファイル(試験的作成版)も、 自分がその後に作業していた分とのつき合わせもそこそこに公開してみる。 とりあえず試験版080102はこれを用いればコンパイル・プレイ可能と思われます。  #本当は突き合わせを終えてから、今日の試験版080123の方に  #対応させるべきなんだろうけど、全然手が回らず。 ------------------------------------------------------------ 08.01.03-08.01.19 ([Re:4]FHSパッチver0.8.21(未公開)) 気になっていたパッチを色々導入。 -Justin T NelsonさんのPotions of Poison and Sickness 0.5を導入 --アイテム追加:毒薬 ---*これに伴い,病気の薬の仕様が一部変わります. 毒の塗られた武器を作るには、病気の薬ではなく毒薬を用いるようになります。 飲んだり割れたり投げつけ(られ)たりした時の挙動も変わります。 …どさくさに紛れて不確定名をmumに(ぉ) -yzhさんの巫女パッチを導入 --職業追加:巫女 組み込んでみました。 かなり色々いじってますけど。 --[変更]男性時のランク呼称を追加 --[変更]みそぎ関係を色々変更 ---*水たまり、堀の上ではみそぎが出来なくなります. ---*浅い水たまり、溶岩の上でみそぎが可能になります. ---*みそぎの効果に「獣人病の治癒+変身強制解除」を追加 ---*その他色々と変更 --[変更]巫女でプレイする時のアイテム表示名を和風に変更 優先武器は、FHSパッチだと静神の水蛇とか桔梗の霊弓辺りになるのかな。  #侍には合わないと思い追加していなかった。  #他にも、なぎなた聖器とか追加すべきだろうか。 静神の水蛇は他職との入手難易度の違いをどうするか… いや、みそぎで泉を使うから丁度良いのかも。 もしくは桔梗の霊弓に矢玉生成機能を追加してクエスト聖器に据えるか。  #クエスト聖器を武器以外にしたい気もするけど今の所は案が浮かばず。 ---- そういえば、各職業の初期装備の食料品も色々いじってるけど、 特色を出すのがなかなか難しいです。 今はこんな感じかな。 -考古学者: 食料幾つか。[本家仕様] -野蛮人: 食料1つ。[本家仕様] -洞窟人: 雑草をどっさり、適当に摘んだハーブを少々追加。 -戦士: パンケーキとキャンディを数個ずつ追加。 -薬師: ハーブが追加されたので形態が2種類に。 --*回復薬幾つか、りんご一杯。[本家仕様] --*回復系ハーブたんまり、あとその他のハーブ少々。 -騎士: りんごとにんじんたっぷり。[本家仕様] -武闘家: 占いクッキーと桃と豆を数個ずつ。 本家ではりんごとオレンジだったのを、桃と豆に差し替え。 -僧侶/尼僧: にんにくとトリカブト1つずつ。[本家仕様] 今回、これらに加えパンと葡萄酒も追加。 -レンジャー: クラム幾つか。[本家仕様] -盗賊: クリームパイを追加。 今回、更に干し肉を追加。(対番犬用?) テクニカルに活用して欲しいかなと。 -侍: 桃を幾つか追加。 -観光客: ランダムにどっちゃり。[本家仕様] -ワルキューレ: 食料1つ。[本家仕様] -魔法使い: 豆数個を追加。 他の初期装備がかなり優遇されてるしこれで十分でしょう。 -巫女: 幾つかの桃と、馬に食わせるほど多量の豆を追加。 …しまった、馬が豆を食べるようにしておかないと。 ご覧の通り、追加した果物野菜類も桃か豆がほとんどなので、 できれば他の果物も持たせて見たい気はします。 今の所、持たせていないもの(持たせなくなったもの)は オレンジ、洋ナシ、メロン、バナナ、スイカ。 まあメロンやスイカはともかく、他は何か活用法ないかなあ。 一方、単に食料(携帯食)だけを持たせている職業は 考古学者、野蛮人、ワルキューレ。 考古学者はこのままでもいいかもしれないけど(缶詰作成器具もあるし)、 野蛮人かワルキューレはちと変えてみたい気もする。 という訳で、試しに北欧で食べられている果物は何なのか検索してみた所、 どうやらベリー類が人気のようで… ベリー類は今の所、ハーブとして使っちゃってるなあ =□○_  #ハーブ名からベリー類を外すか、思い切って全て  #オリジナルな名称に差し替えた方が良いのかしらん。 …あ! バナナの皮の罠があるんだから、盗賊にバナナも持たせればいいのか! ---- で、その後に騎士パッチも組み込み。 職業名表示のために専用処理まで作ったけど、まあうまくいきそう。多分。 「多分」というのは、コンパイルはしたものの ろくに実地試験できてないから。 いや、ちょうど井出さんから色々ご報告頂いた所でして、 バグだのgccコンパイル時に出た警告箇所だのを ごってり直している所なのですよ。 あからさまなものはbugfixページに追加しておきましたが。 それにしてもgccのコンパイルログ(大部分が警告メッセージ)が txt換算で343kBって…(汗) bccだとろくに出ないですからねえ。bccがアバウト過ぎるのか。 他のヴァリアントやパッチからそのまま移植したコードで警告が出ていたり、  #括弧でくくらない || と && の混用だの、  # if (x=code()) だので警告が出ているのが結構多い。  #(↑ if ((x=code()) != 0) といった形にするのが良いらしい) 色々とif-elseで処理を注ぎ足したせいでelse条件がどこにつながるのか判りにくくなってたり。 他にもまああれこれと。 レマー・ドゥリュクスも入手してないものですから手作業でぷちぷち。 場所によっては一気にスクラップ&ビルド。 まあ、あまり目を通してない場所に目を向けるいい機会かなと思ってます。 警告部以外の細かい改善点も見つかっているので、 この際大掃除にかかろうかと。 …年明けから(^^;)。 次の版をどうするかはその間に考えますわ。  #とりあえず20bと試験版とを出しておくのか、  #一気にバージョンupするのか決めないと。 うーむ、折角タイル処理関係のも色々と頂いたのに 手を回しにくいなあ。 ------------------------------------------------------------ 07.12.30-08.01.02 ([Re:3]FHSパッチver0.8.21(未公開)) 明けましておめでとう御座います。 太陰暦の方ご免なさい。 こっそり試験版をUP。 今年も宜しくお願いします。 ------------------------------------------------------------ 07.11.26-07.12.29 ([Re:2]FHSパッチver0.8.21(未公開)) ネタ案。   m 初音ミミック、もとい、歌うミミック     歌って魅了。     変化している状態でも歌って自分の居場所を知らせ …居場所を気取らせちゃ駄目じゃん =□○_ 閑話休題。 ---- いつの間にやら年の瀬に。 この一年、サイト本体が放置気味でしたので、 クリスマスに向けて何かやろうと思っていた矢先に   ハブが故障して1週間ほどインターネットに接続できませんでした。 そのせいで更新の気合もそがれるし、 クリスマスもいつの間にか過ぎてるし…(T T) 交換したハブの方も、製造元が違って相性が悪いのか全く接続できず。 なんだかんだやっているうちに以前からのハブが運良く復帰したようなので 今はそのままつなげていますが。 大丈夫なんかいな。 ---- そがれた分の気合をパッチへの実装に注ぎ込みましたよ、ええ。 でもここで問題がもう1つ。 パソコン間の通信もできなくなったので各PCでの独自作業を強いられたのはともかく、 色々いじっていたFHSパッチの最新試験版が、 よりによってフロッピーやCD-Rの類がついてないパソコンに入っている状態だったのです。 コンパイルの可否を確かめる事も出来ず、 更に外部参照、他ヴァリアントの新しいソース取り寄せ等々が 全て封じられた状態での作業を強いられたのは辛かった。  #参考にしたJSLASH'EMも0.0.7E7F3-J0.1.5のままだし。 接続復帰と共にコンパイルの可能なパソコンにソースを移してコンパイル。 案の定、うまくいかない箇所も続出。 いつもの事ではありますが(ぉ)。 ---- まあ実装と言っても、ほとんどが移植だったり内部処理をいじくったりといったもの。 *SporkHackからは: 簡単な装備を移植したり 洞窟人パッチをType2として取り入れたり(騎士パッチは作業PCに入れていなかった) ドラゴンの鱗鎧の追加効果を「竜王の鱗鎧」専用にしたり(普通のドラゴン鎧に与えたら強すぎだと思う)。 [刺激されて作った物:無摩擦の小手,凍てつく靴,耐混乱の指輪,気付けの指輪など] あ、冒険開始時にCAVEMAN2のランダム選択処理を入れてなかった。 *TNGからは: 消化する鞄を移植。 [刺激されて作った物:底抜けの鞄] *Silly JNetHackからは: お菓子類とお菓子の部屋を導入。 といっても数十個の菓子類をそのまま実装したわけではないです。 前回組んだ、魔除けの材質ランダム表示方式を応用。 5色(白、茶、緑、桃色、黒)のお菓子が 冒険毎に八つ橋になったり葛餅になったり鳩サブレになったりします。  #黄色いお菓子は色々とヤバかったので没。 さくら餅ときびだんごだけは独立させたけど。 [刺激されて作った物:チョコ]  #チョコエッグも移植しようかなあ。 *SLASH'EMからは: 各種指輪、 杖の爆発処理(思ったよりあっけなかった)、 バグ類(今までソフトウェアバグ系の方が多かったし)などを取り入れ。 ---- 以前に井出さんが掲示板に投稿して下さった助言を元に タイル補完作業にも再び手をつけては見たけれど… これって、タイル用のファイルにコメント行を入れる事も出来無さそうだし、  #「#」で始まる行の中身もコメントではなくデータの一部らしい。 タイルの選択に怪物のシンボル等も使えなさそうだし  #これが出来れば、最低限でも「用意されていない怪物」の表示を  #シンボル毎に自動的に表示分けすることが可能になるから楽なはずなのに。 全種埋めるだけでもかなり厄介そう。 ちなみにconditionals[]等の、tilemap.cにはまだ手もつけてません。 少なくともコンパイル時に作られる#define一覧(onames.h、pm.h辺りか)が手元にないと やってられないですこんな作業。  #コンパイル不可なパソコンにこれらを持っていってるはずもなく。 全部入れたらどれだけ膨らむかも予測不可能。 仮に完成しても、本体パッチとは別口での配布にするかも。 ------------------------------------------------------------ 07.09.01-07.11.25 ([Re]FHSパッチver0.8.21(未公開)) SporkHackなるものをちょっと調べてみる。 ふむふむ、洞窟人パッチの存在は知ってたけど 騎士パッチというものもあるのか。 なんか巫女パッチなるものも出てきたようだし、 一旦どんな新規職業があるのか 把握している分だけでも整理してみるかな。 とりあえず形になっているものという前提で: ---- -*衛士はじめSLASH'EMの新職業色々[SLASH'EM] -*ギーク[TNG] --特に追加したいのは衛士。 移植自体は楽だろうから、他諸々を追加する際に必要に応じて追加か? (但し炎/氷の魔術師のように他のシステムにも手を加えるようなものもあるけど) 衛士以外は、できれば新規クエストとの並列実装で。 -*公務員[Rubbish] --銃器を何とかしないと。 SLASH'EMベースなら組み込みも楽なんだろうけど。 -*セクシーコマンドー[Silly] -*スタンド使い[Silly] --特殊技能をどうするか。 SLASH'EMベースなら組み込みも楽なんだろうけど。 --いやその点をクリアしたからといって取り入れるとは限りませんが(^^;) -*獣人[JSLASH] -*ドッペルゲンガー[JSLASH] --種族としてどう扱ったものやら。 -*ホビット[旧版SLASH、未翻訳] --ホビットは組み込んでもいいけど未翻訳だったか。 ---- ここまで、ヴァリアントとして形になっているもの。 ここから独立パッチ。 ---- -*洞窟人[洞窟人パッチ、SporkHack] -*(混沌の)騎士[騎士パッチ、SporkHack] --SporkHackでも取り入れられてるけど、独自パッチもあるので今はこちらに。 --洞窟人のは、色々と職業の独自色を出すパッチだったはず。 クエストも変わってたか。 武器聖器は…確か微妙。 --調査は今後の課題。 -*吟遊詩人[吟遊詩人パッチ] --クエストの翻訳は一応できたけど、 特殊技能を組み込む予定は今のところないからなあ。 -*海賊[海賊パッチ] --未翻訳。ちょっと面白そうではある。 -*ジェダイ[ジェダイパッチ] --ライトセイバーの実装が不可欠。できれば銃器も。 SLASH'EMベースなら組み込みも楽なんだろうけど。 -*巫女[巫女パッチ] --よく見てないので何ともだけど、バランスはともかく面白そうではある。 --でもとりあえず「男性の職業名」も不可欠なような。(性転換の魔除けがあるため) …神主? 神官? 氏子? ……巫子? (^^;) --陰陽師とか巫女巫女ナースとかいった単語も思い浮かんだものの ネタとしてどう扱えばよいか判らず放置。 ---- ここまで独立パッチ。 いちおう6種類…結構多いな。(でも混沌騎士は独立クエストはないのかな) ---- 話は変わりますが、 特定種類のモンスターの生成処理(兵舎に兵士達を配置とか)について 出力方法を(ほぼ)統一してみました。 今までは新しい部屋や獣人等を実装する度にてんでばらばらに作っていたので 出力がint(怪物番号だけ)だったりpermonst(怪物の基本データ)だったりしてたのです。 実装箇所もmkroom.cだったりmakemon.cだったりとばらばら。 前回の0.8.20でbrassのゲヘナ処理を導入した際に コード自体はmakemon.c内にほぼまとめたものの、  #brassのゲヘナ怪物生成処理に改造を加えたときに  #従来の処理の一部も手を加えて流用したのです。 出力方法はそのまま 基本的にはどの怪物を選んだかを伝えるだけなので permonstまでは要らず怪物名だけやりとりすれば十分ではないのかと、 前から気にはしてたんですけどね。 以前に一度まとめようとして失敗してたのですが、今回再挑戦。 うまくいったようです。…多分。 今のところ、唯一の例外はtombmon()。 処理内にmkclass()が入ってて、これの出力がpermonst形式だったもので。 これもまあ、最終的にint出力になるよう変える事はできますが…今はやらない。 ---- brassやJSLASH'EM等で日本語訳の大幅見直しが進んでいますが、 FHSパッチとしては今の所様子見。 今の所はあくまでvanilla(JNetHack3.4本家)ベースにあれこれ改造を上乗せしているので、 あまり大幅にいじると全体がしっちゃかめっちゃかになってしまいそうですし 記述ミス等のリスクも増えそう。 無論、自分の言葉遣いや文法が滅茶苦茶であろう事も理由の一つですが(^^;)。 ---- あとは聖器の属性攻撃(element_hit())を、一般攻撃とも共用できるように メッセージだけ分離改造してみたり。  #これに伴い巫女(賢者)の反撃が、魔法の矢の雨から星の光に変更。  #効果は一緒。  #  #ちなみに改造の最中に「怪物対怪物の魔弾(AD_MAGM)直接攻撃」の効果が  #実装されていない事に気づく(汗)。 「文字を読まないTシャツ」を追加してたら、なんかあれこれいじった末に 「いろんな模様(怪物の柄だのニコちゃんマークだの)をプリントしたシャツ」 なんてものまで実装してたり。 その他、気が向いたときにちょこちょこといじってみたり。 …などとやってた時に気づいたバグ。 最初に気づいたのは怪物が怪物に突撃した時のメッセージなのですが、   シッティング・ブルは破城羊を角で突いた. jousting:3 TRUE   シッティング・ブルはシッティング・ブルに突撃した!   破城羊は破城羊の突撃でよろめいた! …攻撃側(magr)と防御側(mdef)の名前表示が滅茶苦茶になってる… 当初はソースコードの書き間違いかとも思っていたのですが、 いくら見直しても不審な点は見当たらず。 どうやら   1つのメッセージ表示処理(pline())内で   複数の怪物名表示(mon_nam()又はMonnam())を同時に用いると   起こるバグ なのではないかという結論に。  #道理で、本家のほうではわざわざ片方の名前を  #バッファに入れるようにしてた訳だ… とりあえず、「あなた」と怪物名とを切り替えるような箇所については 自作した部分であることが確実なので、 出力方法の変更とともに直しましたが…  #mon_nam_or_you()といった処理を新たに作ってみたり。 根本的に改善するなら全体をしらみつぶしに 見直していくしかないのかも =□○_ ---- そうそう、あと、一部の魔除けの材質を試験的にランダムにしてみました。  #魔除けの形状が種類毎に固定なのは従来通りですが、  #材質の方は個別にランダムになるものが出てきます。  #具体的には元の材質が鉄製であるもの。  #(例えば呼吸の魔除けが「五角形の魔除け」だった場合でも、銀製のものや鉄製のものが出て来たり) それに加えて、材質によっては1種類の材質でも個別に数種の副材質名に振り分けられるようにしました。 これも魔除け限定ですが。  #材質が銅だと従来は青銅製限定だったのが、真鍮やら赤銅やらのものも登場するように。 今の所は魔除けだけですが、ゆくゆくは杖にも適用したいところ。 ただ指輪は材質に依存する不確定名があまりに多いので今のままで。  #今回の変更でも一部の名称(「甲羅の魔除け」等)が廃止吸収されてます。  #指輪になど適用したらどれだけの不確定名が使用不可能になるのやら。  #  #それに今回の変更だとアイテムの色までは変えられないのも難点。 それに伴い材質表示は「〜の」ではなく「〜製の」としました。 現在の試験版では(まだいじってる途中ですが)インベントリの表示はこんな感じ:   魔除け   k - 羽製の八面体の魔除け   H - 銀製の欠けた魔除け   I - 七宝焼き製の犬の魔除け   K - 布製のリボンの魔除け   L - 赤銅製の雫の魔除け   N - 布製の手袋の魔除け   P - 合金製の神秘的な印が刻まれた魔除け   Q - 骨製の出っ歯の魔除け   R - 黒燿石製の欠けた魔除け   S - 水晶製の涙滴の魔除け   武器   a - {祝福}+1 木製のこん棒(右手装備)   b - {普通}+1 石製の槍(予備携帯中)   c - 12本の{普通}+0 石製のジャベリン(装填中)   鎧   e - {普通}+0 革鎧(着用:胴体)   食料   f - 19の{普通}雑草   g - 2つの{普通}トリカブト   h - 3つの{普通}ラズベリー   宝石   d - 12個の{普通}火打ち石 「石槍」が「石の槍」を経てついには「石製の槍」に… ま、仕方ないかな。 ------------------------------------------------------------ 07.05.08-07.08.31 (FHSパッチver0.8.21(未公開)) お久しぶりです(久しぶり過ぎ)。 とりあえず生存報告。 ねとはくソースをいじる訳でもなく、 書中/残暑見舞いの絵もなかなか描く気にならず、 サイト更新からも遠ざかっておりました f(- -)。 と言いつつ某墓掘をちまちま更新してみてたり。  #だったらFHSパッチのwikiの方に何か書けって>自分 ---- youkanさんがbrassを日本語化。お疲れ様です。 未だにあまり目を通せていませんが=□○_  #騎乗時処理の修正点で、それらしい箇所を再移植した位かな。 ちなみに今回のbrass、   E_J("英文""日本語文"); という処理も加わっていたので すわマルチ言語切り替え対応か?!と期待してたのですが、 実際はコンパイル時に#ifdef JPが有効かどうかで切り替わるものだったのが ちょっと残念。  #コンパイル後もゲームオプションで切り替え可能なものかとばかり。  #そういえば以前に自分でちょこっと書いてみたものを基にすれば  #(/コマンド表示処理に手をつけてobjnam.c辺りををいじってた時だったかな)  #マルチ言語切り替えも可能になるのかな。  #実現は凄まじく面倒そうだけど。  #  #  if(en_mode) {  #    pline("英文");  #  } else { /*JP*/  #    pline("日本語文");  #  }  #  #てな感じだったかと。  #この時はen_mode自体はローカル変数でしたが。 ---- とまあ、からっきし手はつけていないのですが それでもひとつ暖めている新案があったり。 盗み系統の新攻撃なのですが更にひとひねり。 プーカあたりに使わせようかと。  #そういえばプーカのシンボルはlとnどっちにしようか。  #今のところはWebbパッチ準拠でlになってるけど。 今のところは動作試験どころかコンパイルもせず、 頭の中で考えた処理がどうなるのかちまちま書き込んでみている状態ですが。 ------------------------------------------------------------ →これ以前は別Fileにて。