Ok, whew... after forcing myself to endure figuring this stuff out, I think I finally have a clue - but as with all other things I learn, it takes brute-force to get it through my thick skull =) I'll bore you with it only because I made so much noise about it, I want to explain how I am validating that things actually are PERFECTLY OK and not all gloomy as I had hoped -- er, I mean thought... anyway. In order for my brain to accept the SpawnStructs, I had to lay them out visually. I had to do the same thing before trying to understand the EQEmu's playerpacket structs, so luckily I had some old code to use!
What my problem was, was "all of a sudden" it appeared that some data values were not parsing correctly. So in order to ensure both the structs and parser were correct, I had to find various data in the unpacked packet, so I could visually SEE it was not bad. And after much effort, I have found that the Collector is collecting chest_type_id and legs_type_id as FF FF, but only on some mobs - so that tells me there is NOTHING WRONG... and I need to ignore this odd value.
LE showed me that pos_size has changed on SOE's side, yet I do not know if we have support for it in the emulator, since spawns that should be small, are not. I do not see new fields in the DB to support ratio and multiplier.
Is this something we need? Or should our -populate be converting the new SOE size format into 'size'? If this is support to be coming soon, can we get it sooner than later? It is playing hell on my data cleanup efforts (2 weeks spent trying to determine if data is bad or not).
Just so no one else does this for me, I wrote a PHP script to 'parse' the unpacked packet (currently version 864 structs only, as I was testing with a 910 log).
Code: Select all
0: AD E9 6E 65 9A 99 80 C3 - D7 A3 30 40 5C 0F 3E 43 | ..ne......0@\.>C
16: 00 00 00 00 00 00 00 39 - 00 39 00 00 80 40 00 00 | .......9.9...@..
32: 04 00 00 00 02 00 00 00 - 00 00 00 00 00 00 00 00 | ................
48: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
64: 00 00 0B 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
80: 00 00 00 00 20 00 20 00 - 20 00 00 00 FF FF FF FF | .... . . .......
96: 00 00 00 00 00 00 03 01 - 00 00 16 00 00 00 00 00 | ................
112: 00 00 00 00 64 00 00 00 - 00 00 00 00 00 00 00 00 | ....d...........
128: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
144: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
160: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
176: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
192: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
208: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
224: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
240: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
256: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
272: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
288: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
304: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
320: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
336: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
352: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
368: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
384: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
400: 00 00 00 00 00 00 03 01 - 01 03 01 00 02 04 00 00 | ................
416: 00 00 00 00 00 00 00 00 - 00 00 00 00 93 1C 93 1C | ................
432: CC CC CC CC CC CC E5 E5 - 66 CC CC CC CC CC CC E5 | ........f.......
448: E5 66 00 00 00 00 00 00 - E0 18 00 00 00 00 00 00 | .f..............
464: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
480: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
496: 00 00 00 00 6D 04 00 00 - 00 00 FF FF FF FF 6D 04 | ....m.........m.
512: 00 00 FF FF FF FF FF FF - FF FF FF 1A 3F 1A FF FF | ............?...
528: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
544: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
560: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
576: FF FF FF FF FF FF FF FF - FF FF 00 00 00 00 00 00 | ................
592: 00 00 00 00 00 00 FF FF - FF FF FF FF FF FF FF FF | ................
608: FF FF FF FF FF 2D 2D 2D - FF FF FF FF FF FF FF FF | .....---........
624: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
640: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
656: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
672: FF FF FF FF 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
688: FF FF FF FF FF FF 00 00 - 00 00 00 00 00 00 00 00 | ................
704: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
720: 00 00 00 00 00 00 00 00 - 00 00 0B 00 00 00 00 00 | ................
736: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
752: 00 00 00 00 0B 00 00 00 - 00 00 00 00 00 00 00 00 | ................
768: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
784: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
800: 00 0C 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
816: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
832: 32 33 00 00 00 00 00 00 - FF 01 00 00 00 00 CD CD | 23..............
848: CD CD CD CD CD CD CD CD - CD CD CD CD CD CD CD CD | ................
864: CD CD CD CD CD CD CD CD - CD CD CD CD CD CD CD CD | ................
880: CD CD CD CD CD CD CD CD - CD CD CD CD CD CD CD CD | ................
896: CD CD CD CD | ....
So if you paste this unpacked stuff into the box, you can see the data (except for the huge arrays that I am not interested in atm).
Long story short... aside from the Size issue, I don't think anything is "broken". RoK+ data is just not going to be exactly like Live, since the chest/legs data is either correct, or FF FF (65535) which may actually mean 0, I dunno. But I'm done worrying about it, and hopefully will have the 3 remaining newbie areas spawned this weekend.