Thread: Fragment 0x22
View Single Post
  #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