解析

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
字幕やフォント関係は text_default.sds に格納されている

構造
text_default.sdsの構造
  • fonttexture.dds - フォントテクスチャ
  • fonttexture.XML - フォント設定
  • ミッション名.bin - 字幕(ミッション)
  • TextDatabase.dat - 字幕(その他)
  • TextIconsMap.dat - ???

ミッション名.bin, TextDatabase.dat
字幕が格納されている。エンコードはUTF8。
テキストエディタで普通に読み書きできる。
(メモ帳でも可能だが、推奨はしない)

※未確認
日本語はUTF8にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、
ゲーム側がマルチバイト文字を認識できるか不明。
できない限り読み込み不可能。文字化けししてしまう。

9/4深夜現在、フォントテクスチャ自動生成ツールの作成中。

XMLについて

ファイル構成情報として、ヘッダ、ファイルパス?、???がある。
これらを抜かした区切りの値が先頭アドレス。

9/4深夜現在、XML閲覧ツールから編集ツールへ格上げしました。
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。

構成

主に2つから構成される(ヘッダは除外)
  1. テーブル
  2. アドレス情報

テーブル

様々な情報が記述されている
概要 byte数
文字列の終点 1 0x00
改行? 8 0x04

アドレス情報

どのようなテーブル構成になっているかを決める。
テーブル情報のアドレスをオフセットで格納。
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行をロード
  2. 1文字分の文字コード認識
  3. fonttexture.XMLから該当の設定を読み込み
  4. フォントテクスチャ(各々の座標)からロード、画面に表示

字幕の内容(英語字幕→日本語字幕については)ここ

  • 何も出来ないけど支援;; -- 名無しさん (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)
名前:
コメント:

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

記事メニュー
人気記事ランキング
目安箱バナー