Brief overview
GRAPHICS
1) Required OpenGL version raised to GL 3.3. This version is supposed to be final for the nearest years.
ARB shaders removed completely. Some further cleanup done.
2) The rendering now works on the "new backend" by default, and the old backend is marked for removal in future.
The new backend is not only a major refactoring of OpenGL-related code, but also a strong movement towards minimizing driver overhead.
It includes improvements like: UBO streaming, bindless textures, multidrawindirect commands, lightgem triple buffering.
3) The additional color correction that got included into 2.08 has been disabled.
Also gamma/brightness settings now affect everything, including: underwater, GUIs, menu, etc.
As the result, the gamma/brightness behavior of TDM 2.07 is fully restored.
4) RGTC texture compression is now used by default for normal maps.
The plan is to convert existing normal maps to DDS files with RGTC compression in future (to reduce load times).
For now compression is done during level load.
5) The well-known cvar com_smp aka "Multi Core Enhancement" optimization has become stable enough to be enabled by default and to be removed from the settings menu.
Its place in experimental settings is now taken by the new parallel optimization: cvar r_useParallelAddModels aka "Frontend Acceleration".
Needless to say, this mode has got a major overhaul and numerous fixes.
6) Added sharpening filter, which is applied to the final rendered image and improves its look.
It is enabled by default, controlled by "Sharpen Image" setting in the menu.
7) Fixed "borderless" fullscreen mode (Windows-only).
Ironically, it was broken in 2.08 release and worked exactly the same as ordinary fullscreen mode.
Now it should hopefully work as intended.
MAPPING
1) First implementation of "hot reload" feature: updating new map changes without restarting game.
It is also integrated into DarkRadiant (with the help of DarkRadiant devs , of course).
Here is the wiki page about it (beware: it is quite technical ).
Please report related issues and feedback to the dedicated forum discussion.
2) Finally, the rotation hack is totally removed from any map when player loads it.
For any entity, bad rotation is embedded into its model.
Internally, the transformed model is saved on player's machine as "proxy model" (4970).
3) Particle systems were greatly refactored, fixing the issue with bounding box (5136).
Added "mapLayout linear" mode to particle static collisions, which allows snow or fire to stop at objects (5437).
See also wiki page about particle collisions.
4) Every warning about missing image/sound is followed by detailed explanation how it was referenced.
It is controlled by decl_stack cvar and is enabled by default.
It is already helping us in a desperate fight with console warnings
5) A bunch of console warnings were fixed or disabled.
More fixes will follow in future.
6) GUI scripts got some attention due to the story of menu refactoring (5323 - not done yet).
Fixed awful bug about lost GUI commands. Added much more debug logging under LC_MAINMENU/LT_DEBUG.
ASSETS
1 ) Added bed/shelf/desk prefabs and desk models by Dragofer.
2) Streamlined and cleaned up TDM's prefabs. Make sure to also get DR 2.11 for its greatly improved handling of prefabs! (5499)
3 ) Added new statue provided by LDAsh.
4 ) Added moving version of Epifire's steam engine as a prefab provided by bikerdude. (beta4)
5 ) Added blue version of the fire elemental.
6 ) Added display cabinet provided by bikerdude.
7 ) Added naval clock decorative item by Dragofer.
8 ) Added openable version of the display case with prefabs.
9 ) Added Dram's animated firefly particles and prefabs in 4 colours.
10) Added or restored ambient AI entities and prefabs.
11 ) Fixed sounds from unlit/extinguished gas lamp (5216).
12 ) Various asset fixes: cathedral_torn skin for paintings, chandelier_ornate02 model, restored prefab of AIs playing dice etc.
13 ) Fixes for the manbeast character by Dragofer and Kingsal.
GAMEPLAY
1) Conversation and other sounds are no longer stopped by saving or going to main menu (4341).
2) Added experimental gamepad support (instructions here 5400).
3) Creeping now works in "always run" mode (5320).
BUGFIXING
cull objects behind mirrors (4946),
AAS limit on dmap,
inventory cursor crashes (5302),
blurry parchments fonts,
lockpick highlight,
black screenshot in downloader (4488),
crash on door unlocking (5318),
hyphens in skin files (5322),
doors stuck after long play (5331),
bind/unbind crash (5409),
custom fire arrows crash;
TROUBLESHOOTING CVARS
* r_useNewBackend --- which rendering backend to use. Default value of 1 means using the new one.
In case of graphical issues, it might be worth trying to set it to 0 to check if issue goes away.
Note: please report all problems which happen with value of 1, but don't happen with value of 0 !
Most likely the old backend will be deleted completely by TDM 2.10, so if there is any problem with it, it's better to know about it now.
* r_usePersistentMapping, r_useMultiDrawIndirect, r_useBindlessTextures, r_gpuBufferNonpersistentUpdateMode ---
cvars for enabling/disabling various code paths in rendering backend (some of them only work with new backend).
In case of graphical problems, changing one of these might help. But even if it does, please report the original issue to us!
* r_useParallelAddModels --- controls new acceleration for rendering frontend.
Can be changed in Experimental graphics menu under name "Frontend Acceleration".
It can potentially cause crashes, including rare and nondeterminstic ones =(
* g_entityBindNew --- switches the code for binding entities between the old and the new one.
Might be relevant in case of crashes, attachment/bind issues.
* r_postprocess_XXX (6 cvars) --- affect color correction and gamma/brightness. If you decide to use old darkmod.cfg, then be sure to reset them all to defaults, otherwise you'll have overly bright main menu.
MORE CVARS
* r_shadowMapSinglePass --- experimental optimization for shadow maps only.
By default it is 0 (disabled), it can be enabled to 1 (generate many shadow maps at once) and 2 (compute interactions from many light at once).
We would be happy if you post your results
* in_pad* --- configuring gamepad (experimental). See more info here.
* decl_stack --- enables/disables "stack trace" for missing asset warnings.
NEW COMMANDS
* reloadMap --- that's manual hot reload command without DR. Forces reload of changes from the .map file.
* respawn {entityname} --- deletes and spawns afresh entity with specified name (from .map file).
* bindPadButton ??? --- controls experimental gamepad bindings, see instructions.