These tools are built upon the final source code of ZHLT 3.4.
Version 29 | |
HLBSP |
Fixed a bug that causes "Error: CollectBrinks_r: not leaf" in the brink function of v28. |
---|
Version 13 | |
HLRAD |
Added entity 'light_shadow' to dynamically control the opacity of brush entity. Fixed duplicate water texture for entity. |
---|
These tools are built upon the final source code of XP-Cagey's p series (p15.5).
The 64-bit version is the same code as the ZHLT 3.4 64-bit beta version.
Version 3.4 final | |
HLRAD |
Added a fix for env_sky for Spirit of Half-Life (new the 32-bit version, as this was already included in ZHLT 3.4 64-bit beta). |
---|
Version 3.4 (64 bit beta) | |
ALL TOOLS |
First release of ZHLT 3 for 64-bit processors. |
---|---|
HLRAD |
Added a fix for env_sky for Spirit of Half-Life. |
Version 3.3 | |
HLCSG |
Fixed some long-standing crash bugs. |
---|---|
HLRAD |
Fixed all known crashes when using zhlt_lightflags. |
HLRAD |
Fixed a crash when using the zhlt_customshadow flag. |
PACKAGE |
Removed all non-SDK Power tools as keeping the tools up to date was/will be a pain. |
DOCS |
All documents now point to http://zhlt.info. |
Version 3.2.1.1 | |
ALL TOOLS |
Various cosmetic fixes, such as giving the tools version 3.2.1(.1). |
---|---|
PACKAGE |
Moved the .pl files for opt_entdata to live in the power tools folder, as they should have. |
Version 3.2.1 | |
ALL TOOLS |
Removed support for the HINTSKIP texture. Support for this functionality has now been sent to the makers of GTKRadiant as a feature request instead. |
---|
Version 3.2 | |
ALL TOOLS |
Fixed a problem with the HINTSKIP texture appearing in the world (i.e. being rendered rather than discarded as it should have been). |
---|---|
HLRAD |
Included the correct hlrad.exe file (due to an error the wrong version of this file was included in the previous build). |
Version 3.1 | |
ALL TOOLS |
Added support for the HINTSKIP texture for GTKRadiant users to hide group HINT brushes. Simply apply it as a group texture (idea by DeeKae). |
---|---|
HLRAD |
Fixed some serious crash bugs present in ZHLT 3.0. |
Version 3.0 Beta 4 | |
Please note that this version of the tools contains free code by NVIDIA Corporation LLC. |
|
ALL TOOLS |
Added zhlt.wad - this version fixes some issues when using a texture with capital letters. Added lights.rad - from Hammer 3.4 Added wad.cfg - from Merl's Custom Build 1.7 |
---|---|
ALL TOOLS |
Started converting some functions to assembly code, to help make the code as fast as possible. |
HLCSG/HLBSP |
Cleaned up some tab spacing, so that built in command line options are displayed properly. |
HLRAD |
Fixed crash bug when using opaque entities. |
HLRAD |
Faster RAD code by Nem, which improves RAD complie times by about 15-27%. |
RIPENT |
New code by Nem added the following options: -chart -noinfo -lightdata -parse. -chart, -noinfo & -lightdata are self explanatory. On -export, the -parse option parses the entity data and reformats it for easy reading in any text editor. On -import, the -parse option parses the entity data and removes all unnecessary white space. The parsing operation also works as a means to insure that the entity data is well formed, if it isn't an error message is printed to help track down the problem. |
Version 3.0 Beta 3 | |
ALL TOOLS |
This version was a test, for including the MSVC.lib code. It did not work, so was withdrawn after a small internal beta test. |
---|
Version 3.0 Beta 2 | |
HLCSG |
Added AJenbo's CSG code so that the default subdivision is 240 for both fitted and tiling textures, which saves about 1.5% wpoly. |
---|
Version 3.0 Beta 1 | |
ALL TOOLS |
Made the Banner look clean, and updated the Credits. Added an extra line, to the Bug Reports Banner, stating that if you have a mapping error, to ask at the modifications 'Nominated Mapping Help Forum', to help new mapmakers. Updated the compile error reference code to show Tommy14's Error Page that is much more comprehensive then the standalone ZHLTProblems.html. Tweaked tool's complier optimising. Destroyed ALL errors at /w3 level compiles |
---|---|
HLVIS |
Added faster Vis code, by Egir. Tested on a variety of AMD processors, but not tested on Intel chips or older cpus. |
HLRAD |
Fixed -extra flag bug in light_env from XP-Cagey p15, making the environment lighting brighter. Added a partial hack for env_sprite's to cast shadows - idea by DNV-Cross. |
These tools are built upon the final build of Merl's tools (Custom Build 1.7).
Version 1.7p15.5 (source code only release) | |
ALL TOOLS |
Some further bugfixing and simple optimisations. |
---|
Version 1.7p15 | |
ALL TOOLS |
Fixed new file handler behavior when asked for a directory's local filename to match pre-p14 behavior. Fixed "-chart" output to display percentage of final plane count instead of internal plane count. |
---|---|
HLBSP |
Added a "-noopt" switch that turns off automatic plane optimization on BSP write. This allows HLBSP to be run multiple times without rerunning HLCSG. Fixed incorrect size for valid face array that was causing crashes when maps used over 64K planes internally. Fixed display of SolidBSP times. |
HLRAD |
Fixed incorrect self-shadowing on opaque brush entities. |
Version 1.7p14 | |
HLBSP |
Embedded planes optimizer that now runs automatically as the BSP is written to file. |
---|---|
HLRAD |
Added "-nodynbounce" switch that prevents dynamic light styles (variable brightness or switchable) from bouncing, greatly reducing the overall amount of lightdata on some maps. This was standard behavior before ZHLT 1.7. The default behavior matches that of ZHLT p13. |
ALL TOOLS |
Fixed an issue with building maps under a directory which contains a "." character. This affected building from the Steam install directory. Increased internal planes limit to 256K. Reduced post-optimization planes limit to 32K to match the Half-Life engine's maximum. |
DOCS |
The documents from all previous releases have been integrated into a single set by Ian 'Reve' Macfarlane. |
Version 1.7p13 | |
HLRAD |
Huge performance gains with custom shadow code. Submitted by hullu. |
---|---|
HLCSG |
Fixed problem with info_compile_parameters code that turned off clip hulls by default. |
HLBSP |
Fixed incorrect storage of empty clip hulls - the head node pointer now correctly stores the content type instead of a pointer to another model's clip information; this allows zhlt_noclip to work correctly in all cases, and also allows maps created with clip hulls turned off to run in the game without crashing. |
HLBSP |
Fixed crash error resulting from running HLCSG with nocliphull followed by running HLBSP normally. |
HLCSG |
Changed the zhlt_noclip and zhlt_invisible attributes' behavior: if either attributes' value is set to '0', the attribute is ignored. This should allow people to add these attributes to FGD files as Choices. |
HLCSG |
Simplified bevel clip algorithm used by precise, normalized, and simple clip types (thanks to Carsten Fuchs for pointing out the change). |
DOCS |
Bundled docs from ZHLT 2.5.3 and MHLT 1.7 in their original formats. |
Version 1.7p12 | |
HLRAD |
Fixed issue introduced with p11 that caused some lights to fade incorrectly over distance. |
---|---|
HLRAD |
Removed "SDF::4" log message that would spam in production builds of the tools if concave opaque entities were in use. |
HLRAD |
Default maximum lightdata bumped down to 6MB again after reports that higher values caused performance issues. Authors still have the option of specifying extra lightdata at the command line, but should perform compatability testing before releasing their maps if they're over the preset limit. |
Version 1.7p11 | |
HLRAD |
Added -lightdata <#> switch to allow user to set custom lightdata maximum value. Works like the -texdata switch. Default maximum lightdata amount bumped to 8MB. |
---|---|
HLRAD |
Enhanced "too many lightstyles" error messages that previously showed (?,?,?) to show actual location of error. Only first error of this type is shown by default. Use -verbose to see all occurrences. |
HLRAD |
Plugged buffer overflow when too many light samples are used (new Exceeded MAX_MAP_LIGHTING error). |
HLBSP/HLVIS/HLRAD |
Plugged buffer overflow on BSP read when texdata or lightdata wasn't adequate to hold texture data stored in BSP (MAX_MAP_MIPTEX or MAX_MAP_LIGHTING thrown now instead). |
Version 1.7p10 | |
HLRAD |
Fixed problem with opaque entity shadows; p10 lighting is now identical to the lighting in Merl's 1.7 Custom Build. |
---|
Version 1.7p9 | |
HLRAD |
Fixed math code introduced in p5 - removed "-oldmath" and replaced added a message saying the option is no longer supported if someone attempts to use it. |
---|---|
ALL TOOLS |
Added support for older hullfile format used in HL SDK 2.2 (doesn't affect anyone using the newer hullfile format). Patch by Nemo1024. |
Version 1.7p6 | |
HLCSG/HLBSP |
BEVEL texture code was causing improper clip offsets for normally textured axial faces. |
---|
Version 1.7p5 | |
HLCSG |
Added a new zhlt_noclip flag. Adding this key with a non-empty value to any brush entity will cause ALL clipping information for the brush entity to be stripped, making the entity non-solid in the game. Suggested by Yamazaki. |
---|---|
HLCSG |
Added a new zhlt_invisible flag. Adding this key with a non-empty value to any brush entity will cause the entity to be invisible in the game and not contribute to r_speed values (this is the same as using the NULL texture for the entire entity). |
HLCSG/HLBSP |
Wrote in support for BEVEL texture - this texture acts like a NULL texture but also doesn't expand when generating clip hulls. Can be used to eliminate exterior corner clipping bugs without using "-cliptype precise" (although "-cliptype precise" is still the recommended method for removing clipping errors, as this feature is experimental). The BEVEL texture has been added to the zhlt.wad file. Suggested by WolfWings. |
HLBSP |
Increased MAX_MAP_BRUSHES (the maximum number of brushes in the map) from 8K to 32K. Suggested by A W!seM4n Onc3 Sa!d. |
RIPENT |
Updated to support the higher map limits of this release. |
HLRAD |
HLRAD optimized. Testing showed a ~5% improvement on compiles that weren't using virtual memory. Larger gains are probably possible in the future. |
ALL TOOLS |
Enabled MSVC++ compiler optimizations for speed. Your milage may vary. |
Version 1.7p4 | |
ALL TOOLS |
Recursive threadlock on multiprocessor machines eliminated. |
---|---|
HLCSG |
Using full dot product to check for angle instead of sum of axial values. |
HLCSG |
-cliptype normalized uses bugfix 1 and skips bugfix 2 for people who don't want denormalized brushes (see article link below for details). |
Version 1.7p3 | |
HLCSG |
Reworked the ExpandBrush function of HLCSG to fix 2 bad assumptions that led to "sticky" exterior corners. Use the -cliptype switch to use the different versions of this clipping mode. |
---|---|
HLCSG |
Sped up the CreateBrush part of HLCSG by around 75%. |
ALL TOOLS |
Lightdata over the limit caused silent buffer overflow. |
Beta 1.7p2 (never publicly released) | |
ALL TOOLS |
Increased internal lightdata maximum from 4MB to 6MB. |
---|
These tools are built upon the final build of Zoner's tools (version 2.5.3).
Version 1.7 | |
HLRAD |
Integrated code from Laurie Cheers <laurie@valve-erc.com> for switchable texture based lighting. |
---|---|
HLRAD |
Integrated code from Jussi Kivilinna for semi-transparent brush based entity shadowing. |
HLBSP |
Increased maximum subdivide value to 512. You may now specify a value using the -subdivide parameter other than 240. WARNING: Doing so may cause problems in software mode. If in doubt, leave at the failsafe default value of 240. |
??? |
Updated info_compile_parameters entity to not use any spawnflags. |
DOCS |
Updated instructions.html and fixed micellaneous spelling errors. |
Version 1.6.1 | |
??? |
Fixed issue of all NULL textured brush mysteriously disappearing <merkaba@onthebog.net> |
---|
Version 1.6 | |
HLVIS |
Included Zipster's max vis distance. |
---|---|
HLCSG |
Included fix by hullu for wad.cfg on *nix systems |
ALL TOOLS |
All tools now support info_compile_parameters entity. |
HLRAD |
Included HLRAD support for info_texlights entity. |
HLRAD |
Included various HLRAD features from Adam Foster <afoster@compsoc.man.ac.uk> |
Version 1.5.2 | |
HLCSG |
Fixed issue of last wadpath ignorance when using mapfile wadpaths (AmericanRPG). |
---|---|
HLCSG |
Fixed issue of ΓΏ interfering with wad.cfg |
HLCSG |
wad.cfg should now work from the directory the tools are installed to. |
Version 1.5.1 | |
HLCSG |
Fixed Mixed Face Contents error bug when using NULL with water textures <alex.taylor3@ntlworld.com>. |
---|---|
ALL TOOLS |
Attempted fix of compile log output not having linebreaks. |
Version 1.5 | |
HLCSG |
Re-wrote support for wad.cfg file. |
---|---|
HLCSG |
Fixed issue of hlcsg.exe crashing under Win2k with a custom wad configuration. |
HLCSG |
Wrote in support for automatic wad detection. |
HLRAD |
Included Adam Foster's <afoster@compsoc.man.ac.uk> Sky Diffuse hack. |
Version 1.4 | |
HLCSG |
Wrote in support for the multiple wad configuration file (wad.cfg). Consult instructions.html for a detailed usage guide to this feature. |
---|
Beta 1.3 | |
HLCSG |
Wrote in support for clipnode economy mode, can be turned off with -noclipeconomy The following will not generate clipnodes:
|
---|
Beta 1.2 | |
HLCSG/HLBSP |
Added in -nonulltex command line switch to turn the feature off. |
---|---|
HLCSG |
Removed clip face stripping. |
HLCSG |
Fixed spam debug message. |
Beta 1.1 | |
??? |
Removed Skip texture hack. |
---|---|
HLCSG/HLBSP |
Wrote in functionality for NULL texture. |
HLCSG/HLBSP |
Clip texture now works in the same fashion as the NULL texture for backwards compadibility. |
These tools were modifications of the original Valve compile tools, modified with permission.
Version 2.5.3 | |
NETVIS |
Fixed clients not exiting on unexpected disconnects from the server in some cases. (Primarily affected Linux). |
---|---|
HLRAD |
Added -nopaque switch which causes any entities with the opaque zhlt_lightflags bit set to be ignored for the compile. |
HLRAD |
Added missing -dscale help to the command line help in HLRAD. |
Version 2.5.2 | |
HLRAD |
Changed default smoothing threshold for phong shading from 45 to 50. |
---|---|
HLRAD |
Fixed overrides of the values light emitting textures with multiple rad files not working properly. |
HLBSP |
Increased MAX_WVERTS for tjunction remover, as it was sometimes running out of room to do its work. |
HLCSG |
Fixed condition where the mixed face contents checks were not checking the last face in a brush correctly. |
Version 2.5.1 | |
HLRAD |
Added a new zhlt_lightflags flag, to light up the concave portion of arches correctly. Entities of arches using the opaque setting to block light would tend to get black fringes at the seams. The ConcaveFix flag was created to handle that situation. Its value is 4, and must be combined with the Opaque flag (2) to work. So use the value 6. The ConcaveFix is not compatible with the EmbeddedFix. |
---|---|
HLBSP |
Fixed precision change which broke some outdoorsy maps as well as some QuArK made maps. |
HLCSG |
Fixed a bug in csg which caused solid skies and inexplicable shadows to appear in outdoor areas. |
HLCSG |
Allow SKY texture on any world brush without generating a Mixed Face Contents error. All the faces inside a 'sky area' should be SKY to help HLRAD out by not having allocate lightmaps for faces inside the sky areas. |
HLCSG |
Leaks in hulls 1-3 will no longer overwrite leakfiles for hull 0. |
Version 2.4 | |
HLCSG |
Added the ability to define custom sized bounding boxes for the collision hulls through a command line switch called -hullfile. The format is simply three lines containing three numbers of dimensions of the box in x y z format. The default settings are included in a file called default.hull in the ZHLT distribution. This option is only primarily of interest to mod authors and their mapping team. |
---|---|
HLRAD |
Malformed face normal errors now output world coordinates of the error. |
NETVIS |
Netvis clients inherit the -full setting the server uses. |
NETVIS |
Netvis clients now automatically download .bsp and .prt data from the server. |
NETVIS |
Netvis clients now download the data calculated during BasePortalVis from the server. |
NETVIS |
Improved efficiency of netvis clients to nearly optimal levels. |
HLVIS |
Merged in -full vis patch from Antony Suter <antony@mira.net> This increases the quality of the vis calculations at the expense of a minor speed hit. Anyone who has worked with Quake 1 editing should remember this option. |
HLVIS |
Optimized HLVIS and improved its performance by around 20-30%. |
HLCSG |
Fixed a rare crash with -onlyents updates. |
HLRAD |
The number of texture lights inside .rad files is now unlimited. |
Version 2.3.1 | |
HLBSP |
Fix bad surface extents workaround. |
---|---|
HLRAD |
Fix Intel C/C++ Compiler 4.5 optimizations which caused the tools to generate strange looking maps. |
HLRAD |
Fix BadSurfaceExtents message in HLRAD to compensate for ORIGIN based brush models location. |
Version 2.3 | |
HLVIS |
Merged in code from Antony Suter <antony@mira.net> (aka Examiner) which improves vis performance by approximately 40%. |
---|---|
HLCSG |
Allow more entities, by not counting static light entities the real Half-Life engine limits. Switchable/pulsing lights are still counted, howerver. |
HLRAD |
Fixed trigger/clip textures consuming RAD resources and affecting the radiosity lighting pass. |
HLCSG |
Removed obsolete -hullfile and -glview options. |
HLBSP |
Worked around an error in Half-Life (BadSurfaceExtents) which could occasionally occur only in software mode on a map. |
HLBSP |
Created 'entities.void' 'mapname.void' '-void filename', which is a list of entity names to be allowed in the void without causing a leak. Monster, item, & trigger entities should almost never be allowed in this list, but things like func_door_rotating (which occasionally needs its origin in the void), and multi_manager's, etc can be placed in the void without problems. |
HLCSG |
Correctly not allow brush entities composed of only ORIGIN and CLIP textures which would slip through the error checking in HLCSG and cause HLBSP to crash. |
Version 2.2.2 | |
HLRAD |
Fixed opaque brushes lighting incorrectly with ORIGIN-based entities (func_door_rotating, func_tracktrain etc) or with entities using light_origin. |
---|---|
HLRAD |
Fixed opaque brushes not casting shadows when combined with the light_origin. |
Version 2.2.1 | |
HLRAD |
Fixed a cute little bug involving light_environment's and entities blocking light. |
---|
Version 2.2.0 | |
HLRAD |
Fix rare 'DecompressVis' overflow. |
---|---|
HLCSG |
The -noskyclip option now also means to not discard the non-sky textured objects 'inside' a sky zone, as sometimes the skies sometimes come out solid always as a result of removing the faces. |
HLBSP |
Removed -watervis, will add light through water without hacking vis to do it at some point in the future. |
HLRAD |
Added -nomatrix command line option. This option causes HLRAD to not use a vismatrix cache at all. -nomatrix is faster than -sparse especially on multiprocessor (4+ CPU) machines, or on machines where even -sparse mode uses too much memory. However, if using a large number of opaque brush entities in the world, the nomatrix mode will be dramatically slower than the normal or sparse methods. |
HLRAD |
Dramatically reduced memory usage of transfers data. |
HLRAD |
Brush based entities can affect lighting by adding a key/value of zhlt_lightflags.
For opaque brushes, it will be frequently necessary to place point lights inside the brush so that faces obscured by the brushes are properly lit (for example the trim adjacent to a func_door). |
HLRAD |
Fixed light streaking across edges of surfaces. |
HLRAD |
Fixed bleed correction code pulling in lightmap pixels unnecessarily far distances in rare cases, when a simple and short nudge into the world would do the trick. |
HLRAD |
Completely fixed phong shading (smoothing) using bad data in some cases. |
HLRAD |
Removed the triangulation code (no more MAX_TRI_TRIS, MAX_TRI_POINTS, MAX_TRI_EDGES errors), and replaced it with a simpler and more correct looking algorithm. |
HLRAD |
Replaced patch subdivision code. A chop of 64 will generate moderately more patches than before, and bounced lighting looks much better overall. |
HLRAD |
Removed -maxchop, as a result of reworking patch subdivision code. |
ALL TOOLS |
Allow command line options after the map name in the command line. |
ALL TOOLS |
Added -noinfo switch to not show extended configuration settings during run. |
Version 2.1.3 | |
HLRAD |
Fixed smoothing glitch. |
---|---|
HLRAD |
Fixed burnt spots from degenerate smoothing condition. |
HLRAD |
Fixed light_origin trick which was broken in version 2.1.2. |
Version 2.1.2 | |
HLRAD |
Added -texscale option. This controls the chop value of texture light surfaces. In the past this was set to the same as -chop. The -texchop value is automatically divided by two for any -extra mode compiles. |
---|---|
HLRAD |
Added -dscale option. This controls the scaling of direct lighting in the world. The default is 2.0 (which is technically a bug, it should be 1.0). Setting this to zero can show your map with no direct lights, and just the bounced light information, which can be helpful for debugging lighting. |
HLRAD |
Fixed light bleed code which was a bit on the buggy side in version 2.1.0. The -nobleedfix switch has been removed as most of the code was rewritten. |
HLRAD |
Fixed 'Bad Light Error' which was caused by a change in version 2.1.0 for the skyfix. |
HLRAD |
Eliminated most or all SwapTransfers unmatched warnings. |
HLCSG |
Fixed 'normal texture inside sky' culling which was added in version 2.1.0 which was generating HOM in some cases. |
Version 2.1.1 | |
HLRAD |
Fixed bogus command line parameter code in rad not identical to the code in csg, bsp, & vis. |
---|---|
HLRAD |
Fixed a global variable rename which broke the -maxchop switch. |
Version 2.1.0 | |
HLRAD |
Added alternate algorithm to reduce the size of the vismatrix. It is slower to use, but uses a lot less memory. It can also be used to break the 65535 lightmap limit imposed by the normal vismatrix. The command line switch to use is -sparse. |
---|---|
HLRAD |
Added -circus command line switch. All pixels in the lightmaps which receive 0 lighting get set to a random and very bright color. Handy for finding lighting anomalies and areas dependent on bounced lighting information. |
HLRAD |
Fixed the dark spots where sky brushes meet world brushes. The fix also reduces the number of necessary light_environment entities in a map to 1 (it is used globally for all SKY in a map now). The older somewhat broken behavior (which tests line of sight to all surfaces and a light_environment) is still available, as the command line switch -noskyfix. |
HLRAD |
Fixed light bleeding through thin walls (can be disabled with -nobleedfix). |
HLRAD |
Brush entities can have a new key "light_origin" which points to a targetname of an entity. The brush entity is moved to the location of the targeted entity for the purposes of lighting. |
HLRAD |
Fixed lighting of brush entities which have an origin ORIGIN. |
HLRAD |
Entries in lights.rad can now have C++ style // comments. |
HLCSG |
World brush faces on the interior of SKY brushes are now discarded, so as not to consume resources (texture info, lightmaps etc), and make it easier to see the map when noclip'ed outside the world. |
HLCSG |
Added code to detect when brushes overlap by 'too much'. This feature is disabled by default and can be set with the -brushunion command line switch. The value to specifiy is a percentage of volume a brush is overlapped by, from 0 to 100. When starting out with this command, start with higher values and work your way down, or else you are likely to get spammed for several minutes with warnings. |
ALL TOOLS |
Revamped command line option help. |
ALL TOOLS |
All tools display (and log) the user configurable settings when run. |
Version 2.0.6 | |
HLVIS |
Fixed an extremely subtle bug which would occasionally crash vis when it was trying to compress the vis data before exiting. |
---|
Version 2.0.5 | |
HLCSG |
Added CLIP brushes to be allowable in entities. As long as there is at least one normal brush included in the entity, CLIP's may be included too. |
---|---|
HLCSG |
Fixed a crash which would occur occasionaly when an ORIGIN brush is placed in the world (ironically enough, the function printing the error message was causing it). |
HLRAD |
Enabled some long-disabled code, the -incremental switch for HLRAD, so that turnaround time for light tweaking can be reduced. |
Version 2.0.4 | |
HLCSG |
Fixed QuArK texture alignment glitches caused by the new code to handle the Worldcraft 3.3 map format. |
---|
Version 2.0.3 | |
HLCSG |
Somehow left out ORIGIN in the list of stuff to allow in entities in the new check in HLCSG. |
---|---|
NETVIS |
Added extended command line help to netvis to explain how to run it. |
Version 2.0.2 | |
NETVIS |
Fixed progress display not updating until the very end. |
---|---|
NETVIS |
Fixed netvis not requiring either one of -server or -connect command line parameters. |
Version 2.0.1 | |
HLCSG |
Added -noskyclip parameter for those making mods which need it off for some things. |
---|---|
NETVIS |
Cleaned up multithreading exit code which was probably causing corrupted bsp's to get written after vis completed in certain circumstances. |
NETVIS |
Added progress display to BasePortalVis part of netvis. |
Version 2.0.0 | |
ALL TOOLS |
Support for a new version of Worldcraft (version 3.3). |
---|---|
HLVIS |
A new program 'netvis' has been added to ZHLT. This program is for distributed VIS compilation across multiple computers. The code came from netvis for Quake 1, and was heavily modified so it would work correctly and efficiently. While the code is multithreaded, the portal calculations are not, and one client per processor will need to be fired up on multi-processor machines. |
HLCSG |
-skyclip is now obsolete. Clipping of skies, by automatically copying all SKY brushes with a duplicate CLIP brush in the same place, is now automatic and cannot be turned off. The brush numbering problems that -skyclip used to create, are no longer a problem. |
HLCSG |
HLCSG will more actively find brushes of the wrong type in the world or in entities (i.e. CLIP, HINT, etc in entities). |
ALL TOOLS |
Recompiled with __fastcall on default, and -O2 option with ICL now produces .exe's that won't crash (was previously using -O1). Maybe faster, maybe not. |
ALL TOOLS |
Cleaned house in the code, ran it all through indent, removed all remaining unused functions in the libraries, integrated the netvis code, started providing MS Visual Studio project files again. |
PERL UTILS |
Revamped the Perl scripts to work in all cases, gave them consistent usage help and command lines. Added a new script called 'dumpline.pl' which will dump an entity based on line number, which is frequently needed to find an entity that stops HLCSG with an 'line XXXX is incomplete!' message. |
Version 1.6.2 | |
HLRAD |
Found one last unnaturally large object created on the stack, it is now allocated from the heap. Unix compiles of ZHLT work better with 'sane' ulimits. |
---|---|
HLCSG |
Replaced relatively vague 'Error: ParseEntity: { not found" into one that displays the entity number which had a problem. |
HLCSG |
Replaced relatively vague 'Error: parsing brush' with a message that displays entity/brush/face numbers as well as the bogus text. |
HLBSP |
Set MAX_MAP_PLANES back to 32767, it seems Half-Life did some really weird things when running a map, by having it be higher. |
ALL TOOLS |
Increased MAX_MAP_TEXINFO from the original limit 8192 to its maximum 32767. |
ALL TOOLS |
Created '-dev #' command line switch for developer output, and migrated various messages from -verbose to it. The # is a number from 0 to 6.
The -dev switch is for ZHLT developers and possibly users troubleshooting a ZHLT bug. -verbose is for map makers to show miscellaneous messages about the map compilation process |
ALL TOOLS |
Added better error handling logic in the core threading functions for the Win32 platform |
Version 1.6.1 | |
HLRAD |
Fixed -bounce once and for all (fat fingered a constant just before shipping version 1.6). |
---|---|
DOCS |
Replaced clipnode.rmf sample map with clipnode.map so it can load in any editor. |
Version 1.6 | |
HLBSP |
Increased MAX_MAP_BRUSHES (the maximum number of brushes in the map) from 4096 to 8192. |
---|---|
HLBSP |
Increased MAX_MAP_PLANES from 32767 to 65535, and changed some data structures from short to unsigned short. Half-Life seems to tolerate it. |
HLRAD |
Increased MAX_TRI_POINTS from 3072 to 4096. This made the tringulation_t structure jump from 35MB to 70MB, hopefully this won't cause anyone too much trouble (as it isnt allocated until after the vismatrix is freed). |
HLVIS |
Added buffer overflow errorchecking in CompressVis and DecompressVis. |
HLRAD |
Fixed unusally large -bounce values being allowed (or negative bounces). |
HLRAD |
Fixed swaptransfer messages from printing their descriptions multiple times. |
HLCSG |
Fixed 'outside world' messages from printing their descriptions multiple times. |
HLRAD |
Added total number of swaptransfer errors at end of run, for trivia. |
Version 1.4.1 | |
HLRAD |
Fixed HLRAD not using lights.rad from the directory hlrad.exe lives in. |
---|---|
HLRAD |
Fixed maps occasionally coming out pitch black in HLRAD from version 1.4. |
HLRAD |
Made a cosmetic change to display the bounce # during the bounce phase of HLRAD runs. |
Version 1.4 | |
HLRAD |
Added support for the optional keys _fade and _falloff keys in light entities.
|
---|---|
HLRAD |
HLRAD will refuse to run if there are no lights in a level. |
HLRAD |
-fade and -falloff added to command line to HLRAD. Entities which do no have explicit values set in them will use the global values set by the command line. The defaults are the same as above with the entities. |
HLCSG |
SKY brushes can be clipped automatically if the -skyclip parameter is specified to HLCSG. Caveat: the brush numbers in error messages will be WRONG with respect to the .map file when -skyclip is in effect. |
HLRAD |
The tools no longer require lights.rad, and will warn if there isn't one instead. |
ALL TOOLS |
Added -nolog to all tools to generate 'pre 1.3' behavior (no logfile generation of any kind). |
ALL TOOLS |
Added -low and -high to all the tools. This changes the proces priority from its default (normal) to a higher or lower value. Caveat: on Unix only root can increase the priority level of processes, so usually only -low is of interest in that environment. |
ALL TOOLS |
Started adding more explanitory help for error messages. The most fatal/common ones have been done first. The rest will have to wait for further versions of ZHLT. |
Version 1.3.1 | |
HLRAD |
Fixed HLCSG -onlyents compiles, was deleting the .bsp always with HLCSG starting with ZHLT 1.3 (oops!) |
---|---|
HLCSG |
Fixed a documentation bug in setting up Worldcraft compile. |
HLCSG |
Added startup banner to usage screens. |
Version 1.3 | |
ALL TOOLS |
Create a 'fatal warning' type that flags the compile as failing at the end, but allows processing to continue so that muliple warnings can be displayed in a single run. Examples include:
|
---|---|
ALL TOOLS |
Cleaned up the code and removed dead #ifdef's and unused functions. Clarified globals and made as many functions static as possible. |
ALL TOOLS |
Added simultaneous logging to display and logfile. Logfile names are surprisingly called mapname.log. Errors also get generated into a simplified mapname.err file. |
ALL TOOLS |
Added error detection bailout. When any of the tools generates an error, the mapname.err file is generated. HLBSP, HLVIS, and HLRAD will refuse to run if this file exists. This was added as a safety measure for the various compiler front ends and batch files out there which do not properly 'not run' the tools if one of them encounters a problem. |
ALL TOOLS |
Merged in some changes from MUTILS which was based on ZHLT 1.0. The system should now compile (and run) on Linux, IRIX, and probably most other POSIX capable systems. |
ALL TOOLS |
Tweaked progress indicators. As a result of the MUTILS merge, the progress indicators have changed. Unfortunately for Windows sytems I had to disable it by default for the large amount of updates tends to crash Worldcraft if you are using that as your compiler front-end. If you want to see the new display (and you aren't using Worldcraft as a front-end) just add the new command line switch -estimate to each tool. For the Unix versions, it is enabled by default and you should use -noestimate to go back to the old-ish style display. |
HLRAD |
Bumped MAX_TRI_TRIS up 50%. Aparently some people were running in to this one. |
HLCSG |
Added code to cleanup stale files. On startup, HLCSG now deletes mapname.p0, .p1, .p2, .p3, .pts, .prt, and .bsp. This helps the other tools not ever run with stale data. |
HLCSG |
Added WADPATH environment variable. The environment variable WADPATH may be used to point to a single directory (no trailing slash) for wad files. This is primarily of interest to the people running the Unix/Linux/POSIX (whatever) port of ZHLT and need some way of getting HLCSG pointed to the wad files. The directory names inside the "wad" attribute of the worldspawn entity will be preserved as they are, so you can easily compile maps exported from Worldcraft in Unix, without having to tweak them first. |
Version 1.2 | |
HLCSG |
Promoted the inability for HLCSG to find a .wad file from a warning to an error (which caused bsp to crash usually). |
---|---|
HLBSP |
Added a command line switch "-maxnodesize n". The default value is 1024. A smaller value causes bsp to generate many more portals (making the bsp tree much more complex) which can sometimes help vis do a better job on its own without HINT brushes. Larger values of course, do the opposite. Larger values with well placed HINT brushes can keep the bsp tree simple yet highly efficient. |
HLBSP |
Removed -draw option and dependency on tools for OpenGL. |
HLCSG |
Removed -draw option and dependency on tools for OpenGL. |
HLCSG |
Texture names in the MAP files are converted to UPPERCASE at compile time. Some non-Worldcraft editors occasionally emit lowercase texturenames in the .map files which is bad. |
ALL TOOLS |
Command line switches are no longer case sensitive. |
HLCSG |
'plane with no normal' warning was promoted to an Error, to prevent HLBSP from crashing. |
PACKAGE |
Added installation instructions for Worldcraft, HLCC, and Q2Beaver. |
PACKAGE |
Added dumpbrush.pl and dumpent.pl scripts to the toolkit. Basically you ask them to display brush (or entity) #n and they do it. |
PACKAGE |
Added numberbrush.pl script to the toolkit. This script adds comments to .map files so you can find a brush (or entity) by number. |
ALL TOOLS |
Added a command line switch -texdata to all the tools. The default is 4MB. If you wish to use more than 4MB, add "-texinfo n" to the command line for all four tools; HLCSG, HLBSP, HLVIS, HLRAD; where n is a number in kilobytes. i.e. -texdata 8192 would set texture data to 8MB This approach is kind of hack-ish now and will get cleaned up later. |
HLCSG/HLBSP |
Added support for HINT brushes. To use a HINT brush in Half-Life, place zhlt.wad into your valve directory, and add it to the list of wads in your editor. The tools will always treat zhlt.wad as if it were included via -wadinclude so there is no danger of people getting stuck with the game crashing error 'unable to open valve/zhlt.wad'. HINT textures have the following 'gotchas':
|
PACKAGE |
Added zhlt.wad which has one texture, the HINT texture. You should put this wad into your 'valve' directory, and add it to your editor. |
ALL TOOLS |
The logic in the code which limited the length of an entity attribute had 3 values in various stages of compiling, 512, 1024, and 4096 bytes. This in effect limited it to 512, since it was the most restrictive of the 3. All of them have been changed to 4096 now. This change primarily fixes people who have long pathnames to their wad files, as well as many wad files in their list. |
ALL TOOLS |
Extended entity text data from 128k to 512k. Half-Life seemed ok with this on my test map, but remember it makes the game use more memory. |
Version 1.1 | |
HLBSP |
Fixed a crashbug which was caused by having a CLIP texture on an entity. Ideally qcsg should detect this. |
---|---|
HLCSG |
Merged in Tim Smith's changes to CSG for use with the QuArK editor which stores its map files with raw floating point numbers. |
HLCSG |
-wadinclude now remembers what you specified on the command line for -onlyents recompiles. However a 'clean build' will erase the temp file used to remember, so full builds will still require -wadinclude [file.wad] |
HLCSG |
Altered -wadinclude [file.wad] to take partial matches instead of full path. Ex. use -wadinclude file.wad |
HLCSG |
-wadinclude is no longer case sensitive. |
HLCSG |
Be careful with the changes to -wadinclude. It does a basic substring match so if you do -wadinclude halflife and your Half-Life directory is say D:\Games\Halflife it will match all wad files since it finds the string halflife somewhere in the path to the file. |
HLCSG |
Changed MAX_MAP_MIPTEX errors into asserts with friendlier descriptions. |
HLCSG (1.1a) |
Fixed texture alignment for QuArK users. Thanks again to Tim Smith for getting me the 'missing' file. |
PACKAGE |
Added stripnulents.pl and tfcabbrev.pl scripts to the toolkit.
|
Version 1.0 | |
HLRAD |
Fixed a bug which caused 'transfer < 0' errors, basically the algorithm which generates the vismatrix didn't have unsigned types everywhere and overflowed to negative array indexes numbers. The end result : division by zero later in the compile during MakeScales causing 'transfer < 0'. |
---|---|
HLRAD |
Changed the 'transfer < 0' to be a severe warning in the event it attempts a division by zero. If it happens there will be quite a few messages during the compile, but the map will be playable. However areas will be 'fugly' and have random splotches of bright and dark textures. I've called it the 'sycamore' effect since it kinda looks like that . . . REAL 'transfer < 0' errors not caused by division by zero attempts will still error out as normal. |
HLCSG |
Fixed -wadinclude to strip the .wad from the worldspawn "wad" tag so the BSP would not cause Half-Life to crash when played without the .wad file. HOWEVER if you run HLCSG -onlyents at a later time, the .map file will write in the original value for the "wad" tag and will 'break' the BSP. Solution: Edit the .map, change the worldspawn entity's "wad" listing (it is one of the first few lines in the file) before doing -onlyents updates. |
HLCSG |
Added a texture usage display to HLCSG runs, so you always know how much texture memory your map is trying to use. |
ALL TOOLS |
Increased the texture memory limitations from 2MB to 4MB (This is the source of MAX_MAP_MIPTEX errors in qcsg). |
ALL TOOLS |
Increased the max lightdata from 2MB to 4MB. It was hard to have large patch counts (>45000) with complex lighting. |
ALL TOOLS |
Added -chart command line parameter to print out the bsp lump (memory) usage that normally qrad only displays when its done. Especially handywith to use with HLCSG in -onlyents mode. |