OSX(10.4.1)上でのjNetHackのコンパイルメモ

lastupdate 2005.7.17

タイル付きのjNetHackがやりたい。ということでOSXでやった作業メモを残しておきます。

OSXでタイル付きNetHackをやる場合の選択肢としてQtを使うのとX11.appを使うのとあるようで、はじめはAquaシームレスなQtでやりたかったのですが、TigerだとどーしてもQtのコンパイルが通らない(05.7.17追記→その後こんな感じになってます。)ので、ここはX11でやることにします。(Qt版はQt3.3.5が正式リリースされたらまたやってみます。4.0.0だと3以前と互換性が無いぽくてだめでした。英語版のOSXバイナリは配布されてるのでできない訳じゃなさそう。)

まず最初にOSXインストールディスクからX11とX11SDKをインストール。

次に必要なファイル類を集めてきます。

JNetHack Project様から英語版ソースファイル(nethack-343-src.tgz)と日本語版パッチ(jnethack-3.4.3-0.4.diff.gz)

The RL Tiles様からX11用32*32タイルファイル(nh32.xpm.gz)

必要なものがそろったら同じ場所に英語版ソース&パッチを展開してパッチ当て。

パッチ当たったらMakefile作成

次に基本的なところの変更

CFLAGS = -W -O -I../include
LFLAGS = -L/usr/X11R6/lib
WINSRC = $(WINTTYSRC) $(WINX11SRC)
WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
WINX11LIB = -lXaw -lXmu -lXext -lXt -lXpm -lX11 -lm
WINLIB = $(WINTTYLIB) $(WINX11LIB)


CFLAGS = -W -O -I../include
LFLAGS = -L/usr/X11R6/lib
#define X11_GRAPHICS 	/* X11 interface */  (コメントアウトをはずす)
#define USE_XPM		/* Disable if you do not have the XPM(コメントアウトをはずす)
#define AUTOPICKUP_EXCEPTIONS /* exceptions to autopickup */(コメントアウトをはずす*オートピックいらない人はいらないのかな)
PREFIX	 = /Users/***/Applications  ←インストールする場所(この場合自分のホームディレクトリ以下/Applications内)
GAMEUID  = ***  ←自分のユーザ名
GAMEGRP  = ***  ←自分のグループ名
VARDATND = x11tiles NetHack.ad pet_mark.xbm rip.xpm
JNetHack*font: -misc-fixed-medium-r-*--12-*
JNetHack*display_file*font: -misc-fixed-medium-r-*--12-*
JNetHack*tombstone*font: -misc-fixed-medium-r-*--12-*
JNetHack*rip*font: -misc-fixed-medium-r-*--12-*
JNetHack*menu*font: -misc-fixed-medium-r-*--12-*
JNetHack*text*font: -misc-fixed-medium-r-*--12-*
JNetHack*map*font: -misc-fixed-medium-r-*--14-*
JNetHack*fontSet: -misc-fixed-medium-r-*--12-*
JNetHack.tile_file: nh32.xpm
JNetHack.tile_width: 32
JNetHack.tile_height: 32

ここまでやったらコンパイルしてみます。

大量にwarningを吐くかもしれませんがコンパイルが通ったらインストール

先ほど編集したリソースファイルをコピーします。(root権限がいるのでsudoで。)

タイルファイルをコピーします。

初期設定ファイルを作ります。細かいオプションはお好みで。

OPTIONS=kcode:euc
OPTIONS=menustyle:Full
OPTIONS=windowtype:x11
OPTIONS=fixinv,showexp,safe_pet,sortpack,tombstone,verbose,hilite_pet,showscore,!null

あとはX11.appを立ち上げてXtermなどから起動してみてください。

せつなさ満載でお届けするSYMMERICWEBはリンク許可を求められた場合不許可します。リンク希望の方は勝手にリンクしてくださいますようお願い申し上げます。