--------------------------------------------------------------------------------
Name   : Dragon Age 2 TLK Converter
Auther : Hikami (Longod)
Web    : http://hotstudio.net/serika/, http://social.bioware.com/project/4206/
Version: 0.6.1
Date   : 2011/03/13
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Description:
Dragon Age 2 TLK Converter は、BioWareのゲーム"Dragon Age 2"の
TLKファイルのテキストファイルへの変換、およびその逆を行う非公式ツールです。
入出力されるテキストファイルのエンコードはUTF-16LEです。

--------------------------------------------------------------------------------
Usage:
da2tlkconv [option]... <input path> <output path>
    コンバートオプション (必須かつどれか一つ):
        -d  TLKファイルをテキストファイル(UTF-16LE)に変換する。
        -c  テキストファイル(UTF-16LE)をTLKファイルに変換する。
    フォーマットオプション:
        -x  XMLによる入出力。
        -t  入れ子状のテキストフォーマットによる入出力。
    出力オプション:
        -i  文字列が空のIDを無視して出力する (-dと併用)。
        -p  文字列の文頭にIDを追加する (-cと併用)。

--------------------------------------------------------------------------------
Formats:
*デフォルト
    一行で全てを記述する。
    文字列中に改行と"{","}"は使えない。
    改行を使う代わりに"\r\n"を使う。
*入れ子状 -t
    文字列部分も"{","}"で囲むようにした。
    文字列中に"{","}"は使えない。
*XML -x (推奨)
    文字列中に構文解析に使用しているタグは使えない。
    それ以外のタグは使用可能。

--------------------------------------------------------------------------------
Todo:
*個人的に必要そうならばUTF-8対応。

--------------------------------------------------------------------------------
Known issues:
*元のTLKファイルと、TLK→テキスト→TLKと作ったファイルを比較した場合に、
符号格納先のアドレスが異なる。恐らく動作に支障無し。
これはTLKファイルをTextに変換する際に、符号の格納順序も保存しておくか、テキスト
→TLK変換時に元のTLKファイルを読み込んで比較しながら処理してやれば復元出来る。
BioWareのTLK作成過程上たまたまその格納順序になっただけと思われ、やる意味が無いため
現状様子見。
*生成するツリーのバイナリ構造が若干異なる。恐らく動作に支障無し。
これはソートアルゴリズムの差違によって発生していると思われる。

--------------------------------------------------------------------------------
History:
2011/03/13 v.0.6.1
*OSデフォルトロケールを使用するようにしてみる。

2011/03/06 v.0.6
*XMLによる入出力を追加した。
*改行を置換しないテキストによる入出力を追加した。
*メモリリークの修正。

2011/03/01 v.0.4
*-i:TLKをTextに変換する際に空の文字列のIDを無視する機能を追加した。
*-a:TextをTLKに変換する際にIDを先頭に付与する機能を追加した。
*TLKをTextに変換時のバッファリングを変更した（xml出力に備えて）。
*重複する文字列の処理を元のアルゴリズムと思われるものにした。
*エラーコードに基づいて正しいエラーを出力するように修正した。

2011/02/27 v.0.1
Initial release.
