解析 - (2010/08/30 (月) 00:29:13) の編集履歴(バックアップ)
字幕やフォント関係は text_default.sds に格納されている
構造
text_default.sdsの構造
- fonttexture.dds - フォントテクスチャ
- fonttexture.XML - フォント設定
- ミッション名.bin - 字幕(ミッション)
- TextDatabase.dat - 字幕(その他)
- TextIconsMap.dat - ???
ミッション名.bin, TextDatabase.dat
字幕が格納されている。エンコードはUTF8。
テキストエディタで普通に読み書きできる。
(メモ帳でも可能だが、推奨はしない)
テキストエディタで普通に読み書きできる。
(メモ帳でも可能だが、推奨はしない)
※未確認
日本語はUTF8にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、
ゲーム側がマルチバイト文字を認識できるか不明。
できない限り読み込み不可能。文字化けししてしまう。
日本語はUTF8にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、
ゲーム側がマルチバイト文字を認識できるか不明。
できない限り読み込み不可能。文字化けししてしまう。
8/24現在、日本語フォントを埋め込む作業中。
XMLについて
ファイル構成情報として、ヘッダ、ファイルパス?、???がある。
これらを抜かした区切りの値が先頭アドレス。
これらを抜かした区切りの値が先頭アドレス。
ヘッダ
※1 ExSDS 0.3 の場合
※2 ファイルパスが39byteの場合
※2 ファイルパスが39byteの場合
アドレス | 概要 |
0x00-0x0F | 0x00 |
0x10-0x13 | 不明 |
0x14-0x17 | (何かの名称)の長さ |
0x18-0x2A | (何かの名称) |
0x2B | 不明 |
0x2C-0x2F | ファイルパスの長さ |
0x30-0x58 | ファイルパス(任意byte) |
0x59 | 0x00 |
0x5A | 0x04 |
0x5B-0x5E(4byte) | アドレス情報で用いる登録番号の総数 |
0x5F-0x62 | テーブルの総byte数 |
0x63 | 0x04 |
0x64-0x6B(8byte) | 0x00 |
↑ 最後の8byteがヘッダの区切り
先頭アドレス
テーブル情報の先頭アドレス
バージョン | 先頭アドレス |
ExSDS 0.1 | 0x3C |
ExSDS 0.3 | 0x5A |
構成
主に2つから構成される(ヘッダは除外)
- テーブル
- アドレス情報
テーブル
様々な情報が記述されている
文字列の幅 | 任意byte |
文字列の終点(1byte) | 0x00 |
改行?(8byte) | 0x04 |
アドレス情報
どのようなテーブル構成になっているかを決める。
テーブル情報のアドレスをオフセットで格納。
4byte単位でひとくくり
テーブル情報のアドレスをオフセットで格納。
4byte単位でひとくくり
※0x??・・・任意の値
- ヘッダみたいなもの
ヘッダ? | 0x01 0x01 |
区切り | 0x00 |
- 階層 / エントリ
階層 / エントリ名のオフセット | 0x?? |
区切り | 0x00 |
階層 / エントリの登録番号 | 0x?? |
下位階層の有無 | 無:0x00, 有:0x01~ |
各階層の登録番号 (階層の数分だけ登録) ※下位階層が有る場合のみ有効 |
0x??~0x?? |
エントリ総数 ※2セット1組 |
0x?? |
エントリ名 ※エントリ総数が1以上の場合 |
0x?? |
エントリデータ ※エントリ総数が1以上の場合 |
0x?? |
fonttexture.XML(フォント設定)
※ExSDS 使用。
フォント設定情報(FontTextureDescription)
設定名 | 概要 |
CharDescription | テーブル名? |
FontKey | 2種類 (16777216, 33554432) |
FontSize | フォントサイズ(2パターン) |
KeyCode | 文字コード(表記:10進数) |
XLeftTopPixel | DDS側のX座標 |
YLeftTopPixel | DDS側のY座標 |
XYSize | DDS側のサイズ |
CharAdvanceX | ??? |
CharBearingX | 描画する基点 X |
CharBearingY | 描画する基点 Y |
CharWidth | 文字幅 |
CharHeight | 文字の大きさ |
FontAscender | 上部に突き出る高さ (ex... b、d、h、k) |
FontDescender | 下部に突き出る高さ (ex... j、y) |
※フォントキーとフォントサイズの関連性
フォントキー | フォントサイズ |
16777216 | ( 16,19,24 ) |
33554432 | ( 15,17,18,20,22,24,25,27,29,30,32,36,40 ) |
大文字 / 小文字の関連付け(CapitalTable)
アルファベット、ラテン文字、キリル文字の3種類が定義
設定名 | 概要 |
code | テーブル名? |
lo | 小文字(指定:文字コード) |
up | 大文字(指定:文字コード) |
アドレス情報
fonttexture.XMLの場合、テーブル分割は実質2分割
エントリから直接書かれている?
エントリから直接書かれている?
エントリ情報の2byte目のフラグによりデータ量が変わる。
2byte目のフラグ | データ量 |
0x0E | 74byte(テーブル名, {レコード名, データ}) |
0x02 | 20byte前後 |
エントリデータは差分がキーポイント?
表示手順
- 字幕ファイルの1行をロード
- 1文字分の文字コード認識
- fonttexture.XMLから該当の設定を読み込み
- フォントテクスチャ(各々の座標)からロード、画面に表示
字幕の内容(英語字幕→日本語字幕については)ここへ
- 何も出来ないけど支援;; -- 名無しさん (2010-08-20 08:54:02)
- 我侭言ってすまないが、作業続けてほしい俺ガイル 字幕版出るか分からないし、出ても訳がどうなってるか不安 -- 名無しさん (2010-08-25 18:50:59)
- もう1ヶ月近く2chのアク禁が続いてる。まだ始めたばかりだけど感想など書き込みたいのに・・・とりあえずスレにいる"近作"の人が気になってしかたない -- 名無しさん (2010-08-25 23:05:16)
- すまない私だwww PC買い替えたばかりでIMEが学習してくれなくて困る・・・ -- 名無しさん (2010-08-25 23:20:57)
- 何もできないかと思いますができる限りの協力はします -- 名無しさん (2010-08-30 00:29:13)