続リパック
注意:
name_offset が word なのでやはり簡単にオバーフローします。適当な実装では、やはり駄目ですなー
なので names が 0x10000 をオバーした場合の処理 name_block をまたぐ処理をきちんと実装する必要があります。
また Entry.number についてスクリプトとテキストは 0 でそれ以外は entry_size と同じと書きましたが、テクスチャー関連 d3dtx, font, particle はテクスチャーのオフセットを格納する。
テクスチャーのオフセットの算出はファイルのヘッダーが
magic: u32,
headder_size: u64,
data_size: u32,
となっているので ファイルサイズ - data_size でオフセットを算出できる。
注意:
name_offset が word なのでやはり簡単にオバーフローします。適当な実装では、やはり駄目ですなー
なので names が 0x10000 をオバーした場合の処理 name_block をまたぐ処理をきちんと実装する必要があります。
また Entry.number についてスクリプトとテキストは 0 でそれ以外は entry_size と同じと書きましたが、テクスチャー関連 d3dtx, font, particle はテクスチャーのオフセットを格納する。
テクスチャーのオフセットの算出はファイルのヘッダーが
magic: u32,
headder_size: u64,
data_size: u32,
となっているので ファイルサイズ - data_size でオフセットを算出できる。
コメント