Log in

View Full Version : Question About Parsing The Items Raw_Data Blob


LothanEQ
07-14-2003, 12:45 PM
Hello,

I've been toying around recently with the items raw_data blob trying to parse it out to a normalize database structure. I've ran into few questions though and hoped someone here might know the answer or where to point me to. I checked out the item struct in EQEmu Admin and it was very handy in helping to figure out what each byte was. I'm looking for the following:

1) A list of the numerical values for each race and class is

2) A list of the numerical values for each weaponskill

3) A list of the numerical values for each food/drink size.

What I mean is like this is for slots:

0000000 = None
0000004 = Head
0000008 = Face
0000018 = Ear
0000032 = Neck
0000064 = Shoulders
0000128 = Arms
0000256 = Back
0001536 = Wrist
0002048 = Range
0004096 = Hands
0008192 = Primary
0016384 = Secondary
0098304 = Finger
0131072 = Chest
0262144 = Legs
0524288 = Feet
1048576 = Waist
2097122 = Ammo

Anyway, thanks for any help you can offer. My head hurts as it is from looking at this data, some of which is strange.

Merth
07-14-2003, 01:07 PM
Grab the source code from CVS. In eq_packet_structs.h, you will find the blob layout for items in Item_Struct.

For class/race numbers, see races.cpp/classes.cpp.

For skills and sizes, you will likely find #defines for each of those someplace in the code, but I don't know offhand.

However, the code currently in CVS does not reflect what will soon be in CVS. The item struct specifically will be changing. You may want to wait a couple of days before grabbing CVS.

LothanEQ
07-14-2003, 02:10 PM
Thanks Merth!

I was able to get the race/class listings from the source. I'll look for the other lists at a later time.

LothanEQ
07-16-2003, 04:38 PM
Was the item structure changed with the CVS release that was made today? If not, I don't want to download it yet is why I'm asking.

Thanks!

Merth
07-16-2003, 04:56 PM
Yes, CVS now has the latest item struct.

LothanEQ
07-18-2003, 01:25 AM
Ok, I grabbed the CVS and looked over the new struct. Lots of changes there.

Now, please bear with me because I'm still a noob here.

My next question is, does anyone have the items.db blobs already converted to this new structure?

krich
07-23-2003, 06:05 AM
I'm looking at the structs as well so that I can hack together a blob converter for myself so I can work with items on my dev server. If it actually works well, I might hand it over...but chances are it'll be ugly and bug ridden.

My question is this:

In the older struct, you can reference the flag variable in the struct to determine whether the item is a common, container or book type. I don't see a "flag" variable in the newer struct.

How does one tell which of the (common, container, book) types to use in the new struct?

Regards,

krich

LothanEQ
07-25-2003, 12:41 AM
Actually, as far as I can tell, the "flag" isn't really that. I'm parsing the BLOB from this (EQEmu-0.4.4-DR1+Telmet-DB-Test) and the so called flag is useless. The IDFile is 1 byte short too, so it's actually part of the 2 bytes making up the "flag" column.

You want to look at offset 178. It should be an INT8 and will return:

'0 = Normal
'1 = Container
'2 = Book/Note

In the new struct you are looking for:

/*0005*/ int8 Type;

I still haven't nailed down the entire real structure of the blob but I'm getting closer every day and should be finished up by Sunday. I'll drop another post in here with my conclusions when I'm done. I do know a lot of the datatypes are wrong.

Something interesting too, the "Material" column is only valid if an item has an RGB value. It's the "texture" or look of an item when worn...like Cloth, Leather, Chain, Plate, FBR...and so on.

But anyway, like I said, I'll get you the final struct soon.

krich
07-25-2003, 10:57 AM
Excellent, thanks for the good info.

Regards,

krich

devn00b
07-25-2003, 12:50 PM
could always open and look at kaydoo's (spell check there) item editor source...it would tell you what is what rather fast.

mutombo
08-06-2003, 03:04 AM
does anyone already has an item converter ?
would be very nice to put it public :)