2012年4月23日月曜日

scaleformのフォント (2)

Costume Questで日本語フォントの文字間隔がおかしかったので、フォントに関して再度調べた。以前書いたscaleformのフォントに間違いがあった。

DefineFont2やDefineFont3タグで指定されているascent、decent、leadingは基本オリジナルの物をそのまま使う。(置き換える日本語のものを使わない。)

ascentは文字のbaselineから文字の上端までのサイズ、descentは、baselineから文字の下端までのサイズ、leadingは、文字行間のサイズ。




必要に応じて調整する。

2012年4月17日火曜日

Legend of Grimrock (3)

1byteコード対応しかしてないと書いたが間違いだった。LuaJIT自体はUTF-8に対応している。
LoGでは、LuaJIT 2.0.0をそのまま使っており、エンジンとしてはUTF-8が扱える。
ただし、テキスト描画処理部分でマルチバイト処理していないので、バイトコードにコンパイルされたluaスクリプトを書き換えないと日本語は表示できない。

TrueType自体は、日本語フォントに差し替えることができる。




2012年4月14日土曜日

Legend of Grimrock (2)

公式でファイルリストを作成しているスレッドがあった。

http://www.grimrock.net/forum/viewtopic.php?f=3&t=905&start=10

そのリストを使ってunpack/repackできるように更新した。

LoGtool

XentaXにもGUIのツールがあったので、そっちの方が使いやすそうだけど。。。。

どうも、正しいファイル名で展開できたものは、ゲームディレクトリに配置すれば、datより優先的に読むらしいけど、自分はまだ成功していない。

ファイル名が判明したので改めて確認。

luaスクリプトは大半がluaJITでコンパイルされていて、そのコードの中にテキストは直接埋め込まれてた。スタートアップのデベロッパーだし、ハードコードして完成を優先させたってとこだろうか。

レベルデータもコンパイル済みだが、エディタで開くとマップが丸わかりだった。

あと、最初に書いたスレッドでConsoleを取るスクリプトも公開されてた。

2012年4月13日金曜日

Legend of Grimrock

grimrock.datのunpack/repackツール完成したので公開。unpackしたファイルのファイル名が分からないため、現状は、各ファイルに付いていたIDをファイル名、ファイルのヘッダから種別を判定して、拡張子をつけています。

LoGtool

アンパックデータを確認。

ただ、パックされたファイルのオリジナルのファイル名を復元する方法はわからない。たぶん、ファイル名やパスからハッシュを生成してファイルIDとして活用していると思われるが、そもそもファイル名なのかパスなのかリストがないので、確認が難しい。IDが4バイトなのでCRCかと思って試したが合わなかった。

日本語化について現状は難しそう。。。

分かっていること:

  • フォント
    フォントは、tgaファイルのフォントテクスチャを使う形と、TrueTypeフォントをfreetypeライブラリで動的にラスタライズする方式の2つを使っている。
    tgaの方は、メニュー画面等でマウスオーバーで光る凝った文字
    TrueTypeは、オープニングやインベントリなどの各所で使用されている白文字(4種類ある)
  • マルチバイト対応
    基本的に1byteコードにしか対応していない。さらにスクリプト内でASCIIコードを32-127以外弾いている。これはスクリプト修正すれば0-255で問題ないかな。
    スクリプト言語にluaを採用しているが、そもそもluaがマルチバイト対応していない。テキスト描画部分がluaで書かれている。
  • テキスト
    アンパック後のバイナリファイルのあちこちにバラバラに点在している。このファイルをそれぞれアンパックしないとならない。
一応TrueType入れ替えは試したもののエラーで起動せず。ファイルサイズの問題なのかマルチバイトのせいなのかはわからない。
LoGについては、AHはマルチバイト圏へのローカライズは、はなから考えてないんじゃないかという感じに思える。

でも、スクリプトやその他のデータを眺めているとMODについてはいろいろできそうな感じ。マップレイアウトと思われるデータもあった。。

2012年4月6日金曜日

Stacking

~hと~pの2種類のファイルのパック。~hがインデックスで、~pがデータ本体。
データは、非圧縮とzlib圧縮の2種類を使い分け。
~hは今まで見たことがないほど、変態的なフォーマット。
フォントは、scaleform。テキストデータは、UTF-8テキスト。





開発元が同じDouble FineのCostume Questもほぼ同じパッケージ形式で、scaleform採用っぽいので、日本語化可能のはず。

Unpack/Repackツールはほぼ完成。テキストのUnpack/Repackも作ったので公開予定。勢いで翻訳シート作成。

翻訳シート

もう少し、整理できたら https://sites.google.com/site/jpmodfiles/home へ移動。

でも、このゲームほとんど話題にならないな。

Mass Effect (4)

軽量版フォント。

ME1日本語フォント(2012/04/05版)

とにかく、サイズを小さくすればその分軽くなるのは分かったので、文字数を通常使わない第二水準漢字とSFものには使わないだろう漢字をごっそり、削除。

さらにフォントによってもかなりサイズが変わるので、比較的データが小さくなるIPAexフォントのゴシックに変更。

一番小さくなるのはMSゴシックだが、さすがに配布できないので、IPAex版のみ。

ほぼ気にならない状態にするにはサイズで800kくらい。文字数だと2000字。。。無理。