well pp file on HM ANB and SOS is always have extra file is always an blank files and have size 8 byte (on last file). I don't know the specific reason, but is seems be used on their ItemData system is called on script or just prevent system.
today, i poking around on shop data, ANB and SOS is have different structure since is different purpose too.
on ANB have 6 Config STR :
- ShopAnimal
- ShopBlendFish
- ShopBlendFlower
- ShopFood
- ShopItem
- ShopTrade
on SOS have 2 kind of Config STR :
- BasicData
- OneItemData (only different on config STR and more smaller 8 byte than basicData without CSTR)
is tricky to identify each config since is only have start offset of CSTR, basically config file is always have this structure :
- 0x00 : Data Lenght
0x04 : Config Value Count
- 0x08 : Start Offset Config STR, other rest is depend on what CSTR. // not have identifier STR so you can't called that by their ID STR but with their aliases (filename).
- 0x0c : second config data, it will be used end offset of config STR if is have any data after config STR. Second data after CSTR.
on SOS, shopdata structure is more complex but simply than on ANB. On SOS, each data is on item shop, and on ANB is group of item STR.
ShopData structure on SOS :
- 0x0c : Item ID (from ItemList.xbb) // uint
0x10 : Price // uint
0x14 : Spring Flag (Shop) // 1 yes, 0 no
0x18 : Summer Flag (Shop) //^
0x1c : Fall Flag (Shop) //^
0x20 : Winter Flag (Shop) //^
0x24 : Conquest Flag (Unlocking Criteria) // uint
0x28 : Year Flag (Unlocking Criteria) // uint
0x2c : Season Flag (Unlocking Criteria) // uint, 0 = spring ~ 3 = winter
- 3 * 20 byte for additional condition
- Extra 2 byte for BasicData STR, is only for min and max stock.
and for ANB, is have simple structure so no need to explain in here. and i notice fogu.com/sos1 on general store page is have 3 item is missing on her list. i have darc, pp, xbb un/packer, and tarc (only unpacker) but not ready to release yet. i still no have time to figure out about uniqueID on XBB file.
so far my test for shopdata is seems working added normal item, but i still need to check about additional condition (since is related to another file and script), is take more time.