Super Half-Life Tools 3.9

An update to Zoner's Half-Life Tools 3.4.



Credits:

    * amckern:
          o Support for 64 bit systems.

    * Protector:
          o Developed a new special entity to safe resources with.

    * Silencer:
          o Hunt down bugs, improve readability of the console output, increase and test raised limits.

    * The great predecessors Valve, Merl, XP-Cagey and Zoner:
          o They still did most of the job after all.

    * vluzacn:
          o Major, important bugfixes.




Changelog:

    * 3.9:
          o Fixed sky texture in zhlt.wad.
          o Fixed major bug that caused holes and invisible walls in collision hulls. (vluzacn)
          o Fixed bug that caused multiple brushes in a func_water to be processed incorrectly. (vluzacn)
          o Phlt_copy_brush in shlt.fgd now has Bit-numbers labelled on its spawnflags.
    * 3.8:
          o Obsolete light entities (no targetname) are now automatically removed at the end of hlrad.exe.
                + This feature can be disabled with the parameter "-nolightremove".
          o Fixed an issue where the keys "phlt_cpm_target" and "phlt_cpm_class" would not be removed from the phlt_copy_brush entity at the end of the compilation.
          o Minor syntax improvements on the shlt.fgd.
    * 3.7:
          o Retrieved speed of VIS by removing frequent passing down of an info string to hlassume().
          o Added new parameter "-noconcolors" to disable colored console output.
          o Added a new small entity shlt_entity_wildcard, which does nothing more than emit a trigger_auto and info_targets to be killtargeted after a map has loaded to enforce server operators to make use of the num_edicts HLDS parameter. This should be used on high fidelity maps to ensure there are enough edicts to use up while the map flow progresses.
          o Added ripent.exe.
          o Including updated shlt.fgd.
          o Download now only as a complete pack with all binaries and sourcecode.
          o Removed SSE1-build because it was just slower than the others.
          o Internal: Added functions MarkEntityAsRedundant(), AddEntity(), RemoveKeyValue(), BoolForKey() and strins() for use for the new but still unfinished shlt_countdown entity.
    * 3.6:
          o Fixed a logging syntax error.
          o Fixed bad compilation parameter for the 32 bit compile.
          o Fixed version indication.
          o Included zhlt.wad to all *.zip-files.
          o Attaching an *.fgd-file for the new entity.
    * 3.5:
          o Console output easier to read.
          o Colored console output for warning and error messages.
          o More information on common error messages.
          o Increased several mapping limitations. Among these:
                + Limit for leafs is now 4 times as big. The engine does not appear to moan about this.
                + Increased entity-, engine entity-, entity datastring-, entity key- and entity value-limit to more than you will ever need.
                + Increased default maximum texture- and lighting-data-limit to 32 MB.
                + Increased arbitrary limits.
          o Made a special compilation for x64-machines. Note that the tools are mainly designed for x64. There are x86 tools, but the code they are based on partly uses x64-optimized code. The 32-bit tools will work on 32-bit machines nonetheless.
          o Added a new point entity, phlt_copy_brush, which allows to change its classname to any you want upon map compilation, e.g. func_wall, and then take the model/appearance of an existing unique brush entity by targetname. With this, you can, for example, make many clones of some prefab you are using a lot, without furtherly approaching map limits. Any additional keyvalues added with SmartEdit disabled will be kept, allowing for perfect copies which are indistinguishable from the original in appearance and function. It is adviced, that the entity which's appearance you are copying over possesses an origin brush. If you want to rotate the copy, have the new classname be func_rotating. Func_walls are blind for angles. Furthermore, note that some entities will cause massive errors when having an origin brush, e.g. func_water. For such cases, look at the offset of the original entity to where the copy is supposed to be, and offset the phlt_copy_brush entity that much from the origin of the coordinate system (0, 0, 0). Also, note that the copies will look exactly as the original, including its lighting and decals placed on it, no matter whether from map start or while the map is running (bullet holes, sprays, blood, etc.), and that the copies cannot emit texturelights.
          o Internal: Added the possibility to append an information-string to the hlassume method. (If you have no interest in the source code, you can ignore this change. You will see nothing of it. It only exists to enhance some console outputs easier in the code.)




Frequently asked questions (FAQ):

    * Q: Which version of the tools should I use?
          o A: Try using the 64 Bit version at first. If you receive an error when trying to run it, try using the 32 Bit version without SSE. For final compiles, use 32 Bit SSE2, no matter whether you are on a 64 Bit or a 32 Bit system, because SSE2 is more precise when compiling, thus can prevent strange errors from occuring, but also slower. SSE1 is actually slower without any visible advantages to the other tools, and thus pretty useless. If you want to know what all that 64/32 Bit and SSE stuff is about, use the internet to inform yourself, but be aware that as explanations go into detail you'll probably hardly understand what's going on.
    * Q: Why are these tools notably bigger than the old ones?
          o A: That is because of some code optimization done by the compiler. Bigger code, but faster code.
    * Q: Can I still run these through VHE?
          o A: Not tested, but should work. Learn how to use batch files if it does not work. If it does work, learn how to use batch files anyway. They are much easier to use and allow for the -estimate parameter on the tools.
    * Q: Why do all tools reject to run?
          o A: Make sure you have the latest .NET framework and Microsoft Visual Studio Redistributable Package 2008 (32 Bit, 64 Bit) installed.
    * Q: Why is there only one version of the tools for 64 bit systems?
          o A: SSE exists for 32 Bit CPUs only. Therefore, making x64 tools with SSE is not even possible. All 64 bit processors possess the SSE2 architecture for common usage and to run 32 Bit programs which use it, though.
    * Q: Will more updates on this come?
          o A: If there is a need, there is a will. Just let me know in this thread if there is something you think should be changed/added/looked into.
    * Q: Why "Super"?
          o A: The traditional Half-Life Tool convention shows that whenever the tools development changed its developer, the new developer puts his name in the tools' title. That probably was okay, since back then huge changes were applied. But now, that we are only doing small changes, and multiple people are applying these, we don't want the title to include one specific name anymore, so I just prepended "Super", to indicate they are ahead of the old ones.




For command reference, you can still visit the original website of ZHLT, zhlt.info.