Hey!
Notice: After almost getting bitchslapped by a friend of mine for using int where it should be int im going to change the definitions, i dont have time right away tho so please use the ints ive posted as ints.
This is what ive found so far (notice that i start counting at 0 and U# are unknown values):
Quote:
int isValid = 0; // 0-3
int ItemID = 0; // 4-7
String ItemName = ""; // 8-47
byte lvlReq = 0; // 48
String Icon = ""; // 49-88
byte U2 = 0; // 89
byte U3 = 0; // 90
byte U4 = 0; // 91
int ItemPrice = 0; // 92-95
int DiscountPrice = 0; // 96-99
int usedPrice = 0; // 100-103
byte shopFlag = 0; // 104
byte moneyFlag = 0; // 105
byte timeFlag = 0; // 106
byte timeByte = 0; // 107
int Point = 0; // 108-111
short fYear = 0; // 112-113
short fMonth = 0; // 114-115
short fDayOfWeek = 0; // 116-117
short fDay = 0; // 118-119
short fHour = 0; // 120-121
short fMinute = 0; // 122-123
short fSecond = 0; // 124-125
short fMSecond = 0; // 126-127
short tYear = 0; // 128-129
short tMonth = 0; // 130-131
short tDayOfWeek = 0; // 132-133
short tDay = 0; // 134-135
short tHour = 0; // 136-137
short tMinute = 0; // 138-139
short tSecond = 0; // 140-141
short tMSecond = 0; // 142-143
This seems to be the basic structure of the .iff-files. 144 bytes telling us: id, name, shopflags etc.
The above is true for all files except:
CadieMagicBox.iff
CadieMagicBoxRandom.iff
CutinInfomation.iff
Description.iff
FurnitureAbility.iff
Match.iff
OfflineShop.iff
TikiPointTable.iff
TikiRecipe.iff
TikiSpecialTable.iff
byte 4-7 is a bitmask with the following values (its just my guess):
Quote:
I would print all 1's and 0's but it will take too much space.
Character ID: (itemID & 0x03fc0000) >> 18
Item Group: (itemID & 0xfc000000) >> 26
Item Type: (itemID & 0x001f0000) >> 16
Item Position: (itemID & 0x0003e000) >> 13
Item Serial: (itemID & 0x000000ff)
byte 104 (called shopFlag above):
Quote:
Tiki Report Paper, total value: 2
bit-value 128: 0
bit-value 64: 0
bit-value 32: 0
bit-value 16: 0
bit-value 8: 0
bit-value 4: 0 // Coupon?
bit-value 2: 1 // Non-giftable?
bit-value 1: 0 // Giftable?
This item has bit-value 2 as 1, "Time Booster" does not. This item is non-giftable but buyable. "Time Booster" is giftable and buyable.
byte 105 (called moneyFlag above):
The data about start and end dates conform to this struct(SYSTEMTIME structure):Quote:
Tiki Report Paper - 19
bit-value 128: 0
bit-value 64: 0 // Banner: Special?
bit-value 32: 0 // Banner: Hot?
bit-value 16: 1 // Banner: New?
bit-value 8: 0
bit-value 4: 0 // Display only?
bit-value 2: 1 // Pang = 1, Cookie = 0?
bit-value 1: 1 // Show up in shop?
Spoiler:
The following is the "extra" bytes apart from the ones above OR the whole structure if the file is found in the list above.
AuxPart.iff:
Ball.iffQuote:
Spoiler:
Caddie.iffQuote:
Spoiler:
CaddieItem.iffQuote:
Spoiler:
CadieMagicBox.iffQuote:
Spoiler:
CadieMagicBoxRandom.iffQuote:
Spoiler:
Card.iffQuote:
Spoiler:
Character.iffQuote:
Spoiler:
Club.iffQuote:
Spoiler:
ClubSet.iffQuote:
Spoiler:
Course.iffQuote:
Spoiler:
CutinInfomation.iffQuote:
Spoiler:
Description.iffQuote:
Spoiler:
Furniture.iffQuote:
Spoiler:
FurnitureAbility.iffQuote:
Spoiler:
HairStyle.iffQuote:
Spoiler:
Item.iffQuote:
Spoiler:
Mascot.iffQuote:
Spoiler:
Match.iffQuote:
Spoiler:
OfflineShop.iffQuote:
Spoiler:
Part.iffQuote:
Spoiler:
QuestDrop.iffQuote:
Spoiler:
Skin.iffQuote:
Spoiler:
TikiPointTable.iffQuote:
Spoiler:
TikiRecipe.iffQuote:
Spoiler:
TikiSpecialTable.iffQuote:
Spoiler:
Quote:
Spoiler:
Remember that me myself has named the variables, its just my thought on what its for!
I will report back with the rest of the bytes for the rest of the files later today.

