Version 25 (2011/10/23)

---- Func_detail attribute set to increase the level of detail collision case
This can reduce the number of func_detail use clipnode.
The default value is 1, the increase in the number of words will increase clipnode, it should not be increased.
Fill in the number of 0 can be further reduced clipnode, but the details of the collision of solid shell no longer use the exact contents of the block-specific algorithms.

---- Fix Version 24 of the code to improve handling of light and shadow on the continuity of a small error.
The error performance of "AddPatchToTriangulation: internal error 1." Warning, but even if the warning will not be much problem.

Version 24 (2011/8/19)

---- Automatic processing of the dynamic problem of excessive light style
Since each side of the light information up to 4 different light patterns, when the same surface at the same time receive more than 4 different styles of lighting, it must give up some of the styles.
The new algorithm ensures that only the smaller brightness pattern is discarded, thus avoiding the problem occurs when the style was too much black block phenomenon.
This is generally no longer need to manually set-coring parameters to avoid too much style issues. Also note that coring the default value from 0.1 down to 0.01.

---- Increase func_detail entity
Similar to the origin of the func_detail entity, is a special kind of solid, although a solid but not participate vis compile.
Generally used for complex objects such as cylinder and the terrain, they can be converted to func_detail.
Special attention to water and the sky can not be converted to solid contents func_detail.
Compared with the solid: not cutting block, you can speed up vis compilation speed, can choose not to cut the adjacent solid surface, the contents will not be confusing warning.
Compared with func_wall: do not take up solid number of entities, so the ground above the mdl to provide the correct lighting information, you can choose to cut the adjacent solid surface for better lighting, more accurate vis contains the information will help fps.
The disadvantage is func_detail will be cut and other solid func_wall not.

Properties in the detail level is bsp into order, fill in 0 is an ordinary solid, func_detail here generally filled 1,2, etc.,
The lower the level of the solid block in the bsp process to be divided more first and only level 0 will be divided vis solid block,
The solid block is always the same level each cutting (cutting some overlap), low-level solid block always cut a solid block of high-level,
If you need high-level of solid low-level solid block cutting block, the need for any of them in a change in the property to determine the cut.

---- You can set a solid block of bullets and grenades do not stop
Ordinary solid block any surface texture can be labeled CLIP,
For example do barbed wire, barbed wire front and back paste texture, four sides attached CLIP.
Need to add zhlt.wad

---- Increase SOLIDHINT special texture to optimize the bsp into
Attached to the side of general solid block, is connected to the general usage of the two solid blocks of time to have a consistent surface coincides Sticking SOLIDHINT this texture, but also with the SKIP texture alone, to provide candidates for the bsp division plane, which may optimize the bsp division, reducing the number of surface and file size, disadvantage is likely to increase the number of planes.
General use case is:
1 is connected to the complexity of two solid blocks, butt face just completely overlap invisible, then it can be affixed SOLIDHINT texture, because otherwise the compiler will optimize away completely invisible surface does not participate in bsp division.
(2) makes up the terrain with a triangular prism, such as the production of the mountain with terrain generator, you need three of each triangle side column labeled SOLIDHINT texture, thus reducing the surface topography of each cutting.
HINT is the difference with the texture:
HINT texture is generally used in conjunction with SKIP is used to divide space, the purpose of sub-blocks by optimizing vis, the compiler will follow the plane of the HINT HINT for bsp where the block segmentation.
SOLIDHINT texture is generally attached to the general surface of the solid block of invisible, to divide the adjacent solid, solid surface is to avoid cutting each other, the compiler will decide whether the actual segmentation.

---- Increase AllocBlock statistics
AllocBlock is a game engine limitations, when the total area of ??more than a certain value, the light map to load map will appear AllocBlock: full error, which is produced when a large map of the major difficulties encountered.
Now in the bsp statistics report will be calculated and displayed AllocBlock saturation level, to help the cartographer to avoid AllocBlock: full problem.
In the absence of engine source code is made by Quake source code, so if you find the saturation level and the actual report whether any bias error, please tell me in order to improve.

---- Change the way MAX_MAP_LEAFS warning
limit the maximum number of leaf was originally 8192, this is a game engine limitation, but it was not tested that more than 8192 problems, but some people found some minor problems on the display.
Quake in reference to the source code, use the following intermediate program:
Allow more than 8192 leaf number, leaf number and total (solid + entities) more than 8192 without warning, but visleaf (ie, solid leaf) give a warning when more than 8192.
Now visleaf bsp statistics report the number will show up.

---- Solid surface can sometimes fix the problem through the light
Produced water, if you do not set the transparency, it is recommended to use premium solid texture of the method directly.
Let the underwater light, you need to put lights, or set the water to light texture.

