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

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

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #8  
Old 12-27-2003, 02:59 PM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

I just uploaded the my source files to 0.5.3DR2 that have to be changed to make it compatible with ZoneProxy. You can get it at:

http://prdownloads.sourceforge.net/e...e.zip?download

I've been considering documenting what I know about .WLD files for a long time. It's definitely an overdue project, but I simply haven't had the time for it yet.

There are two major issues when dealing with .WLD files: the file format itself (that is, the overall file organization, including dealing with string locations, etc.) and fragment definitions. Documenting the fragment types will consume 99% of the document and is the most important part.

A .WLD file contains what are called "fragments" (that's what the original ZoneConverter source calls them--I have no idea who wrote it). A fragment is basically just a data structure, and there are two overall types:

- standalone fragments
- fragments that have a built-in reference to another fragment (such a fragment is a superset of a standalone fragment)

Fragments that reference other fragments are something like nodes in a linked list: they contain information that's related to another fragment, such that the client will want to be able to walk from one fragment to another. An example is animated meshes: there is a fragment that details basic mesh information, but if that mesh is animated it will contain a reference to another fragment that contains the additional animation stuff (actually there is a "glue" fragment that sits in the middle, kind of like an animation reference fragment--these "glue" fragments let data that takes a lot of memory be reused). Fragments can contain multiple such references, but the FragmentReference flavor always gives you one for free. Any others are specific to a fragment type.

Every fragment, whether standalone or otherwise, contains an ID value that tells the client its type. The highest ID I've seen to date is 0x37. That's not to say I've encountered every ID between 0 and 0x37, but there are a lot of different kinds of fragments. I've figured out most of the ones I've seen, though some are still a mystery. Others are only partially understood.
Reply With Quote
 


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 12:45 PM.


 

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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3