キャラクター情報出力機能追加パッチ(JSLASH'EM 0.0.7E7F1-J0.1.4用)
version β1.1(2006/12/25登録)

JSLASH'EMにキャラクター情報をダンプ出力する機能を追加するパッチです。
出力フォーマットとしてHTMLとテキストの二種類を選択できます。


使い方
  ゲーム終了後、「DUMPを出力しますか？」という問いに'y'と入力するとキャラ
  クターの情報を出力するためのダンプ出力メニューが表示されます。メニュー
  ではHTML出力、テキスト出力を選択することができるほか、出力内容の臨時変更
  を行うことも可能です。
  これ以外に、ゲーム中に"#dump"と入力するか、啓蒙の薬や杖などで属性表示を
  行ったときにも同じメニューが表示されます。

  いずれの場合もファイル名の入力を求めるのでファイル名を入力してください。

  出力されるファイル種別はHTMLとテキストの二種類を選択できます。HTMLはサイ
  ズが大きく、参照にウェブブラウザが必要ですが、マップをカラーで表示できま
  すし、アイテム等もアイテムカラーに即した色で表示します。テキストはノート
  パッドでも参照できますし、サイズも小さいですが、もちろん色付きではありま
  せん。


ダンプ出力メニュー
  キャラクター情報をHTML出力
    HTML形式でキャラクター情報を出力します。

  キャラクター情報をテキスト出力
    TEXT形式でキャラクター情報を出力します。

  出力項目を一時的に変更(保存されない)
    出力項目を変更するためのメニューを表示します。このメニューでは出力され
    る項目が選択されているので、出力したくない項目は非選択に、出力したい項
    目は選択状態にしてください。なお、ここでの変更点はゲームを終了するまで
    は有効です。（保存するようにするとセーブファイルの互換性がなくなるため
    このような形になっています。）


オプション
  次のオプションを設定可能です。
  dump_confirm_normal
    啓蒙の薬や杖などで属性表示を行ったときのダンプ出力の意思確認をどう行う
    かを設定します。デフォルトでは yes となっています。
      yes ... デフォルトyesで確認します。
      no  ... デフォルトnoで確認します。
      +   ... 確認せずにダンプ出力メニューに移行します。
              このとき、dump_format_normal が none 以外に設定されていた場
              合はメニューを飛ばしてファイル名入力に移行します。
              dump_autoname_normal が設定されていた場合は何も聞かずにダン
              プの保存を行います。
      -   ... ダンプ出力を一切行いません。

  dump_confirm_final
    ゲームクリア時、もしくは死亡時に最終状態のダンプ出力の意思確認をどう行
    うかを設定します。デフォルトでは yes となっています。
    設定可能な値は dump_confirm_normal と同様です。

  dump_format_normal
    '#dump'コマンドを実行したとき、もしくは啓蒙の薬や杖などで属性表示を行
    ったときに出力するファイル種別を設定します。また、この項目にhtmlやtext
    が指定されていた場合、ダンプ出力メニューの表示を省略します。
    デフォルトでは none となっています。
      html ... HTML形式でダンプを出力します。
      text ... テキスト形式でダンプを出力します。
      none ... ダンプ出力メニューを表示して選択させます。

  dump_format_final
    ゲームクリア時、もしくは死亡時に最終状態のダンプを出力するときのファイ
    ル種別を設定します。設定可能な値や、それら設定したときの動作は
    dump_format_normal と同様です。

  dump_kinds_normal
    '#dump'コマンドを実行したとき、もしくは啓蒙の薬や杖などで属性表示を行
    ったときに出力する情報の項目を設定します。
    次にしめす一文字を複数指定します。指定文字の前に'n', '-', '!'を指定す
    ると出力しないことを指定したことになります。逆に出力するこを指定する文
    字は'+', 'y'ですが、出力してい文字は省略することが可能です。
      S ... キャラクタのステータス情報
      m ... マップ情報
      B ... ステータスライン(マップ情報が有効な場合のみ出力)
      E ... 装備一覧(所持アイテムの中で装備中のものを部位別に表示)
      i ... 所持アイテム一覧
      P ... 鞄等の中身のアイテム(所持アイテム一覧、足元のアイテム一覧の
            表示時に鞄等の中身を出力するかどうかの設定)
      u ... 足元のアイテム一覧
      e ... 属性情報一覧(啓蒙時に表示されるものと同じもの。#dumpで実行した
            ときはこの設定にかかわらず出力されません。)
      c ... 自発的挑戦一覧
      s ... 魔法一覧
      t ... 特殊技能一覧
      k ... スキル一覧
      p ... ペット一覧
      v ... 倒したモンスター一覧
      g ... 虐殺した種別一覧
      f ... 最終/直前メッセージ(メッセージの履歴。ゲーム終了時には終了後の
            各種情報も含まれます)
    デフォルトは+S+m+B+E+i+P+u+e+c+s+t+k+p!v+fです。
    このオプションを設定したとき、指定しなかった文字に対してはデフォルトの
    設定が使用されます。

    過去のパッチでのオプション dump_disclose では逐時出力確認もできるよう
    に作成していましたが、需要が少なそうなので省略しました。

  dump_kinds_final
    ゲームクリア時、もしくは死亡時に最終状態のダンプへ出力する情報の項目を
    設定します。設定可能な値や、それら設定したときの動作は
    dump_kinds_normal と同様です。
    デフォルトは+S+m+B+E+i+P+u+e+c+s+t+k+p+v+g+fです。

  dump_autoname_normal
    '#dump'コマンドを実行したとき、もしくは啓蒙の薬や杖などで属性表示を行
    ったときに出力するファイル名を指定します。このオプションが指定された場
    合、ファイル名にはこの値が使用されるため、通常はファイル名のキーボード
    入力は行われなくなります。(指定マクロに連番が使われていて、かつ連番が
    いっぱいの場合は例外的にキーボード入力を促します。)

    このオプションには以下のマクロを使用することができます。
      \2N  ... 2桁の連番。00〜99のうち、未使用のものが使用されます。
      \3N  ... 3桁の連番。000〜999のうち、未使用のものが使用されます。
      \C   ... プレイ中のキャラクター名
      \R   ... 職業を表す3文字のアルファベット。
      \U   ... Windowsではユーザ名、それ以外(UNIX等)ではユーザID番号。
      \YMD ... 西暦年月日を8桁の数字で表現したもの。
    なお、拡張子は dump_format_normal の設定により自動的に付与されます。
    デフォルトでは設定されていないため、入力を促されます。
    例) dump_autoname_normal:dump\YMD_\2N\R
        次のようなファイル名になります：dump20061225_01Val.html

  dump_autoname_final
    ゲームクリア時、もしくは死亡時に最終状態のダンプを出力するファイル名を
    指定します。設定可能な値や、それら設定したときの動作は
    dump_autoname_normal と同様です。


