PDA

View Full Version : OpenZone: Making custom object files


Windcatcher
01-11-2005, 03:06 PM
This is a technique that was recently brought to my attention, and I decided to explain it here for any world-builders.

OpenZone is normally used to create custom zones, but it can also be used to create custom object files, such as total replacements for global_chr, gequip, etc. Replacing global_chr, for instance, has benefits because all objects in the file are available in all zones. Also, replacing these files would be good for the OpenEQ project since it provides a way to have object content files that are completely SOE-free.

The way to replace an object file is to create an empty zone and export it as a file with the same name (basically just start OpenZone and you're ready to go -- no land areas are necessary). For example, replacing global_chr would be done by exporting a "dummy" zone as zone "global_chr". Before exporting the zone you would add any objects to be included with the File...Properties dialog. This dialog presents you with a list of all .MSH objects OpenZone loaded from its /meshes subfolder. For each object you wish to include, select it and click "Add".

Once the list of objects to be added is complete, you should save your scene before exporting to .S3D. Even though the zone itself is just an empty "dummy" zone, the scene file will remember any objects you added in the popup. This lets you save your layout for the object file so you can add more objects later on without having to add them all over again.

The next step will require the use of S3DSpy. If you exported your zone as "global_chr", for instance, OpenZone will have created three files: global_chr.s3d, global_chr_obj.s3d, and global_chr_chr.s3d. The objects you added will be in the global_chr_obj.s3d file, and in that file there will be a global_chr_obj.wld. You will have to rename the .s3d file to global_chr.s3d and use S3DSpy to rename the .wld file to global_chr.wld. Once this step is done, the file should be usable. Basically just look for the file that ends in "_obj" and change it to match the file you're replacing.