fuk リパック

fuk はアンパックした状態ではゲームが起動しない?ようなので
リパックする必要があります。

global.res(翻訳データ)リパックの仕方

global.res を data1.fuk にリパックする必要があります。

data1\locale\enus\global.res FileSize:190255, OrgFileSize:763086, Num0:701953, FileIdx:1371, FileOffset:7760670

これをもとにリパックしていきます。

まず、翻訳済みデータ global.res を data1.fuk の末尾にアペンドします。

アペンドする前の data1.fuk の末尾
09E6BF50: 87 E6 7F 03 55 79 07 CD 00 00 00 00 00 00 00 00

なので09E6BF60に global.res をアペンドする。
アペンドしたら末尾は上記の 09E6BF50 のように末尾まで XXXXXXXF まで 00 でパディングしてください。

0x9E6BF60  この値が新しい FileOffset になります。

翻訳済み global.res のファイルサイズを見ます。763,058 バイトだとします。

これからやることは上記のログを下記のようにするイメージ
data1\locale\enus\global.res FileSize:763058, OrgFileSize:763058, Num0:701953, FileIdx:1371, FileOffset:9E6BF60

まず FileSize 関連の変更

OrgFileSize:763086(0xBA4CE), FileSize:190255(0x2E72F)
LittleEndian で u32 なので CE A4 0B 00 2F E7 02 00 となるのでこのデータを検索して
global.res のファイルサイズ763058(0xBA4B2)から
B2 A4 0B 00 B2 A4 0B 00 に置き換える。
これで FileSize と OrgFileSize が変わった状態

次に FileOffset:7760670 を FileOffset:9E6BF60 に変更する。

offset は 0x7760670 / 0xF = 0x776067
67 60 77 00 の状態で格納されているのでこの値で検索、先頭データから検索する方が良いでしょう。
そこを 60 BF E6 09 に変更

これでリパックは完了です。

この状態だとフォントが置換されていないため豆腐で表示されると思います。


フォント置換

フォントは logic.fuk の locale\enus\font01.ttf と locale\enus\font01b.ttf を置換すると良い。
やり方は global.res と同じような感じ

これでも不具合が出る場合は logic.fuk locale\enus\font02.ttf
どこにあったか忘れましたが font00.ttf あるいは glyph_lib.swf も置換すると良くなるかも。