EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Tools (https://www.eqemulator.org/forums/forumdisplay.php?f=623)
-   -   OpenZone 1.6 (https://www.eqemulator.org/forums/showthread.php?t=8168)

Windcatcher 06-19-2003 01:33 PM

OpenZone 1.6
 
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.

Code:

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


All times are GMT -4. The time now is 09:28 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.