Windcatcher
01-01-2004, 06:37 PM
(deep breath)
After finally getting tired of staring at it any more, I've finally released OpenZone 2.6, plus lots more textures and three sample zones (including .S3D files) that you can try with ZoneProxy and a properly set up server.
You can get OpenZone 2.6, the texture packs, and the zone pack here:
http://sourceforge.net/project/showfiles.php?group_id=41381
The textures are listed under "OpenZone Textures 1.1". There are three .ZIP files. Make sure to get the texture packs. The masks file is for people who want to make their own textures: it contains the mask and heightmap bitmaps I used to make my textures.
The zone pack is located under "OpenZone Sample Zones 1.0". It contains two outdoor zones (source and .S3D) that you can play with.
I've made so many changes to OpenZone since 2.5 I'm almost not sure where to begin with what's new. Here goes...
1. PLACEABLE OBJECTS. You'll be able to export anything you create as a static mesh, and OpenZone will maintain your mesh library in a /meshes subfolder. There is a button on the main window that pops up a list and 3D view that lets you select a mesh from the library, and you'll be able to place as many as you like with a single keystroke (Ctrl-M). I've created a ton of meshes already and they ship with OpenZone 2.6. Be warned, though: the client doesn't properly display placed objects with too many polygons (around 1500). OpenZone will warn you if you're over the limit.
By placed objects I mean objects that go in the <zonename>_obj.s3d file and aren't part of the main zone geometry. Trees are a good example of this.
2. TREES!!! You can use the above method to place trees, but OpenZone has an even better way to put them in your zone. The overhead texture painter has a tab for placing meshes with single mouse clicks, and it has extra controls for making trees look nice (checkboxes that let it slightly vary the object's size and angle--trees don't all grow perfectly vertical, you know). It gives you a list of all mesh types in your library and highlights all meshes of that type with a certain color. You can add or delete mesh objects from there or move them around. It even supports selecting multiple objects by dragging a rectangle around them.
3. MESH GRAVITY. All objects that were placed using the mesh library have a "gravity" setting. This means that, when gravity is TRUE, meshes will automatically affix to the ground height and sink such that there is no gap between them and the ground. They'll also move when the ground elevation is changed. Change your ground elevation, and all the trees you placed will adjust themselves automatically, for instance. You can turn off gravity for an object on the properties pane, and if you change an object's location when its gravity setting is ON, OpenZone will warn you.
4. LIGHT SOURCES. You'll be able to place light sources anywhere, and you can set the light color and radius for each one. One caveat, though: the EQ client does NOT do dynamic lighting; it's all static, which means that OpenZone has to precalculate which polygons are lit and which ones aren't at export time. It does this with some primitive raytracing to try to determine which polygons are lit and which are in shadow. It's not perfect, since it's limited to what the client can do, but the effect is pretty terrific nonetheless. One warning, though: the more light sources you add, the longer (much longer) it will take to export the zone to .S3D due to the necessary calculations. You can put light sources in groups, and, if you export a group that contains one or more light sources as a mesh, the light sources go along for the ride. This means that you can create things like lanterns and they'll come with their own light sources when you place them into your zones. I find that the lighting effects look best when the gamma correction is set to zero in-game. It makes night look really dark, but it's the most realistic.
5. GROUND WALK MODE. There is a checkbox on the main window that, when In fly mode, fixes you to the ground elevation when you move around.
6. PVP AREA SUPPORT. You can create PvP areas just like water and lava areas; the only difference is that PvP areas don't use textures like the other types do.
7. MASKED TEXTURES. Think trees: some areas are transparent and some aren't. I do this with 32-bit .BMP files that store transparency in the alpha channel, and I've added a menu item to the File...menu that will convert a .BMP file that has transparency represented as a single color to one of this type. Also, I found that the client will only do masked textures properly if the textures are all in .DDS (not .BMP) format. I found an open-source library that does this conversion nicely, and from now on OpenZone will automatically convert your textures to .DDS format when it builds .S3D files. The conversion takes place in memory and won't affect the textures on your hard drive: they will remain as .BMP files.
8. ENHANCED SCRIPTS. I've enhanced loads of scripts to give greater control over how the textures are mapped and I've added extra capabilities to some. This is mostly for creating placeable meshes that look good. The lowly box script is extremely powerful and versatile now, for instance.
9. NEW SCRIPTS. There are several new scripts I created that make creating objects easier, and a pair of scripts specifically for creating dungeon corridors. Take a look at them and experiment...
10. SAMPLE ZONE. I've created a simple dungeon zone and included it (source and exported .S3D files) with OpenZone 2.6. The source is there to show you how I built it and the .S3D files are there so you can try them out immediately. It requires the textures in the texture packs.
11. BUG FIXES. Lots of them. I've lost count of them all.
12. IMPROVED MOUNTAINIZE WIZARD. There is now a checkbox that lets you mountainize outward instead of inward, expanding the zone size in the process.
13. EXTEND ZONE WIZARD. This works like the mountainize wizard, but doesn't change the elevation. It lets you make the ground area of a zone bigger. The units it uses are elevation grid units: for instance, expanding it by 1 adds another row of elevation nodes to the ground mesh.
14. IMPROVED LIGHTING. I finally figured out how to properly set vertex normals, and so I removed the "phong shading" checkbox. The program also does a pretty good job of "rounding" the corners of ground areas so the ground looks less polygonal.
15. EXPANDED SCRIPTING LANGUAGE. If you look at the corridor script you'll see two new keywords: READONLY and HIDDEN. You can have scripts calculate useful information and return it back to the user as readonly parameters, which show up in a different color on the parameters palette. You can declare hidden parameters to use them as variables to make such calculations easier.
I'm not sure what else, I've done so much to the program since 2.5. 2.6 is light-years better by comparison. I hope you all like it--and USE it 8)
WC
Edit: Found a teensy bug and had to re-upload the program. If you downloaded it before 2:15AM EST, you should redownload OpenZone 2.6. Sorry for the inconvenience. It's ok now.
After finally getting tired of staring at it any more, I've finally released OpenZone 2.6, plus lots more textures and three sample zones (including .S3D files) that you can try with ZoneProxy and a properly set up server.
You can get OpenZone 2.6, the texture packs, and the zone pack here:
http://sourceforge.net/project/showfiles.php?group_id=41381
The textures are listed under "OpenZone Textures 1.1". There are three .ZIP files. Make sure to get the texture packs. The masks file is for people who want to make their own textures: it contains the mask and heightmap bitmaps I used to make my textures.
The zone pack is located under "OpenZone Sample Zones 1.0". It contains two outdoor zones (source and .S3D) that you can play with.
I've made so many changes to OpenZone since 2.5 I'm almost not sure where to begin with what's new. Here goes...
1. PLACEABLE OBJECTS. You'll be able to export anything you create as a static mesh, and OpenZone will maintain your mesh library in a /meshes subfolder. There is a button on the main window that pops up a list and 3D view that lets you select a mesh from the library, and you'll be able to place as many as you like with a single keystroke (Ctrl-M). I've created a ton of meshes already and they ship with OpenZone 2.6. Be warned, though: the client doesn't properly display placed objects with too many polygons (around 1500). OpenZone will warn you if you're over the limit.
By placed objects I mean objects that go in the <zonename>_obj.s3d file and aren't part of the main zone geometry. Trees are a good example of this.
2. TREES!!! You can use the above method to place trees, but OpenZone has an even better way to put them in your zone. The overhead texture painter has a tab for placing meshes with single mouse clicks, and it has extra controls for making trees look nice (checkboxes that let it slightly vary the object's size and angle--trees don't all grow perfectly vertical, you know). It gives you a list of all mesh types in your library and highlights all meshes of that type with a certain color. You can add or delete mesh objects from there or move them around. It even supports selecting multiple objects by dragging a rectangle around them.
3. MESH GRAVITY. All objects that were placed using the mesh library have a "gravity" setting. This means that, when gravity is TRUE, meshes will automatically affix to the ground height and sink such that there is no gap between them and the ground. They'll also move when the ground elevation is changed. Change your ground elevation, and all the trees you placed will adjust themselves automatically, for instance. You can turn off gravity for an object on the properties pane, and if you change an object's location when its gravity setting is ON, OpenZone will warn you.
4. LIGHT SOURCES. You'll be able to place light sources anywhere, and you can set the light color and radius for each one. One caveat, though: the EQ client does NOT do dynamic lighting; it's all static, which means that OpenZone has to precalculate which polygons are lit and which ones aren't at export time. It does this with some primitive raytracing to try to determine which polygons are lit and which are in shadow. It's not perfect, since it's limited to what the client can do, but the effect is pretty terrific nonetheless. One warning, though: the more light sources you add, the longer (much longer) it will take to export the zone to .S3D due to the necessary calculations. You can put light sources in groups, and, if you export a group that contains one or more light sources as a mesh, the light sources go along for the ride. This means that you can create things like lanterns and they'll come with their own light sources when you place them into your zones. I find that the lighting effects look best when the gamma correction is set to zero in-game. It makes night look really dark, but it's the most realistic.
5. GROUND WALK MODE. There is a checkbox on the main window that, when In fly mode, fixes you to the ground elevation when you move around.
6. PVP AREA SUPPORT. You can create PvP areas just like water and lava areas; the only difference is that PvP areas don't use textures like the other types do.
7. MASKED TEXTURES. Think trees: some areas are transparent and some aren't. I do this with 32-bit .BMP files that store transparency in the alpha channel, and I've added a menu item to the File...menu that will convert a .BMP file that has transparency represented as a single color to one of this type. Also, I found that the client will only do masked textures properly if the textures are all in .DDS (not .BMP) format. I found an open-source library that does this conversion nicely, and from now on OpenZone will automatically convert your textures to .DDS format when it builds .S3D files. The conversion takes place in memory and won't affect the textures on your hard drive: they will remain as .BMP files.
8. ENHANCED SCRIPTS. I've enhanced loads of scripts to give greater control over how the textures are mapped and I've added extra capabilities to some. This is mostly for creating placeable meshes that look good. The lowly box script is extremely powerful and versatile now, for instance.
9. NEW SCRIPTS. There are several new scripts I created that make creating objects easier, and a pair of scripts specifically for creating dungeon corridors. Take a look at them and experiment...
10. SAMPLE ZONE. I've created a simple dungeon zone and included it (source and exported .S3D files) with OpenZone 2.6. The source is there to show you how I built it and the .S3D files are there so you can try them out immediately. It requires the textures in the texture packs.
11. BUG FIXES. Lots of them. I've lost count of them all.
12. IMPROVED MOUNTAINIZE WIZARD. There is now a checkbox that lets you mountainize outward instead of inward, expanding the zone size in the process.
13. EXTEND ZONE WIZARD. This works like the mountainize wizard, but doesn't change the elevation. It lets you make the ground area of a zone bigger. The units it uses are elevation grid units: for instance, expanding it by 1 adds another row of elevation nodes to the ground mesh.
14. IMPROVED LIGHTING. I finally figured out how to properly set vertex normals, and so I removed the "phong shading" checkbox. The program also does a pretty good job of "rounding" the corners of ground areas so the ground looks less polygonal.
15. EXPANDED SCRIPTING LANGUAGE. If you look at the corridor script you'll see two new keywords: READONLY and HIDDEN. You can have scripts calculate useful information and return it back to the user as readonly parameters, which show up in a different color on the parameters palette. You can declare hidden parameters to use them as variables to make such calculations easier.
I'm not sure what else, I've done so much to the program since 2.5. 2.6 is light-years better by comparison. I hope you all like it--and USE it 8)
WC
Edit: Found a teensy bug and had to re-upload the program. If you downloaded it before 2:15AM EST, you should redownload OpenZone 2.6. Sorry for the inconvenience. It's ok now.