---- Repair func_water surface texture for the light to light the problem is not down

---- Change the HINT approach
In addition to the original bsp process to be divided on the HINT of a strange set, so now divided into blocks with the HINT + SKIP no problem.
Also now with the SKIP HINT to use, can not be used alone, or they will be seen as ordinary solid block, not the past that people wear.

---- Continue to improve the continuity of light and shadow

---- Automatically aaatrigger texture is not visible

---- Estimate parameters displayed by default on the end of progress and hlbsp enabled by default chart parameters display bsp statistics report

---- Hlrad adjust the default gamma values ??from 0.5 to 0.55, the default texture reflected light to adjust gamma values ??from 2.5 to 2.2
After analysis and testing, this value is more realistic and the game's default settings.

---- Hlrad way to change the default vismatrix sparse
Because of sparse errors can be avoided MAX_PATCHES and reduce memory usage, and no other disadvantages in addition to a slight increase in compile time.
Note that setting vismatrix way change the command line parameters:-vismatrix normal,-vismatrix sparse and-vismatrix off
Still compatible with the current through the settings.txt old command-line parameters-sparse and-nomatrix

---- Number of different textures from the 512 to 4096 limit
The test can be displayed

---- Maps + / -4096 for external force is no longer used maxnodesize block divided
Location can be avoided when making the total outside surface is indiscriminately

---- Chinese name allows texture

---- Rewrite hlcsg wad list of custom functions
Custom wad list function is replaced at compile time in Hammer wad set, specify the maps need to use and packed wad file.
New parameters such as the use of plus-wadcfgfile samplewadconfig.txt
One samplewadconfig.txt is wad list file, note that different from before is that a file can only contain a wad list.
When the wad list file or folder in the map compiler folder, simply specify the file name or relative path without specifying the full path.

---- Version 6 of the changes to improve the brightness function mdl

---- Using vs2010 compiled code, resulting in larger file size and speed may be reduced by 10%
I reinstall the system is not installed on vs6

---- When the repair occurs when two planes are very close to the strange black block problem

---- Other changes
Repeat to add generating shell repair the plane problem
Remove version 19 in the gamma enhanced mode error handling
Choose not to repair the physical properties of visible texture contents information loss problem
Argument does not work repairing the problem hlcsg of nullfile
Repair sky to func_group error problem
Repair using both automatic wad detection and replacement of solid physical models function in a test map texture error can not find the problem occurs
Repair on the same plane can be simultaneously positive and negative light when they meet problems
Repair the cracks that the file that pts and lin file some incorrect points
Solid opaque sky outside entity no longer cast a shadow
Maximum increase vis data
Texture light light_surface entity default automatically according to the brightness of the light issued to determine whether to use the fast mode
Update only when the entity does not change the texture file list
hlbsp contents chaos more specific tips
hlrad texture not found error prompt more specific
Remove hlrad of maxlight option because this option has no value, and not compatible with dynamic lighting.
Remove version 8 added opaque entities intersection of cutting options, as it has no use.
The hullfile parameters using hlcsg need to specify the full path, if hullfile in the map folder or compiler folder.
Optimization of the surface removed from the solid block embedded in other part of the cutting sequence
Increase the viewing portal functionality is hlbsp plus parameter-viewportal, and then loaded with bspviewer pts file or hammer, but more chaos.

Version 23 (2011/1/9)

---- New light_surface entities more flexibility in setting the texture light.

How to use:
In the settings to add zhlt.fgd, and then placed light_surface entity.
For example, you make a light glow, then fill in the name of the texture of the light texture of the paste, to give texture to increase the brightness is the brightness.

The brightness of the texture:
The brightness of the game can show up to 80. Textures even brighter than 80 before light, but also the environment according to more light, and light texture seen in the game itself can not see the difference.
Note that the brightness mentioned here are not yet considered the texture color.
Actually see the degree of light and dark and light texture that can emit light of how much is the same color and texture from the texture brightness determined.

Other property:
Although the surface may be due to the different paste with a light texture, but want to set different brightness and style, then you can take advantage of several key limitations light_surface filter scope.
Add, when a face at the same time meet the multiple light_surface entity, just take a light_surface recent work.
Point of two default 90, the proportion of the default 1.0, uniform texture is usually light. Fill a large angle to fill a small proportion can be used in searchlights and so on.
Sample spacing is because the texture of light can only be simulated with a point light source. The smaller the value the more light, more light, but even compile more slowly. The number of light can be reflected in the compilation report.
Compiled using a similar quick calculation method to calculate the reflected light texture light, fast but the results are rough, in the case of light texture with a very large area.
There are two types of entity conversion, the difference is in the light of each Board cs reset, light_spot not reset.
Light in the rest of the keys is how the game open and close and dynamic changes in the general settings.

