2013年8月15日木曜日

画像変換の学習

うらうらツールの画像変換、僕も使ってました。木とかサボテンを切り株に変換して動きやすくするために。

ところが、復帰してみたら使えなくなってました><
mulフォーマットがuopフォーマットに置き換わって、もうmulフォーマットでのアップデートはしないみたい。
なので、InsideUOなんかはもう動きませんね。
その後継ツールとしてのUoFiddlerは対応している模様。
UoFiddlerでart.mul/artidx.mulの内容を見ると、なるほど、過去のインデックス最大値だった0x3ffe(だったかな)の馬以降にもグラフィックが追加されています。要するにインデックス容量が足りなくなったので、(開発陣としては仕方なく?)フォーマット変更に踏み切ったというところでしょうか?

ではどうしたら?とちょこっと調べてみると
こちら
のLegacyMULConverter-v4.rarを利用しろ、ということらしいです。
幸いにも、ソース付きです^^
さすがRunUO!!!

ちょろっとソースコードを斜め読みしたところ、uoclistにも利用できそうです。


さて復習。

mulフォーマットの仕様はこちら
artidx.mulのフォーマットを抜き出すと
3.2 ARTIDX.MUL
This file contains an index into ART.MUL. To load a specific tile number in ART.MUL, simply seek BNum * 12, read in the index tile data and use Lookup to find the tile within ART.MUL.
ARTIDX.MUL
Index Record (12 bytes)
0123456789AB
LookupSizeUnknown
DWORD Lookup - Is either undefined ($FFFFFFFF -1) or the file offset in ART.MUL
DWORD Size - Size of the art tile
DWORD Unknown - Unknown

うろ覚えなんだけど、artidx.mulのファイルサイズは12*0x4000で固定値、0から順番にインデックスを割り振り、各インデックスのバイト数は12、先頭4バイトがart.mulに格納されている画像データのオフセット値(上記Lookup)、次の4バイトがデータサイズ(Size)、になる。

なので、mulフォーマットベースで単純に切り株変換したい場合には、artidx.mulのLookupを変換させたい画像のオフセット値に書き換え、Sizeを変換させたい画像のデータサイズに書き換えるだけでよい、だったよな~?

あとはどうやって変換作業を実施するかだなぁ。うらうらツールと同じようにGUIで作業できることが理想だけど、無理っす><単純に被変換/変換のIDを書いたテキストファイルを実行時に読み込む、でいいよね???

0 件のコメント:

コメントを投稿