Thread: OpenZone 4.0
View Single Post
  #4  
Old 07-04-2004, 04:51 AM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

While OpenZone uses the MSH file format when you're using it, when you export a zone to .S3D it converts any MSH objects you've placed to .WLD. Let me see if I can calrify things a bit.

Objects are *defined* in the <zone>_obj.s3d archives, in <zone>_obj.wld. A typical object definition consists of the following fragments:

- For every texture, there will be a 0x03, 0x04, 0x05, and 0x30 fragment. If the same texture is used in multiple objects I don't know if there will be duplicate entries or not, but you should assume that there won't (shouldn't be a problem anyway).

- There will then be a 0x31 fragment that tallies all of the textures together for that object.

- Then a 0x36 fragment that defines the object's polygons.

- Then a 0x2D and 0x14 fragment. I'm not sure of their purpose.

It's possible that you could see other fragments as well, such as possibly a 0x37 fragment for flags that flap in the wind.


Objects are *placed* in the <zone>.s3d archive, in objects.wld. This file is very simple. For each object, you should see a 0x32, 0x33, and 0x15 fragment. The 0x32 defines any lighting that is to be applied to the object (e.g. if it sits in torchlight). The 0x33 is the reference fragment to the 0x32 and the 0x15 contains the placement and orientation info.

I agree that there are some problems with the documentation. We'll have to agree on some way to work the problems with it out and get it updated. If you have any problems, the file EQWldData.pas in the OpenZone source should help. It should be more current than the documentation.

WC
Reply With Quote