--------------------------------------------------------------------------------
Name   : Dragon Age Conversation Reader
Auther : Hikami
Version: 0.8 beta
Date   : 2010/08/16
--------------------------------------------------------------------------------

※本バージョンはベータ版です。予期せぬ動作をする可能性が高いです。

--------------------------------------------------------------------------------
Description:
Dragon Age Conversation Reader は、BioWareのゲーム"Dragon Age: Origins"の
会話を閲覧する非公式ツール(Unofficial tool)です。
DLGファイルに含まれている会話の前後関係を階層構造である程度再現します。


--------------------------------------------------------------------------------
Requirements:
・Windows XP SP3(2000/Vista/7)
・.Net Framework 2.0 SP1
・なるべく高速なCPU
・35MB以上の空き領域を持つなるべく高速な記憶領域
・400MB以上の空き領域を持つなるべく大量のメモリ
・singleplayer_en-us.tlkをSDJ氏のツールdao_tlkeditor.exeで出力したテキスト
・または同等のフォーマットで記述されたテキスト（{ID}\n<string>\n...）


--------------------------------------------------------------------------------
Instration:
1.以下のファイルを用意します。
・singleplayer_en-us.tlkをSDJ氏のツールdao_tlkeditor.exeで出力したテキスト
・または同等のフォーマットで記述されたテキスト（{ID}\n<string>\n\n...）

2.1のテキストファイルを、dao_reader.exeと同じフォルダに配置します。

3.テキストファイルの名前の付け方は、dao_reader.exeと同じ階層に存在する
ディレクトリと同名にして下さい。
例えばディレクトリ"./singleplayer_en-us"に対応する"singleplayer_en-us.txt"
といった具合です。
・対応ファイル名
core_en-us.txt
singleplayer_en-us.txt
dao_prc_ep_1_en-us.txt

--------------------------------------------------------------------------------
Usage:
▼ツリーの扱い方
1.dao_reader.exeを実行します。

2.ロードに成功するとタブページに沢山のツリーが生成されます。

3.複数のTLKテキストファイルがロードされた場合は、その数だけタブページが増えます。

4.*.rimのツリーを開くと沢山の*.dlgという名前のノードが表示されます。
これらはDragon Ageの対応する各モジュールに存在する同名のファイルに対応しています。

5.*.dlgのノードを開くと*.dlgに含まれるツリー状の会話ノードが表示されます。
これらのツリー状の会話ノードは、対応する各モジュールの会話の流れを示しています。

6.会話ノードを選択すると、アプリケーション上部のテキストボックスに会話ノードの
情報が反映されます。
・ID：会話に割り振られたID : 日本語化プロジェクトで割り振られたファイル番号
・SPEAKER：話し手
・LISTENER：聞き手
・会話本文が表示されます。
全ての会話を含んだTLKテキストファイルを用意していても空欄の場合は、
会話無しでの何らかのアクションのようです。

▼ツリーの開閉
1.ノードの左にある+.-マークをクリックすることでノードを展開したり、
折り畳んだりすることができます。

2.ノードを選択した状態で、メインメニューのEditや右クリックメニューから
以下の項目を選択します。
・Expand：選択したノードのみを展開します。
・Expand All：選択したノードと、そのノードが持つ子ノードを全て展開します。
ノードの数によっては重たくなる場合もあります。
・Collapse：選択したノードのみを折り畳みます。
・Collapse All：選択したノードと、そのノードが持つ子ノードを全て折り畳みます。

▼ノード情報のコピー
1.ノードを選択した状態で、メインメニューのEditや右クリックメニューから
以下の項目を選択します。
・Copy：選択したノードの情報をクリップボードにコピーします。
・Copy All：選択したノードと、そのノードが持つ子ノードの情報を全て
クリップボードにコピーします。ノードの数によっては重たくなる場合もあります。
・Copy All (tab)：Copy Allの内容に加えて、tabでインデントしたものを
クリップボードにコピーします。


▼検索
1.メインメニューのEdit→Searchから検索ウインドウを呼び出します。

2.検索したい文字列を入力して検索します。
検索対象範囲が広い場合は非常に時間がかかります。（特に起動後の初回検索時）

3.検索のオプションで検索方法を変更できます。
・検索対象：ID, Text,Speaker, Listenerを検索対象とするか設定します。
・検索範囲：
全て：表示されている全てのノードに対して検索を行います。
現在のRIM/ERFのみ：選択しているノードを含んでいるRIM/ERFノードに対してのみ。
現在のDLGのみ：選択しているノードを含んでいるDLGノードに対してのみ。
RIM/ERFノードを選択してる場合は無効です。
選択しているノードの子のみ：選択しているノードの子に対してのみ。

