字幕やフォント関係は text_default.sds に格納されている
構造
text_default.sdsの構造
- fonttexture.dds - フォントテクスチャ
- fonttexture.XML - フォント設定
- ミッション名.bin - 字幕(ミッション)
- TextDatabase.dat - 字幕(その他)
- TextIconsMap.dat - ???
ミッション名.bin, TextDatabase.dat
字幕が格納されている。エンコードはUTF8。
テキストエディタで普通に読み書きできる。
(メモ帳でも可能だが、推奨はしない)
テキストエディタで普通に読み書きできる。
(メモ帳でも可能だが、推奨はしない)
※未確認
日本語はUTF8にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、
ゲーム側がマルチバイト文字を認識できるか不明。
できない限り読み込み不可能。文字化けししてしまう。
日本語はUTF8にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、
ゲーム側がマルチバイト文字を認識できるか不明。
できない限り読み込み不可能。文字化けししてしまう。
9/4深夜現在、フォントテクスチャ自動生成ツールの作成中。
XMLについて
ファイル構成情報として、ヘッダ、ファイルパス?、???がある。
これらを抜かした区切りの値が先頭アドレス。
これらを抜かした区切りの値が先頭アドレス。
9/4深夜現在、XML閲覧ツールから編集ツールへ格上げしました。
tool にDLリンク張りました。
(Mafia2 XML Editor v0.1.1 リリース)
tool にDLリンク張りました。
(Mafia2 XML Editor v0.1.1 リリース)
ヘッダ
※ ファイルパスが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)