字幕やフォント関係は text_default.sds に格納されている
構造
text_default.sdsの構造
- fonttexture.dds - フォントテクスチャ
- fonttexture.XML - フォント設定
- ミッション名.bin - 字幕(ミッション)
- TextDatabase.dat - 字幕(その他)
- TextIconsMap.dat - ???
ミッション名.bin, TextDatabase.dat
字幕が格納されている。エンコードはUTF8。
テキストエディタで普通に読み書きできる。
(メモ帳でも可能だが、推奨はしない)
テキストエディタで普通に読み書きできる。
(メモ帳でも可能だが、推奨はしない)
※未確認
日本語はUTF8にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、
ゲーム側がマルチバイト文字を認識できるか不明。
できない限り読み込み不可能。文字化けししてしまう。
日本語はUTF8にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、
ゲーム側がマルチバイト文字を認識できるか不明。
できない限り読み込み不可能。文字化けししてしまう。
9/4深夜現在、フォントテクスチャ自動生成ツールの作成中。
XMLについて
ファイル構成情報として、ヘッダ、ファイルパス?、???がある。
これらを抜かした区切りの値が先頭アドレス。
これらを抜かした区切りの値が先頭アドレス。
ヘッダ
※ ファイルパスが39byteの場合
| 名称(概要) | byte数 | 値 |
| 空白 (ExSDS のみ) |
16 | |
| 不明 (ExSDS のみ) |
4 | |
| (何かの名称)の長さ | 4 | |
| (何かの名称) | 指定の長さ | |
| 不明 | 1 | |
| ファイルパスの長さ | 4 | |
| ファイルパス | 指定の長さ | |
| 区切り | 1 | 0x00 |
| 不明 | 1 | 0x04 |
| アドレス情報で用いる登録番号の総数 | 4 | |
| テーブルの総byte数 | 4 | |
| 不明 | 1 | 0x04 |
| 区切り | 8 | 0x00 |
↑ 最後の8byteがヘッダの区切り
※ファイルパスとは、本来のファイル位置やファイル名を記したもの(っぽい)
※ファイルパスとは、本来のファイル位置やファイル名を記したもの(っぽい)
先頭アドレス
テーブル情報の先頭アドレス。ヘッダ直後が先頭アドレスとなる。
目印は 0x00(1byte), 0x04(8byte) の計9byte。
目印は 0x00(1byte), 0x04(8byte) の計9byte。
構成
主に2つから構成される(ヘッダは除外)
- テーブル
- アドレス情報
テーブル
様々な情報が記述されている
| 概要 | byte数 | 値 |
| 文字列の終点 | 1 | 0x00 |
| 改行? | 8 | 0x04 |
アドレス情報
どのようなテーブル構成になっているかを決める。
テーブル情報のアドレスをオフセットで格納。
4byte単位でひとくくり
テーブル情報のアドレスをオフセットで格納。
4byte単位でひとくくり
※0x??・・・任意の値
- ヘッダみたいなもの
| ヘッダ? | 0x01 0x01 |
| 区切り | 0x00 |
- 階層 / エントリ
| 階層 / エントリ名のオフセット | 0x?? |
| 階層 / エントリデータのオフセット (存在しない場合は0x00) |
0x?? |
| 階層 / エントリの登録番号 | 0x?? |
| 下位階層の有無 | 無:0x00, 有:0x01~ |
| 各階層の登録番号 (階層の数分だけ登録) ※下位階層が有る場合のみ有効 |
0x??~0x?? |
| エントリ総数 ※2セット1組 |
0x?? |
| エントリ名 ※エントリ総数が1以上の場合 |
0x?? |
| エントリデータ ※エントリ総数が1以上の場合 |
0x?? |
fonttexture.XML(フォント設定)
フォント設定情報(FontTextureDescription)
| 設定名 | 概要 |
| CharDescription | テーブル名? |
| FontKey | 2種類 (16777216, 33554432) |
| FontSize | フォントサイズ |
| KeyCode | 文字コード(表記:10進数) |
| XLeftTopPixel | テクスチャのX座標 |
| YLeftTopPixel | テクスチャのY座標 |
| XYSize | テクスチャから読み込むサイズ |
| CharAdvanceX | 次の文字を表示する位置 |
| CharBearingX | 文字の表示位置(左端:0 - 右端:1) |
| CharBearingY | 文字の表示位置(下端:0 - 上端:1) |
| 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)