JNetHack3.4系制作(非)秘話

| No Comments

JNetHack3.4系制作秘話とかあるかなあ、と思っていたのだけど、よく考えたら最初のリリースまではsourceforge.jpの日記機能でメモを取って公開していたんだった。

ところが今確認したらsourceforge.jpの機能変更で日記機能がなくなっていたので、web.archive.orgから発掘してここに貼ることで記事代わりにすることに。

(この記事は Roguelike Advent Calendar 2013 の19日目の記事です。)

いきさつ

まずは年表。

  • 1999-12-10 NetHack 3.3.0リリース
  • 2000-05-08 JNetHack 3.3.0βリリース
  • 2000-08-10 NetHack 3.3.1リリース
  • 2002-03-20 Nethack 3.4.0リリース
  • 2002-04-19 sourceforge.jp正式運営開始

そもそもどうして制作しようと思ったのかは、日記にも「ふとした気の迷い」としか書いてないのだけど、色々状況を推測すると:

  • jnethack.org版の開発が止まっていて、3.3.1版も出なかった。
  • そもそもjnethack.org版にもだいぶパッチを送っていた。
  • sourceforge.jpが始まったので使ってみたかった。
  • ゴールデンウィークが暇だった。

という辺りが理由だったと思われる。

日記

JNetHack作業開始 2002-04-28 16:05

ふとした気の迷いで JNetHack の 3.4.0 対応をはじめてみる。

まずは 3.4.0 に jnethack-1.2.0.20000509.patch.gz を当てる。 当然山ほどエラーが出るので,残りは手パッチしないといけない。

include/ util/ はあっさり終了。 dat/ は quest.txt と data.base が難関。 src/ はいわずもがな。

まずはコンパイルを通すために、 sys/share/ と sys/unix/ も 処理しておく。

quest.txt 2002-04-28 18:44

全部rejectされてどうしようかと思ったけど、 よく見たら00010以降の数字が5ずれてるので、ちょいとperlで スクリプト書いて変換。 これでほとんど通ったので、あとは手パッチで処理。 新しく増えた分はとりあえず英語のまま。 まあこの辺はぼちぼちと。

Fighter.des 2002-04-28 19:57

手パッチにも飽きたので試しにコンパイルしてみる... おお、本体は通った!...けど Fighter.des でエラー。

コメント関係をちょっといじったら通ったみたいだけど、 ちゃんと 3.4.0 で動くかは謎。

パッチ失敗... 2002-04-29 04:57

理由はいまいち不明ながら、そもそものパッチ当てに 失敗していたことが判明。がーん。

仕方がないので手パッチ部分を全部捨ててやり直し...。

やっとコンパイルが通った 2002-05-01 23:40

とは言えとにかくコンパイルを通すのを優先したので, まだ半分ぐらいしか手パッチは終わってないのだけど。

あちこち英語だったりそもそもメッセージでなかったり 文字化けしたりで色々ながらも、一応落ちたりはしない模様。

さて、残りがんばるかな...。

手パッチ進行中 2002-05-03 06:25

なんだかんだで60%ほど手パッチが終了したらしい。 微妙に終わりが見えてきたかな。

まあ追加された部分のチェックとかもあるから 先は長いのだけど。

saddle-horn 2002-05-04 04:32

手パッチは75%ほど終了。 気分転換に(?)、未訳部分にも手を出し始める。

しかし、"saddle-horn"でつまずく。 どうやら馬具らしいのはわかるのだけど、 日本語でなんというものなのやら...

とりあえず「サドルホーン」で置いておくことに。

手パッチ進行率85% 2002-05-05 05:14

おお、なんか終わりが見えてきた、って感じだ。 まあ未訳部分が大量に残っているはずだけど。

とりあえず手パッチ当て終わったら一回リリースするのがよいかな。

手パッチ終了 2002-05-07 04:08

やっとsrc/の手パッチ終了...。

細かい未訳を直して、とりあえず一度リリースしよう。 今のところunix/ttyでしか動かないけど。

3.4.0-0.1リリース 2002-05-10 02:09

一応src/の手パッチも終了して、落ちたりもしないっぽいので 3.4.0-0.1としてリリース。 とはいえ未訳とかも多いのでまだ完成には程遠い...。

リリースされてなかった... 2002-05-11 00:09

リリースした、と思ってたのだけど、実は一般ユーザーが見られな い状態だった。 あらかじめパッケージを公開にしておかなければならなかったらし い。 この辺ドキュメントがまだ揃ってないのでつらいところ。

Windows版を作ってみた 2002-05-13 01:48

3.2時代はnmakeベースだったのだけど、3.4.0では dswとか使う形に変わってるので統合環境でぐりぐりできる。 意外とあっさりと動作はしたのだけど、フォント周りがどうにも 怪しいみたい。 しかも95系ではさらに怪しいみたいだし...。 ちゃんと動かすにはちゃんと追わないといけないのかも。

winnt/tty 2002-05-14 03:54

winnt/win32 がどうにもフォント関係が怪しそうなので、 winnt/tty をコンパイルしてみることに。 でもなんかドキュメント見たら面倒そうなんだよなあ...と 思ったら、単に読み間違いだったことが判明。ありゃりゃ。

実際やってみたらグラフィカルバージョンよりあっさり 出来てしまった。ちょっと様子を見て、問題なければ 次バージョンでリリースしよう。 英語版と同じように、グラフィカルバージョンとセットで 配布でいいかな。

data.base 2002-05-16 18:18

data.baseもほったからしというのもなんなので、 処理することに。

とは言えこれを手パッチするのは大変すぎるので、 スクリプトで項目ごとにばらしてそれをベースにする。 結構いい感じで処理できたかな。

まあ未訳は未訳なので元ネタ探したりとかはしないと いけないのだけど。

まとめ

ちなみに手パッチしたsrc/の*.rejファイル、合計サイズ1049707バイトだったらしい。 2週間ぐらいで手パッチ終わったらしいので暇だったんだなあ。

次はradinmsさんです。

Leave a comment