09/02/04 23:44:10 zNe5eJe0
>>846
infolibの収容可能タイトル数よりも収録するタイトル数が小さければOK。
公式は、4000タイトル収容可能としながら、2437個しか有効なデータがないし、
ボヤッキーのツールの収容可能タイトル数は、かなり適当。
xml2datは、16に満たないと16にしたり、16を超えると偶数になるようにしたり、
InfolibMerge.ndsでは、偶数にするだけだったり、とね。
このあたりは、あまり意味がないので、調べない方がいいよ。
.LIBは、収容可能タイトル数を4に設定して、1個しか吐き出さないし。
TTMENU(ttpatch)では、infolibの収容可能タイトル数だけGameIDとCRCを比較して
一致すれば、その時点でパッチ情報を使用するにように動くし、収容されている
タイトル内で不一致ならパッチ解析を実行するというだけ。
FFFFFFFFがGameIDにあれば、そのデータは確実に不一致になるので、無視すること
になる。
で、指摘いただいた
| (収容可能なタイトル数*8)+0x100~
は、間違っていないと思う。説明不足はあると思うけど。
0x000 : シグネチャ
0x004 : バージョン?
0x008 : タイトル数(n)
0x00C : パッチデータ数
0x100 : No.1 GAME ID/CRC
0x108 : No.2 GAME ID/CRC
0x110 : No.3 GAME ID/CRC
....
0x100+((n-1)*8) : No.n GAME ID/CRC
0x100+(n*8)+0 : No.1 PATCH DATA
0x100+(n*8)+0x60 : No.2 PATCH DATA
0x100+(n*8)+0xC0 : No.3 PATCH DATA
.......
0x100+(n*8)+((n-1)*0x60) : No.n PATCH DATA
で、ファイルサイズは、0x100+(n*8)+(n*0x60)バイト
No.1のGameID/CRCは、FFFFFFFFとしているけどね。結果的にNo.1のPATCH DATAは
無効としてFFFFFFFFを入れている。公式のinfolibが、そうしているからだけど、
理由がはっきりしないんだよね。
収容可能タイトル数を1にして、No.1に GameID/CRC やパッチ情報を入れただけ
でも動作するし。
もしかしたら、古いバージョンの互換性のために入れているだけかも?