「解析」の編集履歴(バックアップ)一覧に戻る

解析 - (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にも収録されているが、マルチバイト文字であるため漢字の記述は可能であろうが、
ゲーム側がマルチバイト文字を認識できるか不明。
できない限り読み込み不可能。文字化けししてしまう。


8/24現在、日本語フォントを埋め込む作業中。


XMLについて

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

ヘッダ

※1 ExSDS 0.3 の場合
※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つから構成される(ヘッダは除外)
  1. テーブル
  2. アドレス情報

テーブル

様々な情報が記述されている
文字列の幅 任意byte
文字列の終点(1byte) 0x00
改行?(8byte) 0x04

アドレス情報

どのようなテーブル構成になっているかを決める。
テーブル情報のアドレスをオフセットで格納。
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行をロード
  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)
名前:
コメント:
記事メニュー
人気記事ランキング
目安箱バナー