過去ログ一覧 | 前日へ続く | 最新版へ


2003/11/21 (金) 変な天気

法事の続き

_ 御寺に行って今後の予定などを聞く。

_ その他諸々のお寺の裏話を聞いたり。

_ 姉が来ているのでその後父親のお墓にも御参りに行く。

JNetHack

_ argrathさんからお返事。


確かに緑スライムのスライム化攻撃とコカトリスの石化攻撃は
ほとんど同じなのですが、スライム化するのは緑スライムによる
攻撃しかない(ないですよね?(^^;))のに対し、石化するのは
コカトリスの攻撃以外にもありますので、残念ながらここは
スライム化と同じ手法は使えないのです。

_ ずがーん。コカトリスの場合しか確かめていなかったよぉぉ。


2003/11/22 (土) 寒い

気温が低すぎ

_ ついに暖房登場なのであった。

柴犬と遊ぶ

_ 夕方の散歩は寒くて手がガチガチに。

_ 自前の毛皮をもつ柴わんこは平気な顔をしてテクテク歩く。

_ 途中で買い物から帰ってきた姉と出会う。

_ 姉が乗っている車が立ち去ると必死で追い掛ける。

_ 追い付くなんていくらなんでも無理だってば。

JNetHack

_ デバッグモードでゴソゴソ。

_ うーん。どうすればコカトリス石化関連のメッセージがうまくいくんだろう?

_ などと思いながら終了。

Xnp2

_ Xnp2 20031120 が登場。

_ Neko ProjectII 0.71 がベースになったそうです。

_ IA-32 エミュレーションがなくなったので使いたい場合は前のバージョンをどうぞ。

_ 公式マニュアルが登場したし、内容が古くなったので簡易マニュアルは消そうかなどと考えたり。

読書:ローマ人の物語(2)

_ スラスラ読み終わる。

読書:ポアロ登場

_ 構成は見事だけどポアロとヘイスティングスの関係はホームズとワトソンの域には達していない。

_ 何かヘイスティングスがネチネチしてる気がして好きになれない。

_ 彼の目を通してみるとポアロは奇妙な外国人という設定に嫌な奴という印象が加えられてしまう。

_ そんなに嫌なら一緒にいるんじゃねーよと思ってしまうことがしばしば。

_ 何か器が小さい相棒なんだよなぁ。

_ コンビを組ませるなら軽妙なやり取りのあるジャップ警部の方がよっぽど良かったような気がする。

_ いや、違う作家に同じものを求めちゃいけないか。


2003/11/23 (日) 激寒

JNetHack

_ CVS 版での石化関連墓石表示の挙動調査。

ファイル名 done関数のある行 処理内容 テスト内容 墓石表示結果 結果 修正日
dokick.c 556 石化系の死体を蹴って死んだ場合 コカトリスの死体を蹴ってみた。 靴無しでコカトリスの死体を蹴って石化した 正常 -
dothrow.c なし 石化系の死体を素手でつかんで投げた場合 コカトリスの死体を入手、素手で投げた。 cockatriceの死体石化した 異常 2003/12/03
dothrow.c 951
eat.c 549 石化系の死体を食べて死んだ場合 コカトリスの死体を食べてみた。 コカトリスの肉を食べ石化した 正常 -
end.c 307 石化の直接攻撃で死んだ場合 大量のコカトリスを召喚し殴ってもらった。 コカトリスの攻撃で石化した 正常 -
mhitu.c 2557 石化のにらみ攻撃で死んだ場合 メデューサを召喚してにらんでもらった。 のにらみでのにらみで石化した 異常 2003/11/26
polyself.c 1367
timeout.c 301 石化進行による死亡の場合 大量のコカトリスを召喚し石化進行を待ってみた。 コカトリス石化した 異常 2003/11/26
trap.c 2819

_ mhitu.c の部分は eat.c を参考にして以下のようにすると"メデューサのにらみで石化した" と正常に表示されました。


Sprintf(jbuf, "%sのにらみで", jtrns_mon(mons[PM_MEDUSA].mname,-1));

_ dothrow.c と polyself.c と trap.c の三つの石化はどういう時に発生するのかサッパリわかりません。

_ あと、壁に向かってコカトリスの死体を投げて自分に当てた場合物体名(コカトリスの死体)が "cockatriceの死体石化した" という風に英語のままになります。

_ timeout.c の石化について。


                case STONED:
                        if (delayed_killer && !killer) {
                                killer = delayed_killer;
                                delayed_killer = 0;
                        }
                        if (!killer) {
                                /* leaving killer_format would make it
                                   "petrified by petrification" */
                                killer_format = NO_KILLER_PREFIX;
/*JP
                                killer = "killed by petrification";
*/
                                killer = "石化攻撃で";
                        }
                        done(STONING);
                        break;

_ 今まで上記のコードので if (!killer) 以降を必死にいじっていたんですが、困っていた石化進行は if (delayed_killer && !killer) の方に行くことを gdb で発見。

