Mac OS XでJNethackを遊ぶ


この記事は、http://teri.2ch.net/mac/kako/990/990171216.htmlを参考に作成した。
またMac OS X10.2におけるカラーコードの不整合による画面の乱れの問題の解決にあたっては、# [debian-devel:01851] [jnethack_1.0.5.4.1-6] jnethack-1.0.5.4.1 updateを参考にした。

以下の手順はMac OS X10.1におけるものである。10.2での変更点はこのページの最後にまとめた。

まずはhttp://www.nethack.org/へ行き、Current Version(現在は3.4.0)のソースをダウンロード。
次にhttp://sourceforge.jp/projects/jnethack/で日本語化パッチを取得。
んで、それぞれ解凍し、パッチはnethackのフォルダに移動させておく。
あとは上記の2chスレを参考に、
% patch -p 1 < jnethack-3.4.0-0.5.diff
% cd sys/unix/
% sh setup.sh
と実行。
んで、MakeFileの修正に入る。
src/Makefileの、
CFLAGS = -O -I../includeを
CFLAGS = -O -I../include -DNeXT -Dbsdiと修正(X11は当然不要)し、ついでに
WINLIB = $(WINTTYLIB)を
#WINLIB = $(WINTTYLIB)にする。

util/makefileも
CFLAGS = -O -I../includeを
CFLAGS = -O -I../include -DNeXT -Dbsdiと修正

さらにinclude/config.hの
#define COMPRESS "/usr/local/bin/gzip"

#define COMPRESS "/usr/bin/gzip"
としておく。

で、nethackのルートディレクトリへ移動し、そこのMakefileの、
GAMEUID = games
GAMEGRP = bin
をそれぞれ自分のユーザIDとグループIDに書き換えたあとで、
% make all
% sudo make install
と実行する。コンパイルに結構時間はかかるけどこれでインストール完了。
% /usr/games/jnethack
で起動できる。

・Mac OS X10.2(Jaguar)での変更点。

src/Makefileの265行目、
WINLIB = $(WINTTYLIB)
はコメントアウトせずに、240行目に-lncursesを追加して、
WINTTYLIB = -lncurses とする。
さらに同ファイルの155行目、
CFLAGS = -O -I../include -DNeXT -Dbsdi
としていたところを、
CFLAGS = -W -g -O -I../include -DNeXT -Dbsdi -DTERMINFO
とする。

また、デフォルトでカラーモードが使用できる端末はxterm-colorに対応したものに限られる
(現状ではiTermのみ?)
iTermを使用する場合は、環境設定のターミナルでxterm-colorを選択する。
terminfoを修正することで他の端末でもカラー化が可能なように思えるが、筆者は未確認。

2003.03.27 追記
Terminal.appでもCOLOR環境変数を設定することで、カラーモードで動作させられる事が分った。
(% setenv COLOR とすればよい)
また、JTerminal.app(v0.3.7)などでも動作するようだ。