PDA

View Full Version : OpenZone 1.6


Windcatcher
06-19-2003, 01:33 PM
Ths one is definitely worth having if you're making full-blown zones.

1. Made numerous optimizations so that exporting to .WLD and .S3D take *far* less time.

This will probably be it for a while. I'd love to get placeable objects (trees and such) in, but I have no idea how their location is stored. I'd like to stand back and see what kind of zones people come up with first, or what ideas or information other people might have.

WC

daeken_bb
06-19-2003, 01:57 PM
Great work... hopefully now you'll slow down for a while and give me time to learn some delphi so i can work on openzone++ :)

Windcatcher
06-19-2003, 02:53 PM
Well, if you've already gotten 1.6 you'd better redownload it. I found a bad bug in the scripted object rotation code. The fixed version is uploading as I type this. Objects will now rotate properly (try rotating a chair in 1.5 to see what I mean), but it means that existing scenes might need to be fixed. If you placed anything at a rotation value other than 0 or 180 you'll have to fix it (for example swap 90 and 270 for all objects). Sorry about the inconvenience but this needed to be fixed, better sooner than later.

WC


Edit: Grrr. Found yet another bug where saving a scene file could make it unreadable if any polygons had custom colors (tints). A fixed version has been uploaded as of 11:15pm EST.

Windcatcher
06-19-2003, 03:38 PM
Here's something else you might filnd useful (it's not in the .ZIP file)

A replacement chair.scp. This one supports armrest height, which is nice for making high-backed chairs look more realistic. If I put out an OpenZone 1.7 it'll come with it.

CATEGORY Furniture
PARAM OverhangX FLOAT DEFAULT 0.05 ' Overhang in X direction
PARAM OverhangY FLOAT DEFAULT 0.05 ' Overhang in Y direction
PARAM SeatThick FLOAT DEFAULT 0.05 ' Seat and back thickness
PARAM LegThick FLOAT DEFAULT 0.05 ' Leg thickness
PARAM SeatHeight FLOAT DEFAULT 0.5 ' Seat height
PARAM ArmrestHeight FLOAT DEFAULT 0.25 ' Armrest height
PARAM ArmRests BOOLEAN DEFAULT FALSE
PARAM Frills BOOLEAN DEFAULT FALSE
PARAM Tex1 STRING
PARAM Tex2 STRING DEFAULT Tex1 ' Seat and back covering

VARIABLE I Float

' Seat

Script Box -0.5, -0.5, SeatHeight - SeatThick / 2,
0,0,0,
1,1,SeatThick,
Tex1,Tex1,Tex1,Tex1,Tex1,Tex2;

' Chair back

Script Box -0.5, 0.5 - SeatThick, SeatHeight + SeatThick / 2,
0,0,0,
1, SeatThick, 1 - SeatHeight - SeatThick / 2,
Tex1,Tex1,Tex1,Tex2;

' Legs

Script Box -0.5 + OverhangX, -0.5 + OverhangY, 0,
0,0,0,
LegThick, LegThick, SeatHeight - SeatThick / 2,
Tex1;

Script Box 0.5 - OverhangX - LegThick, -0.5 + OverhangY, 0,
0,0,0,
LegThick, LegThick, SeatHeight - SeatThick / 2,
Tex1;

Script Box -0.5 + OverhangX, 0.5 - OverhangY - LegThick, 0,
0,0,0,
LegThick, LegThick, SeatHeight - SeatThick / 2,
Tex1;

Script Box 0.5 - OverhangX - LegThick, 0.5 - OverhangY - LegThick, 0,
0,0,0,
LegThick, LegThick, SeatHeight - SeatThick / 2,
Tex1;

' Armrests

IF ArmRests
I = ArmrestHeight
If I > 1 - SeatHeight - SeatThick / 2
I = 1 - SeatHeight - SeatThick / 2
EndIf

Script Box -0.5, -0.5 + LegThick, SeatHeight + SeatThick / 2,
0,0,0,
LegThick, LegThick, I - LegThick,
Tex1;

Script Box 0.5 - LegThick, -0.5 + LegThick, SeatHeight + SeatThick / 2,
0,0,0,
LegThick, LegThick, I - LegThick,
Tex1;

Script Box -0.5, -0.5 + LegThick, SeatHeight + SeatThick / 2 + I - LegThick,
0,0,0,
LegThick, 1 - LegThick, LegThick,
Tex1;

Script Box 0.5 - LegThick, -0.5 + LegThick, SeatHeight + SeatThick / 2 + I - LegThick,
0,0,0,
LegThick, 1 - LegThick, LegThick,
Tex1;

ENDIF

' Frills

IF Frills

Script Box -0.5, 0.5 - LegThick, 1,
0,0,0,
LegThick, LegThick, LegThick,
Tex1;

Script Box 0.5 - LegThick, 0.5 - LegThick, 1,
0,0,0,
LegThick, LegThick, LegThick,
Tex1;

ENDIF

DeletedUser
06-19-2003, 04:19 PM
would be cool if it was like worldcraft, make the map via grid system.

daeken_bb
06-19-2003, 08:46 PM
That's not a half-bad idea... perhaps i'll do that as my first bit of Delphi :P