_ 今まで違うところを読んでいたんですねー。ということで以下のようにするとメッセージが正常に。


                case STONED:
                        if (delayed_killer && !killer) {
#if 0 /* JP */
                                killer = delayed_killer;
#else
                                char buf[BUFSZ];
                                killer_format = KILLED_BY;
                                Sprintf(buf, "%sの石化攻撃で", delayed_killer);
                                killer = buf;
#endif
                                delayed_killer = 0;
                        }
                        if (!killer) {
                                /* leaving killer_format would make it
                                   "petrified by petrification" */
                                killer_format = NO_KILLER_PREFIX;
/*JP
                                killer = "killed by petrification";
*/
                                killer = "石化攻撃で";
                        }
                        done(STONING);
                        break;

_ 解決したのでよかったのですがここで疑問なのは if (!killer) の分岐です。

_ どういう場合にこっちのコードが動くんでしょうか。

_ どなたか教えてくださいな。

柴犬と遊ぶ

_ 姉とさながら大名行列のように散歩。

_ 興奮して走る柴わんこ。

_ 写真を撮ろうとするも暗すぎてうまくいかず。

NetHack Spoiler on XML

_ So-Miya さん作のスポイラー。

_ ドリームネットに置いてあるものはサーバが Content-Type: text/plain を返すので表示できないようです。

読書:死人の鏡

_ ポアロの短編集。

_ 表題作の死人の鏡がなかなかよかった。

お食事会

_ 姉の旦那さんが祖母の家に来たのでみんなでお食事。

_ 多彩な伯父のお陰で話が盛り上がる。

_ 教養がある人ってこういう時に強いよなぁ。感心感心。


2003/11/24 (月) 手が冷たくてたまらん

JNetHack

_ 死因表示を見ていくには topten.c の killer_format の動作についてちゃんと知る必要があるかも。

_ というわけで覗いてみました。

killer_format 動作
KILLED_BY_AN 敵の名前 + 殺害方法*1
KILLED_BY 敵の名前 + 殺害方法
NO_KILLER_PREFIX 敵の名前
KILLED_SUFFIX 敵の名前 + "に殺された"

*1: 殺害方法は topten.c の char *killed_by_prefix[] にある。

_ うーむ。KILLED_BY_AN と KILLED_BY の違いって何だろう。

_ objnam.c に書いてある関数 an() を読んだらほとんどコメントアウトしてあってそのまま引数を返すようにされているし。

_ 英語と日本語の違いで KILLED_BY_AN は不要なのかな?(憶測)

_ grep してみたら、どうやら KILLED_BY_AN は道具関連による死亡時に使うっぽいです。

_ で、ここまで調べたことが正しいとするとちょっと問題が?

_ 昨日見ていた石化関連のコードなんですが、if (!killer) の分岐を進むと killer_format が NO_KILLER_PREFIX に設定されているので殺害方法が表示されない(killed_by_prefix の "石化した" が呼ばれない)ので墓石に "石化攻撃で" だけが表示されるような気がします。

_ 単に "石になって死んだ" でいいような。

_ 少し前に 2ch NetHack スレッドで流し台に落ちて死んだ場合"流し台に落ちて"と表示されるといういう投稿がありました。

_ これも losehp()関数で done(DIED) が呼ばれるんですが NO_KILLER_PREFIX が設定されているので"死んだ" が表示されないので KILLED_BY に変更した方がいいみたいです。

_ あと、 2ch の投稿を元に polyself.c の未訳部分を見つけて訳してみました。

_ という訳で本日の成果(?)

  1. 石化関連のゴソゴソいじってみたパッチ
  2. 無変化の魔除けを装備中に死んだときの修正パッチ報告
  3. 流し台修正パッチ報告
  4. polyself.c の訳追加パッチ報告

_ パッチが採用されるかどうかはともかく、問題解決の糸口になれたらいいなぁなどとゴソゴソ思ってたり。

柴犬と遊ぶ

_ 6:00に姉と散歩。

_ その後抜けまくる夏毛に終止符を打つべくラバーブラシでブラッシング。

_ 固く丸めるとソフトボール大の毛玉が誕生。

_ 何かスマートになったなおい。

_ その後、昼前に姉が家に帰るのでお別れ。

_ 旦那さんと車で去っていくのをじっと見ている柴わんこ。

_ その後何か物足りなそうに部屋を歩きまわって妙に甘える。

_ 寂しかったのかな?

CSI が終わってしまった・・・。

_ テレビ東京系では第一シーズンしかやらないのかな?

_ 第二シーズンもやってほしいよー。


2003/11/25 (火) 大雨

風邪をひいた・・。

_ 風邪を引いたので一回休み。

_ 葛根湯とリコリスの二本を飲んでぐったり。

JNetHack

_ 流し台と訳の二つパッチが採用されました。:-D


2003/11/26 (水) ものすごくいい天気

体調

_ 体力がないくせに風邪が治るのは早いようだ。

JNetHack

_ 石化による死の表に一個バグを追加。

_ そして修正パッチを投稿

_ 表掲載の mhitu.c と timeout.c のバグも取り除かれたみたいです。:-D

_ ほとんど修正されたので表を更新。

_ もう私のやれることは無さげ(弱)。