---- When choosing bsp cutting initiative in order to avoid accuracy problems
This is to follow the source of the practice, there is some effect from the test run.
Note that now the process of compiling the program will generate pln csg bsp file for the program to use.

---- When the light texture brightness repair dark without light problem

---- Zhlt. Wad no longer necessary

---- Light reflection to eight times the default value

---- Delete splitface texture

---- Remove hlrad the softlight, falloff and other unwanted parameters

Version 22 (2010/12/23)

---- Reflected light and light texture affected by the texture color
For example, 100% white light reflection texture, black texture does not reflect light.
Reflected light intensity of the color texture gamma value of 2.5, which is testing the game on the superposition of light and texture information after the manner determined.
Parameters by hlrad plus gamma-texreflectgamma <gamma?(??2.5)> change this value.
Parameters by hlrad plus-texreflectscale <ratio (default 1.0)> adjust the reflected light intensity (that is, changing the reflectivity of white texture).
Also not set "opaque" entity will no reflected light.
Because light texture color texture now issued under the light, so no need to define the light texture of different textures when set in different colors.

---- Transparent texture (the beginning of the symbol {texture) does not block light transparent part of the
That is transparent and opaque color textures used in the entity, in accordance with the texture of the actual shape of the opaque part of the cast shadow.

---- As hlrad wad file to read from the texture is not packaged, you need to set wad path.
Add parameter set is hlrad:-waddir <wad?????>
May be added-waddir parameters.
Recommended the installation instructions in the settings.txt set.

---- Not fixed entities bug in reflected light and the reflected light of other similar errors

---- Order to maintain the original order of the solid
This ensures that the surface func_group solid surface coincides with the ordinary, the first show func_group face.

---- Fix the previous version hlbsp possible surface with no faces the wrong question

---- Repair hlbsp appear in the result hlrad internal error in PairEdges issue warning

---- Repair hlbsp which may lead to hlrad appear bad surface extents error problem

---- Effect of light penetration to support the three figures were set rgb

---- You can view the resulting shell surface
Is hlcsg plus-viewsurface parameters, then generate the pts file loaded hammer.

Version 21 (12/8/2010)

---- Increase light penetration effect.
Principle is to make the texture over the back light can be illuminated.
Can be used for cloth, clear plastic, glass and other rough texture.
The role of light penetration effects can be opaque in solid or entity.
How to use:
Placed anywhere on the entity type info_translucent point, turn off optimization mode manually add the key,
Key to fill in the texture name, fill in the back of the light ratio values ??(range: 0.0 to 1.0, 0.0 is only a positive light, back light to only 1.0).
Note that setting the texture of light penetration, only attached to the sheet thickness of less than 2, otherwise the light can not penetrate. (By hlrad parameters-depth # change the maximum thickness)

---- Increase to eliminate the black side of the opaque physical function
When the opaque cover the surface of the part of the entity, the covered area is black, but because the black areas of the region can not be completely consistent with the cover, there will also cover the region outside the black area to see the problem.
This feature will be covered in opaque light still point to the external processing entity, thereby eliminating the black bars will increase the rad compile time.
The default is on. Close method: hlrad plus parameter-blockopaque 0

---- By increasing the accuracy of the reduced mixed face contents warning.

---- Repair dynamic light reflected light black block problem.

---- Fix Version 20 update caused light_shadow physical failures.

---- Fix Version 18 update result can not generate pts, lin file problem.

Version 20 (11/21/2010)

---- Sample is too small to solve the sky light the sky caused by indoor light shines through the window, the phenomenon of uneven patches.
The solution is to reduce the density of sampling points, the direction of increased sampling density is essentially the same compile time.
If you do not want to use this method to add parameter-softsky 0 hlrad to close.

---- BSP-based optimization algorithm opaque entities to improve the complex opaque entities compile speed.
For example cp_egypt1 map, rad compile time from 4 minutes and 27 seconds to 1 minute 14 seconds.

---- The largest block (the leaf) from the 8192 to limit the number 32768.
In the original, not the number of block 8192 is to limit the complexity of the map the most important factor.
Now more than 8192 blocks will show MAX_MAP_LEAFS warning, but will not go wrong if you map the number of blocks more than 8192, and have problems in the game, please told me.
Some tests show that more than 8192 blocks, the game basically no exception (see all blocks even when there is no exception), and no one reflected in the map so they have problems.
The only exception found is that when viewed from outer space map is only part of the block can be displayed.

---- SKIP texture can also specify a solid block is empty. You can get some inferences:
1 beginning of the previous version of the Content without using the basic texture necessary.
2 can be replaced with SKIP + NULL block segments SKIP + HINT to optimize the fps. Also because the compiler to set HINT texture space in the division with the highest priority, so the SKIP + HINT If the sub-blocks on the contrary, it will lead to BSP structure is not good, and SKIP + NULL does not have this problem.
3 create special complex entity, if you want to avoid overlap solid blocks overlap resulting surface is removed, should be used "single face" to build an entity. "Single face" approach is a solid block of one (or more) surface visible texture paste, paste SKIP all the rest of the surface texture.

---- BSP further optimized cutting sequence, can slightly reduce the file size, while increasing the vis and rad compilation speed.

---- The same name automatically optimize the light source entity.
The name of the entity prevent too much light, causing the game to load, or an excessive number of run-time error edict.

---- You can set the name of two different entities jointly control a light source style.
Use:
When the trigger source entity can set a pattern for the different light intensity, not just on or off.
Method:
If now there are some that can be called light1 light switch, then their corresponding light pattern is light1.
Then place a light source called light2 entity and the light is set to 0, to add it manually key zhlt_usestyle value light1, so that it corresponds to the light pattern on the force to the light1.
If you need to switch the game light1 style half the normal brightness and the brightness of these two models, then light1 entity custom style fill "m", light2 entity custom style fill "g".
Compiled into the game, then open the light1 off light1 physical entity that is normal brightness, turn off light2 light2 entity is an entity and then open the half brightness.

---- Repair hlrad a bug, expressed as a surface map of the first reflected light is missing.

---- Continue to improve the algorithm for continuous lighting.

---- You can set the texture corresponding to the critical angle of light smooth blend
Method is to add info_smoothvalue entity, attribute to manually add the key: the texture name; value: the maximum angle (0-90).

Version 19 (2010/9/18)

---- Enhanced anti-aliasing mode (ie-extra enhanced mode) of the anti-aliasing

---- Can make a solid block is empty (do not stop bullets, grenades, flashlight, etc.)
Method is to block any solid surface texture can be attached ContentEmpty.
Use:
1 production of barbed wire, fences and other entities through the solid bullets.
Example, some want func_door the wire through the bullets, then the wire in a random player can not see the face, such as the bottom, the texture into ContentEmpty.
This compilation does not stop the bullet came out barbed wire, but there is a side effect is that players can go through.
Therefore, also coincides with the wire attached to place a full-CLIP texture of solid blocks, and then bind it to the original func_door in, you can stop a player.
(2) the sky is too high to solve the open part of the mdl light failures
Is not too high in the open part of the top position to put a solid block, bottom paste sky, the other side attached ContentEmpty.
This solid block of work on mdl light, but not the same as the real sky blocking the sun's rays VIS and issued.

---- Map texture files stored in the list, delete the file path to retain only the texture file name, to avoid the disclosure of privacy.

---- HINT solid block optimization using a map, embedded in a solid block wall HINT case, HINT solid block walls will no longer be chopped.

---- You can customize the scope of the solid box entity
The default range of solid entity that contains the solid box is the smallest rectangular solid.
Manually define the scope and definition of the entity axis box approach similar to that to be a rectangular solid block, labeled BoundingBox texture, and then bound to the solid entity.
Use:
1.func_pushable range of collision detection is based on the box, that player is actually a push to promote its range of boxes.
(2) When an entity completely solid in the sky outside the default is not visible, but within the range of boxes into the sky can be seen to solid entities.

---- The first map of the surface to solve the reflected light black BUG

---- Continue to improve the algorithm for continuous lighting

Version 18 (2010/9/5)

---- Basic repair of light and shadow discontinuities, adjacent to the junction surface is difficult to see
Repair the BSP to determine whether the two faces adjacent to the error.
Still using the new light position calculation.
Using the new method of taking the average of the reflected light.
Note: The physical properties of solid light and shadow options, "caught" and "concave body" two options had been abolished.

---- BSP solution polygonal cutting errors in the VIS is not correct and Leaf portal saw into leaf error
If you see a compile-time in the past Warning: Leaf portal saw into leaf, and the subsequent two-point coordinates of the data will be very similar, as is the case.

---- By raising the upper limit to solve the problem Exceeded MAX_LEAF_FACES

---- Automatically remove the solids in the sky, sky textures inside surface of the non-
For a large number of coincident surface and SKY map is useful

---- To solve water problems func_water double

---- To allow entities to empty clip that contains only origin or solid block
Actually solve the solid entity is empty, the better approach is to bundle together HINT solid blocks to the solid entity.

---- The map automatically fill the gap within
There is no physical gap refers to the confined space, usually do figure negligence.
Autofill will only remove one of the blocks can be met and will not fill the collision case, all the best solution is to manually fill in these gaps dead.
BSP can add parameters-noinsidefill off this optimization, in order to facilitate finding the gap.

---- Number of optimized patch
Patch can be reduced about 20% of the total, and it will improve the quality of light and shadow.

---- NULL address all surface texture all posted solid block inexplicably go away

---- Can easily set a solid block of housing does not generate collision
The solid block into func_group entity (be the first to add zhlt.fgd), and set the property in case you can not generate collisions.
func_group entity is really just for editorial convenience, this entity in the solid block at compile time and converted back to solid.
This version also fixes func_group in physical mode only update error problem.

---- Automatically deleted p0, p1, p2, p3, and empty pts, lin file
Because after BSP runs p0, p1, p2, p3 can not be used again on

---- BSP run automatically delete unwanted information and texture data, texture arrangement
Because the texture information and texture data is written when the CSG, CSG and BSP but optimize away useless after the surface, such as CLIP, NULL, HINT, SKIP and other texture data becomes redundant.

---- Not allowed to run RAD VIS is compiled reflected light

Version 17 (2010/7/17)

---- Fix serious bug on the type of plane
Making the player to solve a complex map or dropped inexplicably stuck underground problem
Blocks appear to solve some problem of the black block

---- Repair solid blocks by sorting the contents of the error
This error causes the contents of the order is not correct, affect the calculation bsp
And will lead to water and solid block contains the number of entities greater than 1, the solid block somehow lost or replaced

---- Repair the edge of the surface reflected light of a serious bug in the interpolation does not lead to continuous light

---- Collision repair improved algorithm for a problem case

---- When no texture no longer continue to build

---- Bsp add-nohull2 help MAX_MAP_CLIPNODES error parameters
Can not generate a crash to reduce the shell 2 1 / 3 the number of CLIPNODES
Case 2 is the role of collisions of large objects (some pushable and monster) of

---- Delete the previous version info_hullzone
Only to find that things useless, does not directly put the clip on the line.

---- Streamline too many light styles warning
Because of this warning is usually a large number of repeated, if not, then the event will be streamlined so that many can not compile.

---- Rejoin the edge of the solid light repair

---- Rad style lighting to increase the total number of the map display
Because there is always someone named especially like to light

---- Remove version 13 on the back of the repair of water entities
Because it will lead to bsp in the contents of some of the problems

---- The default maximum texture information storage (-texdata parameter) and maximum illumination information is stored (-lightdata parameters) were increased to 32MB
This usually does not increase the physical memory consumption it

---- Repair csg-chart display using texture map information is displayed as part of the problem 0

---- Slightly improved bsp map the entity to determine the internal and external methods

Version 16 (2010/6/16)

---- Better light normal smooth mixing
Smooth and light mix used to make normal objects look smooth cylinder, etc.
New algorithm not only calculating the midpoint of each side of normal, also calculated for each vertex normals, more smooth and precise

---- You can specify a different surface texture of the adjacent smooth blend between the critical angle of light
Use hlrad of-smooth2 parameter set
Setting, adjacent to the surface if the same texture, then, like the original, the angle difference is less than the specified value will-smooth smooth blend; if the texture is different then the only point of difference is less than the specified value-smooth2 only when the smooth Hybrid.
For example, you do not want to face the different textures between the smooth mixture, then add the parameter-smooth2 0

---- You can only specify the area of ??solid blocks of generated collision case, to help resolve MAX_MAP_CLIPNODES error
Creating info_hullzone solid entity (the first load zhlt.fgd), then compiled it all out in solid blocks, will delete the collision case (not blocking the player).
Only acting on the solid world of solid blocks, does not affect the solid entity.
There are a large number of players the map can not reach the area, you can use this function to solve MAX_MAP_CLIPNODES error:
Players can place info_hullzone entities come to the area covered, and then do not forget to clip and then a solid block of the players and other points where the area enclosed entity, or cracks may appear wrong.
Of course, the use of Nullnoclip texture can solve the problem, but info_hullzone more convenient to use.

---- Fix the previous version info_sunlight the target entity to determine the angle calculation error

---- Now, when using a single light_environment angle is automatically set to the value of the engine can be identified without the use of info_sunlight entity
Game engine identification light_environment principle is that only recognizes a light_environment, color brightness and angle of identification only when the mdl (player models, arm, placed the map mdl) is located light_environment direct range, the brightness and angle using light_environment as a model brightness and illumination angle.
So use the switch light_environment, or use multiple light_environment, or make the night map, it is recommended to use info_sunlight manually set.
Such as the production of maps at night, when the players in the outdoors, even in the light player models looked very black, then put info_sunlight and set up angle (or brightness to 0) and compile, then engine will use the player as the foot of the actual brightness the brightness of the player model, rather than light_environment brightness set very dark.

---- Repair csg use only way to update the entity will remove the log of the compile-time problems

Version 15 (2010/5/31)

---- Increase physical info_sunlight solve the game engine can not correctly identify the problem light_environment angle settings
The game does not recognize light_environment the tilt angle and direction of the objectives set, does not recognize multiple light_environment entity, will lead the lighting ineffective mdl
Add info_sunlight entity, will be compiled at the end of the list at the end of the entity, automatically create a good light_environment entity set for engine identification
Usage: Load zhlt.fgd, the new point entity info_sunlight, then and light_environment the same settings.

---- Add edit texture maps and texture within the information package features
The bsp onto ripent.exe, and then you can edit the generated files wad, wad after the save on drag ripent.exe
There are two modes:
The default parameters without the time-parse, texture information will copy to the wad in the wad format and add the head, so the compiler is not found and will not appear on the packaging of the wad, everyone with a wally when editing can not move This texture, and texture can not add or delete or order on the chaos.
Add-parse parameters,
  Will resolve all the texture, the texture information stored in a separate list. Tex file, and copied to the texture pack in the wad.
  Use Notepad to edit. Tex file, the first line is the number, the name of the second line is the texture and size of the texture name in square brackets is the length, if it is -1, then representatives of the lack of texture.
  We can change the texture name to replace any texture, you can edit the texture in the wad, you can also add / delete the texture wad in deciding whether to package the texture.

Version 14 (5/12/2010)

---- Increase hlvis global view feature that allows a small overview map produced better
When the production overview solve physical problems do not see most of the
Rationale: This hlvis caused by a block in hlvis set the map you can see all the blocks to solve.
How to use:
Putting a secret room in the sky, not too big, or NULL texture paste sky,
Then put in the chamber inside a info_overview_point entity (immediately after loading with the zhlt.fgd list, select the entity type of this entity),
Into the game, then enter the chamber, you can see the entire map, including all entities overview can be produced at this time.
Note that when making the observer or if it is open noclip, press asdw key observation may lead to the location out of the chamber.


Version 13 (2010/5/11)

---- Increase can switch opaque shadow entity
Principle: add a dynamic lighting style, when the light is blocked by the opaque entity after the light was blocked to the dynamic lighting styles included in the
How to use:
Load zhlt.fgd
Create a solid entity, a name in its physical properties of light and shadow on the opaque option in the election. Be careful not to fill out the custom shadow.
Create a light_shadow point entity, or select a name from the style to make it dynamic lighting, fill out the above solid in goal in the entity's name.
Then light_shadow can operate as a common source.
When light_shadow closed, solid entity is blocking the light when light_shadow open, the shadow disappears (is "light") the.
Not supported when using the option-incremental reflected light of such an entity can switch on the shadow effect

---- Water repair double-entity
Premium and other non-solid solid block of the original map will copy to the back of each side, so you can see the water from inside the texture.
But this solid block entity will cause the engine to render twice, resulting in twice as high transparency (about), but also func_water a double wave.
Repair method is not replicated these entities face.
Cs not test other than the mod.

---- Fix Version 11 different styles to set the value of different coring failure bug when sometimes

---- Repair light_environment and ordinary light source position close to the global role of the failure cause light_environment bug

---- Settings.txt repair the bug does not exist

---- Speaking of simply compiling the report (including the compilation error), plus parameter-lang chs.txt before opening (can be set to settings.txt)


Version 12 (2010/5/1)

---- Increases the compilation parameter file settings.txt, note hlcsg, hlbsp, hlvis, hlrad, ripent run automatically read this file
Build parameter file compiled using a number of parameters, together with common parameter descriptions. Support the bsp / ent files directly onto the ripent.exe achieve export / import.

---- On a slightly modified version of dynamic lighting handled the situation reflected light

---- Repair compression algorithm using transfer failures when-incremental parameter


Version 11 (2010/4/15)

---- Increase the console display, easy to use to view the progress of the case compiled ValveHammerEditor
If you feel tired of pop-up window can be closed with the parameter-console 0.

---- Other entities, entities can use the model key
A physical model can be copied to the key entities B, by adding key to entity B: zhlt_usemodel, value: entity A's name.
Note that you must first create an entity created after the entity B. A
Example:

1 can do a broken mdl:
Place a cycler_sprite called a, broken models to fill the mdl, set to invisible (rendering mode to fill texture, transparency, fill in 0).
Then do a axis func_breakable called b, the shape does not matter, but let b axis (origin of solid blocks) and a axis (small fork position) coincide.
Adding to the b key: the key to fill zhlt_usemodel, fill in the value of a.
Now you can compile and run, but because the model b replaced mdl, will lead to the gun hit.
So do a shape and a coincidence of the invisible (NULL texture paste) the func_breakable, and set the break when the target of b can be triggered.

(2) do a lot of func_breakable glass, using the same model to save resources (because the game allows up to 512 different models):
Provided that the shape and angle of the glass must be consistent. And if the rendering mode is the normal or solid, then I suggest not to do so, otherwise they will light the information is the same.
One method is to make glass, attention must be the axis, and then copied to other desired location.
To the beginning to do that named such as glass c, add the rest of the glass key: key to fill zhlt_usemodel, fill in the value of c.

---- Repair hlrad problem of dynamic light coring
Dynamic light source is from the name or specify a dynamic light style light
The dynamics of the same name or choose the same style the same style of dynamic light
Each side can only accept up to three different styles of lighting, and each faces a different style, the more the greater the volume bsp
coring is to reduce the number of patterns stored in each side, remove the brightness is less than the critical value of the style (the threshold parameter specified by-coring)
This version fixes the coring of the texture light and reflected light of the support problem of poor
Now you can also add zhlt_stylecoring key to the light source entity separate light source is located in the style of the specified threshold

---- You can still see the light distribution of points
Point is still light illumination information storage unit, located on each surface, the density and texture scaling.
hlrad plus parameter-drawsample xyzr, will coordinate (x, y, z) within the distance r near the point of light still saved to the "Map name _sample.pts", check that the same methods and view patch.

---- Repair hlrad half-light of a small entity issue

---- Repair hlcsg mix in texture judgments of the bug. And now allows mixed use of solid textures and water textures.


Version 10 (2010/3/28)

---- Removed Version 9 for solid edge through the light problems repaired

---- Using compression algorithm to save memory

hlrad compiled in the main memory consumption on the transfer of the storage
transfer is recorded patch (reflected light samples) between the reflected light weight of the matrix generated in MakeScales step, the calculation for the reflected light
The default value is stored for each occupation 32bit (4 bytes) of memory, but in fact no need so precise, so a compression
Compression and decompression time consuming: each 1G a transfer, MakeScales time and every time BounceGatherLight time increased 5-20 seconds

Parameters can be compiled using hlrad-compress # change the compression level, 0 for 32bit, 1 representative of 16bit (default), 2 for 8bit
If the set-rgbtransfers parameters, you should use the-rgbcompress # instead of-compress #, 0 on behalf of 96bit, 1 representative of 48bit, 2 on behalf of 32bit (default), and 3 24bit

View the memory transfer method, find the compilation report the following location
Transfer Lists: 974532: 974.53k transfers
       Indices: 875712: 855.19k bytes
          Data: 3898128: 3.72M bytes
Line 1 is the transfer of the number of lines 2 and 3 is the memory (divided into two parts)


Version 9 (2010/3/2)
---- Repair solid edge through the light problems

---- Still repair the light position error problem

---- Hlrad increase the parameter-drawpatch used to generate the pts file containing the patch information
Use this parameter to compile complete, the Point Editor "Map" menu "Open pts file" to open the build folder "map name _patch.pts",
3D view can be seen in the reflected light is used to calculate the position of the sample, can be of interest to try


Version 8 (2010/2/9)

---- Support for multiple light_environment entities.

---- Hlcsg can be a single entity for the entire map or zoom in
Principle is that when reading the map file to move or scale vertex solid entity, the entity axis point and texture
Use "-scale value" parameter scaling the entire map, the value can be fractional.
Add key zhlt_transform solid entity can zoom and move the solid block, set the value of the first three numbers of the center of the zoom, the zoom ratio for the first four, the first 5-7 months of distance, each number separated by a space.
If you get the point entities and solid entities axis position is not an integer, will be similar to an integer.
Vertex coordinates do not approximate, because the coordinates of the vertices in the bsp is not necessarily must be an integer.

---- Automatically detect all the letters AZ to determine the actual path of the texture, so we would not find the texture is generally the case

---- Game_text fill in the text is automatically converted to utf8 encoding, so you can directly fill in the game (cs1.6) to display Chinese

---- Increase the minimum brightness setting parameter-minlight
Here is the final adjustment of the minimum write bsp brightness range is 0-255 integer. Not scale, gamma and the like parameters, write just the bsp brightness greater than 0 in the game is not all black.

---- End processing parameters such as gamma values ??to better support dynamic lighting
gamma value is non-linear brightness adjustment of the final, but the game between the different lighting style is linear superposition of light, the original program does not fully take this into account.
For example, do two different house, a place two light, the other in the same place to put the same light, but one filled name (as dynamic lighting), compiled with the-coring 0 parameter, you will find two brightness of the room (1:1.4).

---- Opaque entities added option: cut and it intersects the solid surface, the value added by key zhlt_lightflags 8 set, when the opaque black, unusual physical surroundings can try this option

---- Version 6 fixes below mdl change the brightness of the small sample problem

---- For consistency, the final RGB brighter than a simple set to be 255 255, while maintaining the color is no longer the case of compression than RGB brightness.

---- Increase BEVELbrush textures for solid blocks affixed CLIP beginning, it will all face with BEVEL texture features.

---- Size + / -16 384 back to an + / -32768


Version 6 (2010/1/19)

---- You can change the brightness of points below the mdl mdl brightness unusual problems to solve
Model mdl file in the game with the ambient light brightness changes, specifically, mdl brightness is below the solid surface it is the brightness of the decision
Sometimes mdl should have been light, but just below the axis is in the shadows, then it will appear unusually dark mdl
Solution: In the shadow of the field surface side put a info_null entity, fill in name,
And then to the player mdl entities manually add keys, key: zhlt_copylight, value: the name of the entity that info_null
This compilation will bring info_null below the sample copy to the light just below the sample mdl light

---- Modified algorithm for the special circumstances of the reflected light.


Version 5 (2010/1/16)

---- The original + / -4096 to limit the size of + / -16 384 so the location can be made arbitrarily large.
But be careful not to let the player out of the + / -4096, they should not be placed on the entity axis + / -4096 outside, or will not display properly.

---- Add texture individually set each chop function.
Method: Add info_chopscale, manually add the key, key = texture name, value = chop the adjustment ratio,
Example, want to paste the texture of all faces of a double chop, the value to fill 2

---- Opaque entities in a substantial increase in computing speed
Principle: the calculation of each light is blocked by opaque entity, the original is followed by detection of each opaque surface, is now
The first test whether the light passes through the approximate range of opaque entity, the entity then carefully test each side.


Version 4 (2010/1/12)

---- Add 3.4 transparency.cpp, and fix one error.
  Now entities custom shadow can finally work in the case of a vismatrix

---- Add custom clip (collision zone) function.
  For ordinary solid block, add the key by entities zhlt_noclip 1, or a surface of a solid block of paste Nullnoclip texture, remove the solid block clip. For worldspawn entity (ie, all solid) is also effective.
  For the paste clip at the beginning of a solid block of texture, the texture is normal if you paste the clip clip solid block, the block will generate a solid all cliphull. If the beginning of the texture paste cliphull paste texture is only generated corresponding cliphull.
Example:
1 set only crouch / stand when the trigger class entities caused by
  Originally posted aaatrigger change the surface texture paste cliphull3/cliphull1, do a paste into the maps, null solid block to prevent the entity can not meet the error, to entities with
2 Only when squatting to the narrow channel through
  Via the first channel to do normal, then add a layer of the wall around again so narrow channel (do not turn physical), then add the solid wall of each block have to find one of the games posted nullnoclip invisible surface texture,
  Then add a copy but paste cliphull1 wall texture, you can let the player must bend. The player must be careful to enter the channel after the squat too close to the wall to see through.
3 limit is set to "large" entity that can promote the range of movement
  Placing stickers cliphull2 solid block, then choose the size of the entity func_pushable "Large size 64x64x64", you will find pushable into the game that will be a solid block of the block, but players will not.

---- Entity can remove the light information.
  Method: Add key zhlt_striprad 1, when compiled in hlrad light to remove the entity information (lightmap)
  Model can be used to render pure color, texture or additional entities, because only the needs of ordinary light and solid rendering mode information is not a bug, then later changed to automatically determine the rendering mode.
  Such as large areas of translucent glass surface or use of this feature can reduce the size of the map.

---- SKIP allows the entity has posted a solid block. Use it, SKIP will cut entities face.

---- Hlcsg automatically add-wadautodetect parameters it should be no side effects.

---- Hlrad delete SwapTransfers steps. Ah.

---- Custom shadow angle can be changed with the light transmission


Version 3 (2010/1/5)
---- Add the option-bscale adjust the reflected light intensity, that shine on the surface of how much light is reflected,
0.5 Some of the original is the default large (0.5 equivalent of snow), the proposed set of 0.05 to 0.5.
---- Entity "opaque" key can now stop the sky light (the cost of slower speed)
---- A small semi-transparent entity fixes
---- A small command line parsing fixes
Description: The finishing of the source file, recompile all


Version 2 (2009/12/23)
---- Modified algorithm for the special circumstances
---- Simplify the calculation MakeScale


Version 1 (2009/12/21)
---- Fixed unusual open-air scene reflected light bug
Description:
hlcsg, hlbsp direct uses version 3.4
hlvis, hlrad based zhlt merl's build 1.7 to modify and compile the source code