※この記事の内容の正確性はあらゆる意味で一切保障しません。
 また、記載のプログラム/ソフトウェアの実行は全て自己責任で行ってください。
 ファイルやPCに何らかの損害が発生してもこちらは一切補償しませんし、プログラム/ソフトウェアの作者の方も同様に補償されません。


★話の要約
・Visual Art's系メーカーのゲームは「SEEN.TXT」というファイルにシナリオデータを内包している。
・とあるプログラムでSEEN.TXTの分割&テキストファイルに変換&シナリオ部分のテキストの可読化が可能。
・それだけでは色々ノイズが入っているので、スクリプトを書いて回してみて整形を試みるも失敗。
・仕方が無いのでテキストエディタソフトの置換機能で半手動整形しつつ、テキスト整形の自動化&高精度化や、SEEN.TXTの完全解読ができないかどうかの調査は継続とする。
・サクっと分割したいだけの人は「★」をつけている項目以外読む必要はありません。


◎Seen.txtについて
・(現在はどうなっているか知らないものの、少なくとも5~13年前の)Visual Art's系メーカーのゲームは、AVG32またはRealLiveというエンジンに対しSEEN.TXTというファイルが命令を出し、ゲームとして動作する方式を採っている。
・このファイルはSEEN.TXTという名前で拡張子が.txtなものの、内部的にはテキストファイルではない。なので、テキストエディタでそのまま開いても読めたものではない。
・しかし、AVG32/RealLiveがエンジンであるなら、シナリオは必然的にSEEN.TXTに何らかの形で格納されているはずで、AVG32/RealLiveを通してゲーム画面に文字列として出力できるのであれば、(何段階か暗号化やコーディングが施されているとしても)、最終的にはテキストファイルでの記述が存在しているはず。
・SEEN.TXTを解析してシナリオ部分を抽出できるなら、理論上は『飼』~『ラストオーダー』までの元長ゲーのシナリオは全部抽出できるはず。


◎SEEN.TXT解析・分割関連ツールを使ってみる
KZ-Sさんのヲタ日記 2008/02/18のSeen.txt関係ツールのまとめ記事を参照して片っ端から試してみるもののこちらの、環境設定の問題なのか何なのか、「DOS窓を使用して云々」系ツールがすべからく作動しない。(もしくはリンク先死亡。)
・唯一hikobaeさん制作のSEENファイルのフォーマットツールが作動。ビンゴ!テキスト抽出成功!
・Windows付属のメモ帳で開くとこんな感じ⇒$ぺとろの棚ぼた生活記-変換後無整形
・この時点で目的の9割9分は達したと言っていいが、ノイズ交じりでちょっと読みにくい。
・たぶん「*A」⇒「(主人公の名前・・・つまり直弥)」で、「£■(正確には違う文字)」⇒「改行」だとは思うけども。


◎そんなわけでスクリプトを組んでなんとかしようとする
・Microsoft/TechNetの"Hey, Scripting Guy!"シリーズ、Scripting Guy さん、よろしくお願いします。テキスト ファイル内のテキストを検索して置換する方法はありますか。等を参考にして、適当にVBScriptを組んでみる。
・結論だけ言うと失敗。テキストを書き戻す段階で、何故か最下部のテキスト以外が消失。
・「文字化け部分がテキストデータだと解釈されなくて部分的にしか書き戻せない説」「無改行部分が長すぎるので書き戻せない説」「サイズがでかくて書き戻せない説」等色々考えるも、できない物はできないし、そうそうすぐに原因が分りそうにもないので転進。
・上手く行っていたら、フォルダ内に存在する「SEEN(数字3桁).TXT」に全部「*A⇒直弥置換」「£■⇒改行置換」「£と■それぞれ消去」を施すくらいの準備はできていたのに・・・
 (と、思っていたものの、£■はどうも本来は文字ではないようなので、この方式で置換できるかどうかは不明)


◎仕方が無いのでテキストエディタの置換機能に頼る
・UnEditorの置換機能でガーッと置換。便利だなー。
・ところでUnEditorで開くと⇒$ぺとろの棚ぼた生活記-Seen無変換UnEのような具合だったので、やっぱり文字化け部分がテキストとして解釈されてないのじゃ疑惑。まあ元はテキストじゃなくて場面特定のポインタかCGの切り替えコマンドか何かでしょうしねえ。
・置換したらこんな感じ。⇒$ぺとろの棚ぼた生活記-置換後
・改行とノイズ除去は・・・今のところ手作業ですかね。


★今回やったこと
1…sense offのSEEN.TXTを別の場所に作ったフォルダの中にコピー。(初期設定では "C:\sense off\DAT"にSEEN.TXTはいます。)
2…SEENファイルのフォーマットツールを解凍して出てくる、seen.exeを先ほどのフォルダに放り込んでダブルクリックで実行。
3…生成されたSEEN001.TXT~SEEN411.TXTをUnEditorで開いて、シナリオが存在するものは「*A」を「直弥」に置換して保存して回る。

こんな感じ。

自力で何かやった部分で結果が残っているのは皆無なのが忸怩たるところ。
ちょっと勉強してリベンジします。

※なお、seen.exeはsense off以外にも有効なはずです。まだ試してはいませんが。


あと、SEEN410.TXTとSEEN411.TXTの内容というか配置順というかは、結構示唆的だと思うのですよ。