known bugs：
  end.cにてかなり強引にメッセージ取得を行ったため、非常に汚いコードとなっ
  ています。

  直前のメッセージが、ttyモードの場合のみしか出力されません。
  また、表示される行数はOPTIONSのmsghistoryに依存します。

  WindowsXpのコンソール版でのみ動作確認を行っております。
  それ以外の、UNIX系等での動作確認はとっておりません。


履歴
  β1.1 2006/12/25
    ベースはJSLASH'EM-0.0.7E7F1-J0.1.4。
    完全に作り直した。
    HTML出力だけではなく、テキスト出力もできるようにした。
    ダンプ出力ファイル名をマクロつきで設定できるようにした。
    設定可能なオプションの名称も変更したため、前のパッチの設定は使用できな
    い。
    既存のJSLASH'EMの各ソースコードに分散していたダンプ出力コードをできる
    限りひとつのダンプ用ソースファイル(c_dump.c)にまとめた。とくに出力書式
    に関する固有部分はc_dump.cに纏めた。なお、マップに関する部分だけはまと
    めることができていない。

  β0.6a 2005/9/20
    JSLASH'EM-0.0.7E7F1-J0.1.1にパッチを当てなおした。
    Ctrl-Oコマンドの結果出力の日本語化に伴い、HTMLDUMP説明文も日本語化し
    た。

  β0.6 2005/5/31
    JSLASH'EM-0.0.7E7-J0.0.13にパッチを当てなおした。
    倒したモンスター数および虐殺したモンスターの出力の有無の確認を出力す
    るデータがある場合のみに限定した。
    TTYモード以外で実行したときに例外を出していた問題を修正。

  β0.5 2005/2/24
    JSLASH'EM-0.0.7E7-J0.0.12にパッチを当てなおした。
    倒したモンスター数および虐殺したモンスターの出力をいまさら実装。
    ゲーム終了時にのみ出力します。

  α0.4a 2005/1/31
    UNIXで正常に動作しない問題を修正したつもり。

  α0.4 2005/1/11
    JSLASH'EM-0.0.7e6F3-J0.0.11にパッチを当てなおした。

  α0.4 2004/11/6
    JSLASH'EM-0.0.7e6F2-J0.0.9にパッチを当てなおした。

  α0.4 2004/8/28
    死因の表示がおかしかったバグを修正。
    ゲーム上で啓蒙を表示したときに現在状態を含めたDUMPが出力できるように
    した。

  α0.3 2004/8/11
    足元のアイテムの一覧を出力できるようにした。
    特殊技能一覧をdiscloseで選べるようにした。
    最終メッセージ(直前のメッセージ)のdiscloseオプション識別子を't'から
    'f'に変更した。
    バグ修正

  α0.2 2004/8/4
    特殊技能一覧を追加
    バグ修正

  α0.1 2004/7/31
    JNetHAck3.4.3-0.2用HTMLDUMPパッチβ0.7dをJSlash'EM-0.0.7E6F2-J0.0.7に
    移植

mail-to:so-miya@sourceforge.jp
URL:http://jslashem.sourceforge.jp/
