2016/04/18
■ [Angband]Angband4をいじり回す Part5 …とりあえず初期設定で動くようになれと
前回のランタイムエラーを起こしているのは、ReadDIB2_PNG()関数中のpng_read_info()関数、libpngに依存した箇所であることを把握。
/* setup error handling for init */ png_init_io(png_ptr, fp); png_set_sig_bytes(png_ptr, 8); png_read_info(png_ptr, info_ptr); width = png_get_image_width(png_ptr, info_ptr); height = png_get_image_height(png_ptr, info_ptr); color_type = png_get_color_type(png_ptr, info_ptr); bit_depth = png_get_bit_depth(png_ptr, info_ptr);
心の中のggrksが囁いたのでとりあえず検索、Stack Overflow先生から割と良くありがちな事例であるとはご指摘を受ける。が、これと同様の事態が発生しているのか否かはまだ不明。VisualStudio側からは何も言ってこない。
いずれにせよ、これは解決せねばならん事案ではあるが、先にTTFフォント回りを片付けたいので、一時的にAngband.INIが存在しない時のデフォルトタイル設定を「なし」にしようと試みる。
タイルIDを保存するarg_graphicsをキーワード検索し、微妙に紛らわしいと思いつつ見つけたのが、win-layout.cファイルのdefault_layout_win()関数だった。初回起動時、取得できた画面の解像度に応じて、最適であろうウィンドウサイズ、タイルとその縦横サイズを自動で決めてくれる機能を実装している。
地味に良いユーザビリティとは思うのだが、TTFフォント導入を行う今に及んでは一部作り直さないといけないと思い、常時arg_graphicsに代入される値を0(なし)に。
とすると当然、Angband.INIはデフォルトのまま動作するようにはなるが、マージン&パディングがガバガバになるわなと。まとめて直さなきゃ(使命感)
■ [ヴィーヤウトゥムノ] ナイトウィング/Nightwing (L.Dark 'W') 修正&着色
=== Num:722 Lev:50 Rar:4 Spd:+10 Hp:60d30 Ac:120 Exp:6000 大気が寒々しく、青白くなっている所がある。その冷気の中心に立っているのが ナイトウィングなのだ。ナイトウィングはその翼で冒険者を死の冷気に包み込 み、その手を伸ばして冒険者を忘却の世界へと引きずり込もうとする。この恐る べき強敵が発散する気に包まれると、肉体は弛緩し、戦おうとする勇気などはど こかに吹き飛んでしまう。 それは通常地下 50 階で出現し、素早く動いている。この邪悪なるアンデッドの モンスターを倒すことは 50 レベルのキャラクタにとって 約5769.23 ポイントの 経験となる。それは的確に魔法を使うことができ、地獄球、脳攻撃、秘孔を突 く、地獄の矢、魔力の矢、恐怖、目くらまし、アンデッド一体召喚の呪文を唱え ることがある(確率:1/4)。それは AC120 の防御力と 60d30 の体力がある。それ はドアを開け、ドアを打ち破ることができる。それは冷血動物である。それには 明るい光でダメージを与えられる。それは冷気と毒と暗黒と地獄とテレポートの 耐性を持っている。それは進化しない。それは混乱しないし、眠らされない。そ れは侵入者を幾分注意深く見ており、 200 フィート先から侵入者に気付くことが ある。それは 4 個までの上質なアイテムを持っていることがある。それは 3d5 のダメージで触って毒をくらわし、 3d5 のダメージで触って毒をくらわし、 6d8 のダメージで殴って劣化させ、 5d10 のダメージで殴って魔力を奪う。
鬼畜大佐『ロムンクァリィ』
他のナイトシェード系や同階層の奴らを比べると何だかんだ謙虚かもしんない。
アッキ=ニンジャ『ウルウェン』
HPがFORCE_MAXじゃないところとか特に謙虚さの秘訣。