C++ code, char(1 byte), short(2 bytes), int(4 bytes), float(4 bytes).
Ignore first 12 bytes. Next is "file version", "file revision" and "number of items". Then "number of items" times the item structure which can be seen below.
Code:
char cHeader[12]; // header
char cVersion[8]; // file version
short iRev; // file revision
short iItems; // number of items
typedef struct item {
short iNameL; // name size
short iNameL2; // name size again
char* pName; // name
short iIndex; // item index number
short iAttack;
short iDefense;
int iPrice;
short iFLevel; // find level
short iFPercent; // find percent
float fAbLevitate; // abilities
float fAbInvisible;
float fAbSeeInvisible;
float fAbProtect;
float fAbCriticalHit;
float fAbBackstab;
float fAbBurn;
float fAbFreeze;
float fAbPoison;
float fAbAcid;
float fAbElectrocute;
float fAbStone;
float fAbBehead;
float fAbModifyHits;
float fAbModifySpells;
float fAbSpellstrike;
float fAbU1;
short iSwings;
short iSpecial;
short iSpellSeq;
short iSpellID;
short iUses;
char cU6[2];
int iGuilds; // Art = 1, Warr = 2, Pal = 4...
short iLevel;
float iPower;
int iAlign; // u=1, g=2, n=4, e=8 (add together for diff combinations)
short iHands;
short iClass;
short iRFire; // resists
short iRCold;
short iRElec;
short iRMind;
short iRDisease;
short iRPoison;
short iRMagic;
short iRStone;
short iRParalysis;
short iRDrain;
short iRAcid;
char cU2[2];
short iStr; // stat requirements
short iInt;
short iWis;
short iCon;
short iCha;
short iDex;
char cU3[2];
short iStrM; // stat modifiers
short iIntM;
short iWisM;
short iConM;
short iChaM;
short iDexM;
char cU4[2];
short iCursed; // 0 = not cursed, 1 = cursed, 2 = auto equip cursed
short iSLevel;
short iClassR;
float iMHum; // monster modifiers
float iMSli;
float iMDem;
float iMDev;
float iMEle;
float iMRep;
float iMDra;
float iMAni;
float iMIns;
float iMUnd;
float iMWat;
float iMGia;
float iMMyt;
float iMLyc;
float iMThi;
float iMMag;
float iMWar;
float iMInd;
float iMU1;
float iMU2;
float iMU3;
short iGuildItem; // is it guild item?
short iInfo; // info text index
short iSMod1; // special modifiers
short iSMod2;
short iSMod3;
short iSMod4;
char cU1[38]; // only sound info left
} item;