・完全一致：検索文字列と完全に一致していない限りヒットしません。
・大文字と小文字を区別しない：アルファベットの大文字小文字を区別しません。
・終端に到達したら先頭に戻る：選択したノードから検索範囲内の終端まで検索して
見つからなかった場合、検索範囲内の先頭に戻り選択したノードまで再度検索を行います。
なお、検索範囲に「選択しているノードの子のみ」を指定している場合は無効です。
・正規表現を使う：正規表現を使用して検索を行います。
「完全一致」、「大文字と小文字を区別しない」が指定されている場合は、
これらを無視します。

▼カラー設定
1.メインメニューのView→Settingから設定ダイアログウインドウを呼び出します。

2.テキストボックスとツリー全体の文字色と背景色はBase Colorで設定できます。
Enableのチェックを外すとOSデフォルトの配色になります。

3.各ノードの文字色と背景色は、Node Colorのリストから対象のノードを選択して
設定できます。奇数行と偶数行を個別に設定することができます。
Enableのチェックをはずすとデフォルトの配色になります。
RIM/ERF：ツリールート直下のRIM/ERFノードの配色を変更します。
DLG：RIM/ERFノード下のDLGノードの配色を変更します。
Conversation：会話ノードの配色を変更します。
Empty：空の会話ノードの配色を変更します。
Empty>その他ノード>Base>OSデフォルト、の順で優先されて配色されます。

4.設定を変更した場合は、OKを押して設定ダイアログウインドウを閉じた後、
本アプリケーションを終了し、再度起動することで新しい設定が反映されます。

5.初期設定に戻したい場合は、本アプリケーションを一旦終了し、
dao_reader.exeと同じフォルダにあるconfig.xmlを削除して下さい。
config.xmlが存在しない場合は初期設定の同ファイルを作成します。


--------------------------------------------------------------------------------
Todo:
・ノードの間隔が狭いのをなんとかする。
・パッチ差分のマージ表示。
など


--------------------------------------------------------------------------------
Known Bugs/Issues:
・中間ファイルのコンバートに失敗したdlgが3つあったので原因判明まで除外。
・追加要素が未最適化


--------------------------------------------------------------------------------
Feedback:
起動しない、動作がおかしい、要望などあれば報告して頂ければ幸いです。
・確認動作環境はWindows XP SP3 32bitです。他OSは動作が怪しいかもしれません。
・IDや会話の整合性がどう見てもおかしい場合は、dlgファイルの出力ミスである
可能性があります。おかしいrim/erfとdlgの名前を報告して下さい。
・将来的にゲーム本体へのパッチ修正でIDや整合性が変動する可能性があります。
v.1.04までのデータを反映しています。

要望例:
・TLKテキストファイルの配置が面倒。
・どの会話がどのシチュエーションかメモしておきたい。
・まともなアイコン使って欲しい。
・このreadme読みにくい。


--------------------------------------------------------------------------------
History:
2010/08/16
ver.0.8 beta
・右クリックメニューの追加。
・会話ノードのコピー時に内容を整形してクリップボードにコピーするようにした。
・再帰的なコピーの追加。
・カラー設定の追加。
・Aboutをまともにした。
・メインメニューの日本語名を考えるのが面倒なので英語表記にした。

2010/07/20
ver.0.7
・patch1.04更新差分を追加
・Awakening（dao_prc_ep_1_en-us）に対応。尚、core_ep1_en-usは該当データ無し。
・空のノードはinactiveカラーで目立たないようにした。
・gondrage氏制作のDAOzNumList.xlsを元に、日本語化プロジェクトに対応する
ファイル番号を表示するようにした。

2010/03/10
ver.0.6.1
・patch1.03更新差分を追加。

2010/03/06
ver.0.6
・複数のTLKテキスト読み込みに対応。
・上記対応によりcoreモジュールへの対応。
・singleplayerモジュールのpatch差分を追加。
・singleplayerモジュールでコンバートし損ねていた大量の中間ファイルの追加。
・検索可能判断の調整。

2009/12/09
ver.0.5
・最上位の会話ノードが同DLG内の別の会話ツリーで重複する場合、
先に出たノードを優先して重複しないようにした。
・ステータスバーのサイズを固定。
・検索アルゴリズムの改善。
・「前を検索」を追加。
・検索範囲の指定を追加。
・「展開しているノードのみ」の追加。
・「正規表現を使う」の追加。
・「終端に到達したら先頭に戻る」の追加。
・展開、折り畳みのメニュー追加。

2009/11/24
Alpha Release.


--------------------------------------------------------------------------------
Special Thanks:
Dragon Age: Origins
http://dragonage.bioware.com/

BioWare
http://www.bioware.com/

Citizen Gamer, JPMOD Wiki Dragon Age: Origins 日本語化プロジェクト
http://sites.google.com/site/jpmoddragonageorigins/translation/

Ethelion, Mornie alantie
http://ethelion.blog9.fc2.com/

SDJ, SDJ's Funny Blog
http://sondj.tistory.com/

tazpn, tazpn's Command Line Tools
http://social.bioware.com/project/218/

gondrage, DAOzNumList.xls

Web:
Hikami, http://hotstudio.net/serika/
