Archive

Portable JNetHack – USBメモリーからJNetHack

JNetHackについては、以前Windows用のインストーラを作成しましたが今回は異なるPCでもUSBメモリーからプレイできるようプログラムを一部改変して再ビルドしました。

ダウンロードしてLhaca等で解凍し、JNetHack.exeを実行するとゲームが開始します。

JNethackのイメージ

ダウンロード

JNetHack(オリジナル)との比較

ソースコードを改変

JNetHackというよりはNetHack部分です。src/files.c中の825行目周辺を以下のように変更しています。ログインユーザ名を保存データ名に含めていたのを「saved-game.dat」に固定しています。

これによって他のPCで使用しても同じ保存データを使用できるようになります。

/* Obtain the name of the logged on user and incorporate
 * it into the name.
Sprintf(fnamebuf, "%s-%s", get_username(0), plname);
(void)fname_encode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-.",
            '%', fnamebuf, encodedfnamebuf, BUFSZ); */
Sprintf(SAVEF, "saved-game.dat", encodedfnamebuf);

なお、コンパイルはJNetHackのパッチをxyzzyを用いてShift Jisに変換後、bcc32で行ないました。

初期設定(default.nh)を追加

プレーヤについて

すぐに開始できるように名前とか種別とか設定しています。もし気に入らない場合はdefault.nhをメモ帳などで編集するか、行頭に#をつけてコメントアウトしてください。

OPTIONS=name:2310,role:barbarian,race:human,gender:male,align:neutral
  • 名前は[2310]
  • 種族は[野蛮人]
  • 種別は[人間]
  • 性別は[男性]
  • 属性は[中立]
ペットについて
OPTIONS=pettype:cat,catname:TORA
  • ペットは[猫]
  • 猫の名前は[TORA]
その他
OPTIONS=number_pad:0
OPTIONS=!autopickup
  • 移動にテンキーを使用しない
  • 自動的に者を拾わない

…等、詳細は「default.nh」をご覧ください。またオプションについては同梱されているopthelpをごらんください(テキストファイル、英語)。

JNetHackリンク