Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Tools

Archive::Tools Archive area for Tools's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-11-2004, 08:03 AM
daeken_bb
Discordant
 
Join Date: Mar 2003
Location: Chambersburg, PA
Posts: 469
Default Fragment 0x22

Well, I've been working on my handler code for this fragment for a while now, and I'm completely lost. I parse it according to the docs, but 1) size3 and 4 are both 0 and size6 is 1, and 2) data6 has string lengths in the negative hundred millions. This fragment confuses me quite a bit, so I was wondering if i could get some pointers as to where to look in the OpenZone/$OTHER_CODE source.

Thanks, and happy hacking.
Lord Daeken M. BlackBlade
(Cody W. Brocious)
__________________
Keep me unemployed and working on OpenEQ, PM me about donating

Check out my deviantART page at http://daeken.deviantart.com/
Reply With Quote
  #2  
Old 07-11-2004, 09:55 AM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

Take a look at EQWldData.pas in the OpenZone source. It loads the 0x22 fragment correctly.

WC
Reply With Quote
  #3  
Old 07-11-2004, 10:26 AM
daeken_bb
Discordant
 
Join Date: Mar 2003
Location: Chambersburg, PA
Posts: 469
Default

Well, I am looking through it and comparing it to my source... and I've found something. The docs say that 0x181 in the flags field means there are polygons in the region, yet you see if flags & 0x101 != 0 and say that the fragment configuration isn't known... any idea on how to handle these?
__________________
Keep me unemployed and working on OpenEQ, PM me about donating

Check out my deviantART page at http://daeken.deviantart.com/
Reply With Quote
  #4  
Old 07-12-2004, 11:55 AM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

I think that code is a holdover from the old ZoneConverter days. This code comes mostly from an old C program called ZoneConverter, which someone else wrote (I have no idea who, but I found it somewhere on the EthernalQuest site -- I think). I thnk that's where it comes from (shrug).

WC
Reply With Quote
  #5  
Old 07-21-2004, 04:01 AM
sandy
Hill Giant
 
Join Date: Oct 2002
Posts: 212
Default

for 0x15 fragments :

I have this working but it is not like explained in your documentation wind =( :

Code:
bool Data15::Decode(Buffer & buffer)
{
	Clear();

	if(!EQWldDataFragment::Decode(buffer)) 
		return false;

	EQWldDataFragmentWithReference::Decode(buffer);

	flags     = buffer.GetDWORD();

	fragment1 = DecodeFragmentReference(buffer);

	x     = buffer.GetFLOAT();
	y     = buffer.GetFLOAT();
	z	  = buffer.GetFLOAT();
	rota_z  = buffer.GetFLOAT();
	rota_y	= buffer.GetFLOAT();
	rota_x	= buffer.GetFLOAT();
	buffer.GetFLOAT(); // always 0
	scale_y = buffer.GetFLOAT();
	scale_x = buffer.GetFLOAT();

	fragment2 = DecodeFragmentReference(buffer);

	if ( flags == 0x32E )
		params2[0] = buffer.GetDWORD();
	else 
		params2[0] = 0;

	return buffer.AtEnd();
}
it seems that if the flag value is 0x32E params2 exists else it doesn't exist
other flag values i have seen are 0x22E and 0x2E

0x2E is for the unique 0x15 fragment in the main zone file
but 0x22E and 0x32E appears in objects.wld files for placeable objects, it depends of the zone

now i can load all the zones but i still have problems with new format textures, those zones appear really ugly lol
__________________
Sandy
Reply With Quote
  #6  
Old 07-22-2004, 08:51 AM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

I did some digging and I think you're right about the 0x15 fragment. It looks like Params2 only exists if (flags & 0x100) != 0. I've updated the document accordingly. I hope to release something tonight. I have most of the older models rendering properly but none of the newer ones. I suspect it might have something to do with rotation order but that's a guess.

WC
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:29 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3