優秀な人材が居ますので

_ うーむ。

_ 私はWindowsXPもセキュリティも詳しく知らないど素人だけどこのケースは困ったちゃんな問題だということぐらいは分かる。

読書:C言語プログラミングレッスン〈文法編〉

_ K&R の難しそうな雰囲気が怖い(?)人におすすめ。

日本の文献から、1700年に起きた米北西海岸の大地震を推定

_ ふむふむ。

RubyRogue

_ saino さんの日記より。

_ 今週の金曜日 22:00 からテストだそうです。

_ JNetHack ばっかりやっていたから久しぶりに参加しよ。


2003/11/27 (木) 曇り 寒いよー。

優秀な人材が居ますので2

_ うーむ。うーむ。

_ つまり現状のまま発売ですか。

音楽:LOOPHOLE

_ ついに来ました。SKETCH SHOW の 2nd。格好良すぎ。

_ PLANKTON のテクノっぽさ、FLAKES の細野氏っぽい旋律に感動。

_ 高橋ボイスは今回もセクシー。教授も参加してます。

_ んでもって、NIGHT TALKER がノリノリになってます。

_ 音の作りは 1st の audio spongetronika の実験結果を調合したような感じ。

_ tronika に audio sponge のグルーヴ感が追加された浮遊感あふれるアルバムですな。

_ うまく表現できん。

_ さっさと Ogg に変換してファイルを CD-R にバックアップ。オリジナルは大切に戸棚へ保存。

読書:C言語 入門書の次に読む本

_ JNetHack のソースにもっとコメントをつけて欲しぃ。

JNetHack

_ のんびりプレイ。

_ 特に翻訳で気づいたこととか無かったなぁ。

_ Windows版のスコア表示の崩れを修正できたらすごいんだけど、無理無理。

_ 第一、動作に必要な NT 系の Windows 持ってないもん。持っていても直す力なんて無いし。:-(


2003/11/28 (金) 曇り

JNetHack

_ r.g.r.n で度々話題になっている NetHack の翻訳版の話。

_ いまだに Spanish NetHackJNetHack しか無いんですね。

_ そう思うと我々は幸せなんだなぁ。

_ JNetHack のコンパイル時に DEBUG を有効にしてみた。

_ プレイしづらいのですぐにやめる。

_ これは NetHack やバリアント開発の人用のオプションだから訳の表示がちゃんと動いているかどうかをまったり見ている私にはあまり関係ないオプションですな。

RubyRogue

_ 22:00 からのテストに参加。

_ 13 階ぐらいで巨人さんに殴られて死亡。

_ その後挑戦するも 10 階すら辿り着けず。

柴犬と遊ぶ

_ また夜に起き出してガシャガシャ暴れる。

_ おもちゃを振り回すと大喜びでおもちゃを持っている私の手に飛びかかる。

_ 人の手じゃなくておもちゃに噛みつきなさい・・・。


2003/11/29 (土) 大雨

柴犬と遊ぶ

_ 大雨の中を走る柴わんこ。

_ 頼むから早くンコしてくれ・・・。

SKETCH SHOW INTERVIEW

_ 御本人達による各楽曲の解説が読めて興味深いです。

JNetHack

_ ソースを読んだりいじって遊んだり。


2003/11/30 (日) お留守番

読書:C言語 文字列操作+ファイル入出力完全制覇

_ 祖母の家のお留守番中に読み読み。

_ この本のおかげで JNetHack のメッセージ処理関連が読めているのです。

_ 古い作りの家は気密性がないので寒いよ。

_ でも夏はもんのすごく涼しくて快適。クーラー要らず。

柴犬と遊ぶ

_ 早朝 6:00 にお散歩。一時間ぐらいテクテク。

_ 誰もいないうえに足下が暗くておぼつかない。

_ 暗闇の散歩が楽しいのかテンションが上がりっぱなしの柴わんこ。

_ 走るな。

_ 天気が悪かったけど長めに歩いて 7:00 ぐらいに終了。

_ もう一度睡眠。(おいおい)

読書:ひらいたトランプ

_ 二転三転するクライマックスなのであった。

森崎有三を応援する会

_ 森崎君、君はいい人だよ。

何が何だか

_ 柴わんこもとい犬の体調についてネットでいろいろ情報を集めていたらやたら詳しいサイトを発見。

_ これはいいかも。ブックマークしようと思ってトップページに行くと・・。

_ やたらと獣医療を敵視して謎の水を勧める謎の人のサイトでした。

_ 犬の病気のページは獣医か!?と思うぐらいの内容に見えたのだが・・。

_ 微妙に引っ掛かった自分が嫌だぁ。読んだ内容を記憶から消すように努める。

How to Change NetHack

_ NetHack のソースコードの読み方を記した Beginner's Guide to Nethack Sources などがあります。

_ 英語読めない・・。(だめじゃん)

ページトップ | 過去ログ一覧 | 後日へ続く | 最新版へ


Valid HTML 4.01! Valid CSS!

この日記は、GNSを使用して作成されています。

このページに関する問い合わせは rltm まで。