2011年11月16日水曜日

Skyrim Strings File

Skyrimのテキストデータファイルは、STRINGS、 DLSTRINGS、 ILSTRINGSの3種類。
STRINGSとDLSTRINGS/ILSTRINGSで若干データのインデックスフォーマットが異なる。

STRINGSは、次の通り。

・ヘッダ
0-3バイト: テキスト総数
4-7バイト: テキスト部分のデータ量(byte)

・テキストインデックス
0-3バイト: テキスト識別のインデックス番号
4-7バイト: テキストデータの先頭からのテキスト開始位置

・テキスト部
各テキストデータの終わりはNULL(\0)区切り。

DLSTRING/ILSTRINGSは次の通り。

・ヘッダ

0-3バイト: テキスト総数
4-7バイト: テキスト部分のデータ量(byte)

・テキストインデックス
0-3バイト: テキスト識別のインデックス番号
4-7バイト: テキストデータの先頭からのテキスト開始位置

・テキスト部
0-3バイト: テキストの長さ(byte)
4- バイト: テキストデータ(終わりはNULL(\0)区切り)

現状、英語版でのテキストデータでは、テキスト部分はASCII文字(1byte)のみ。
UTF-8もそのまま通るし、ヨーロッパ系の言語では、CP1252とかそれぞれのエンコードっぽい。

10 件のコメント:

  1. Please, modify your tools to support Windows-1252 encoded format instead of UTF-8.

    Skyrim in some western languages (french, italian & spanish) uses special characters.

    返信削除
  2. Updated :)
    You can use new option /E for set codepage to change encode. if you want to set CP1252, set /E1252 like below:

    StringsUnpacker /E1252 Skyrim_French.STRINGS french.csv

    Other codepage list is here: http://msdn.microsoft.com/en-us/library/system.text.encodinginfo.codepage%28v=VS.90%29.aspx

    返信削除
  3. Hello,
    and thank you for these wonderful tools. I finally found a way to fix the bug of missing accented characters at the end of each label Introduced by the 1.37 patch in the French version of the game.

    Google translation of your TXT files was almost incomprehensible, but fortunately I ended up falling on this thread:)

    Thank you again ...

    返信削除
  4. Hi,
    I also added /H option for simple english help message in new version instead of English documents :).

    返信削除
  5. I've added readme_eng.txt in the archive file for non japanese users. please, check new version :).

    返信削除
  6. jpmod, where can I download a new version of this tool? http://sites.google.com/site/jpmodfiles/localize/skyrim - has a link to the old version, without codepage select ability and english help.

    返信削除
  7. Sorry. I uploaded old version because of my mistake and replaced newest one. Please download again.

    返信削除
  8. stringsファイルを書き換えたら StringsPacker でエラーが出るようになってしまったのですが
    何か思い当たることがありましたらら教えて頂けませんか?
    行数などはオリジナルと一緒です

    以下、その時のコマンドとエラー表示です。

    StringsPacker.exe Skyrim_English_STRINGS.変更.csv Skyrim_English.STRINGS /B 2>err.txt

    [err.txt]
    ハンドルされていない例外: System.Exception: 種類 'System.Exception' の例外がスローされました。
    場所 Jpmodding.IO.CsvFileReader.read()
    場所 Jpmodding.IO.CsvFileReader.Load()
    場所 Skyrim.StringsPacker.Program.Main(String[] args)
    [終わり]

    よろしくお願いします

    返信削除
  9. Unknownさん
    たぶん、CSVのフォーマットのどこかがおかしくなっているのかと思います。
    CSVの読込みでエラーが出た場合に、行番号もしくはエラー詳細が表示されるようにしてみましたので新しいもので試してもらえますか。

    返信削除
  10. ありがとうございます。
    日を改めて同じ事をしたらエラーが出なくなってました。
    なんか変なことしてたのかもしれません。
    お手数おかけ致しました。

    返信削除