「解析」(2010/09/11 (土) 17:42:08) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
字幕やフォント関係は text_default.sds に格納されている
>構造
text_default.sdsの構造
-fonttexture.dds - フォントテクスチャ
-fonttexture.XML - フォント設定
-ミッション名.bin - 字幕(ミッション)
-TextDatabase.dat - 字幕(その他)
-TextIconsMap.dat - ???
>ミッション名.bin, TextDatabase.dat
字幕が格納されている。エンコードはUTF8。
テキストエディタで普通に読み書きできる。
(メモ帳でも可能だが、推奨はしない)
&bold(){※未確認}
日本語はUTF8にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、&br()ゲーム側がマルチバイト文字を認識できるか不明。&br()できない限り読み込み不可能。文字化けししてしまう。
9/4深夜現在、フォントテクスチャ自動生成ツールの作成中。
>XMLについて
ファイル構成情報として、ヘッダ、ファイルパス?、???がある。
これらを抜かした区切りの値が先頭アドレス。
9/4深夜現在、XML閲覧ツールから編集ツールへ格上げしました。
tool にDLリンク張りました。
(Mafia2 XML Editor v0.1.1 リリース)
**ヘッダ
※ ファイルパスが39byteの場合
|名称(概要)|byte数|値|
|空白&br()(ExSDS のみ)|16||
|不明&br()(ExSDS のみ)|4||
|(何かの名称)の長さ|4||
|(何かの名称)|指定の長さ||
|不明|1||
|ファイルパスの長さ|4||
|ファイルパス|指定の長さ||
|区切り|1|0x00|
|不明|1|0x04|
|アドレス情報で用いる登録番号の総数|4||
|テーブルの総byte数|4||
|不明|1|0x04|
|区切り|8|0x00|
↑ 最後の8byteがヘッダの区切り
※ファイルパスとは、本来のファイル位置やファイル名を記したもの(っぽい)
**先頭アドレス
テーブル情報の先頭アドレス。ヘッダ直後が先頭アドレスとなる。
目印は 0x00(1byte), 0x04(8byte) の計9byte。
**構成
主に2つから構成される(ヘッダは除外)
+テーブル
+アドレス情報
***テーブル
様々な情報が記述されている
|概要|byte数|値|
|文字列の終点|1|0x00|
|改行?|8|0x04|
***アドレス情報
どのようなテーブル構成になっているかを決める。
テーブル情報のアドレスをオフセットで格納。
4byte単位でひとくくり
※0x??・・・任意の値
-&bold(){ヘッダみたいなもの}
|ヘッダ?|0x01 0x01|
|区切り|0x00|
-&bold(){階層 / エントリ}
|階層 / エントリ名のオフセット|0x??|
|階層 / エントリデータのオフセット&br()(存在しない場合は0x00)|0x??|
|階層 / エントリの登録番号|0x??|
|下位階層の有無|無:0x00, 有:0x01~|
|各階層の登録番号&br()(階層の数分だけ登録)&br()&bold(){※下位階層が有る場合のみ有効}|0x??~0x??|
|エントリ総数&br()※2セット1組|0x??|
|エントリ名&br()※エントリ総数が1以上の場合|0x??|
|エントリデータ&br()※エントリ総数が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|上部に突き出る領域&br()(ex... b、d、h、k)|
|FontDescender|下部に突き出る領域&br() (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)
#comment
字幕やフォント関係は text_default.sds に格納されている
>構造
text_default.sdsの構造
-fonttexture.dds - フォントテクスチャ
-fonttexture.XML - フォント設定
-ミッション名.bin - 字幕(ミッション)
-TextDatabase.dat - 字幕(その他)
-TextIconsMap.dat - ???
>ミッション名.bin, TextDatabase.dat
字幕が格納されている。エンコードはUTF8。
テキストエディタで普通に読み書きできる。
(メモ帳でも可能だが、推奨はしない)
&bold(){※未確認}
日本語はUTF8にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、&br()ゲーム側がマルチバイト文字を認識できるか不明。&br()できない限り読み込み不可能。文字化けししてしまう。
9/4深夜現在、フォントテクスチャ自動生成ツールの作成中。
>XMLについて
ファイル構成情報として、ヘッダ、ファイルパス?、???がある。
これらを抜かした区切りの値が先頭アドレス。
9/4深夜現在、XML閲覧ツールから編集ツールへ格上げしました。
tool にDLリンク張りました。
(Mafia2 XML Editor v0.1.1 リリース)
**ヘッダ
※ ファイルパスが39byteの場合
|名称(概要)|byte数|値|
|空白&br()(ExSDS のみ)|16||
|不明&br()(ExSDS のみ)|4||
|(何かの名称)の長さ|4||
|(何かの名称)|指定の長さ||
|不明|1||
|ファイルパスの長さ|4||
|ファイルパス|指定の長さ||
|区切り|1|0x00|
|不明|1|0x04|
|アドレス情報で用いる登録番号の総数|4||
|テーブルの総byte数|4||
|不明|1|0x04|
|区切り|8|0x00|
↑ 最後の8byteがヘッダの区切り
※ファイルパスとは、本来のファイル位置やファイル名を記したもの(っぽい)
**先頭アドレス
テーブル情報の先頭アドレス。ヘッダ直後が先頭アドレスとなる。
目印は 0x00(1byte), 0x04(8byte) の計9byte。
**構成
主に2つから構成される(ヘッダは除外)
+テーブル
+アドレス情報
***テーブル
様々な情報が記述されている
|概要|byte数|値|
|文字列の終点|1|0x00|
|改行?|8|0x04|
***アドレス情報
どのようなテーブル構成になっているかを決める。
テーブル情報のアドレスをオフセットで格納。
4byte単位でひとくくり
※0x??・・・任意の値
-&bold(){ヘッダみたいなもの}
|ヘッダ?|0x01 0x01|
|区切り|0x00|
-&bold(){階層 / エントリ}
|階層 / エントリ名のオフセット|0x??|
|階層 / エントリデータのオフセット&br()(存在しない場合は0x00)|0x??|
|階層 / エントリの登録番号|0x??|
|下位階層の有無|無:0x00, 有:0x01~|
|各階層の登録番号&br()(階層の数分だけ登録)&br()&bold(){※下位階層が有る場合のみ有効}|0x??~0x??|
|エントリ総数&br()※2セット1組|0x??|
|エントリ名&br()※エントリ総数が1以上の場合|0x??|
|エントリデータ&br()※エントリ総数が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|上部に突き出る領域&br()(ex... b、d、h、k)|
|FontDescender|下部に突き出る領域&br() (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)
#comment
表示オプション
横に並べて表示:
変化行の前後のみ表示: