https://wiki.thedarkmod.com/api.php?action=feedcontributions&user=Stifu&feedformat=atomThe DarkMod Wiki - User contributions [en]2024-03-28T11:57:54ZUser contributionsMediaWiki 1.39.5https://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_2.08&diff=26242What's new in TDM 2.082020-03-21T07:14:41Z<p>Stifu: /* Gameplay */</p>
<hr />
<div><!-- keywords whats new --><br />
{{notreleasedyet|2.08}}<br />
See the [http://bugs.thedarkmod.com/roadmap_page.php roadmap] on our bugtracker.<br />
<!-- See the [http://bugs.thedarkmod.com/changelog_page.php?version_id=71 changelog] on our bugtracker. --><br />
<!-- {{released|2.08|XXXX-XX-XX}} --><br />
<br />
<br><br />
<br><br />
<br />
'''<font size="5">The Dark Mod 2.08 New Baseline</font>'''<br />
<br />
<br><br />
<br />
<font size="3">TDM 2.08 casts off the problems with supporting old OpenGL versions by<br />
<br>modernizing all shaders to OpenGL 3.x Core Context compliant GLSL.<br />
<br><br />
<br>Long in development, many fixes related to Multi-Core, Uncapped FPS, and the 64-bit migration <br />
<br>are now available. <br />
<br><br />
<br>For Linux users, the project can now be compiled via cmake<br />
<br><br />
<br>Many new mapper friendly updates for Rain, Fog, Patrolling AI, and visportals have been added.<br />
<br><br />
<br>For the eye-candy crowd, a new SSAO option has been added!</font><br />
<br><br />
<br><br />
<br />
----<br />
<br />
== <br><br> <font size="3">'''Important CVARS'''</font> ==<br />
<br />
'''Old'''<br />
<br />
<br><br />
* '''r_postprocess_gamma''' and '''r_postprocess_brightness''': these cvars have replaced the old r_gamma and r_brightness. Also gamma now has default value "1.2".<br />
* '''r_interactionProgram''' and '''tdm_ambient_method''': this are the current cvars controlling "interaction" and "ambient" programs. These settings were previously available in Advanced video settings, but they are no longer visible in menu. Only change this for some debugging/investigation purposes.<br />
* '''r_uniformTransforms''': setting to 0 is known to fix severe graphical issues on Intel HD 3000; please leave this as default, and let developers know if your machine needs this to run TDM properly. <br />
<br><font size="3">'''New'''</font>:<br />
<br />
<br />
* '''r_glCoreProfile''': default value 2 forces "Core profile" OpenGL context, while value 0 says to create "Compatibility profile". Should have no visual impact. Only takes effect during engine initialization. Only change this is someone suspects that Core profile breaks something.<br />
* '''r_testSpecularFix''': this controls whether specular color or diffuse collor is used to modulate specular light term. Should be used to see what was fixed or broken by the corresponding change. Set to -1 to make game switch back and forth between old and new behavior every second.<br />
* '''g_rotationHack''': with default value 1, every func_static model with nonorthogonal rotation is forked on game start, and its rotation is embedded into the copied model.This is a very hacky workaround for the fact that rotation-hacked models are responsible for various bugs on existing maps. With value 0, nothing special is done, so rotation-hacked models behave as before. Note that you cannot change this cvar during playthrough: it only takes effect when a new game is started. Another effect of this cvar is that the engine forces mappers to set g_rotationHack 0 if they dmap something with rotation-hacked func_statics.<br />
* '''r_ssao_*''': several cvars with this prefix can be used to tweak SSAO implementation. Although ideally you shouldn't have to touch them.<br />
* '''r_usePersistentMapping''', '''r_useMultiDraw''', '''r_useBaseVertex''': use new graphical features for potentially faster rendering. Should not touch these unless it is suspected that one of them causes a problem.<br />
<br />
<br />
<pre><br />
<br />
Experimental Graphics<br />
<br />
* image_useNormalCompression = 2: Initial support for RGTC compression. Similar to AMD 3Dc or D3D BC5. <br />
<br />
Not fully working but fairly complete. Needs new GLSL based materials for water\glass or other complex ARB materials.<br />
<br />
* r_useParallelAddModels: an experimental cvar to further parallelize a considerable part of the renderer. <br />
<br />
Should slightly increase FPS in many cases, but can cause all sort of problems. <br />
<br />
</pre><br />
<br />
<br />
<br />
Swimming variation:<br />
<br />
* pm_swimspeed_variation <br />
* pm_swimspeed_frequency<br />
<br />
<br><br />
<br />
{{clear}}<br />
<br />
== <br>'''AI''' ==<br />
<br />
<br><br />
* AI can now be directly instructed to stop patrolling (easy method)<br />
* AI no longer sleep or sit in strange places due to path obstructions<br />
* AI no longer instantly lose the player when the player moves to darkness above them<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Graphics''' ==<br />
<br />
<br><br />
<font size="4">'''AMBIENT OBSCURANCE SSAO IN 2.08!!'''</font><br><br><br />
<br />
<font size="3">Cabalistic has finally added the much requested SSAO feature to TDM<br />
<br>Using a method called Scalable Ambient Obscurance now areas with flat ambient<br />
<br>lighting come alive with new detail </font><br />
<br />
* Shaders are now all GLSL OpenGL 3.x Core Context compliant<br />
* Brightness and Gamma operations are now done via shaders. <br>TDM will no longer cause issues with Desktop brightness.<br />
* Legacy Bloom has been replaced with integrated Tone Mapping and Gamma Correction<br />
* "Borderless window" mode integrates a bit better with OS than "fullscreen" mode (Windows-only)<br />
* Fixed several bugs with non-default Render Scale<br />
* Fixed bugs with handling water brushes, especially with complex shapes.<br />
* Fixed MD3 and liquid models. Animated water should work properly now.<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Mapping''' ==<br />
* Static collision detection for rain particles<br />
* Better rain particles, old rain materials deprecated<br />
* New way to tweak rendering order of translucent surfaces: drawSortOffset spawnarg<br />
* Easy-to-use parallel light emanating from the sky<br />
* Spectrum spawnargs restrict light interaction depending on spectrum values of lights and entities<br />
* X-ray subview changes appearance (skin_xray) of specified entities when seen behind this surface<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Sound''' ==<br />
<br />
<br><br />
* New swim sounds<br />
* New mantle sounds<br />
* New Rope and Ladder slide sounds<br />
* Fixes to sound defs with dashes in the names<br />
* New arrow bounce sound fixes<br />
* AI "Help!" barks fixed<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Coding''' ==<br />
<br />
<br><br />
<font size="3">TDM 2.08 goes further with the process to modernize coding standards in TDM.<br />
<br><br>ALL legacy OpenGL functions have been replaced with modern techniques.<br />
<br>ARB Assembly shaders are gone and have been replaced by GLSL<br />
<br>C++ Library management and compiling have been improved. cmake compiling on Linux too!<br />
<br><br>Finally, performance optimizations have been applied to the rendering framework, <br />
<br>game code, and code base in general.</font><br><br />
<br><br />
<br><br />
* Precision fixes: dmap and collision-related gameplay are affected.<br />
* Fixed several bugs in visportals handling in dmap. This affects all existing maps, so please read [[Visportals#Engine_changes | Visportal Wiki]]<br />
* Fixed bug in stencil shadows computation, which was introduced in 2.07 (#5106).<br />
: It affects all parallel and projected lights when mapper runs dmap on a CPU with AVX.<br />
: It is strongly recommended to re-dmap all FMs dmapped with 2.07 if they contain such lights.<br />
* Added a very hacky workaround in engine for rotation-hacked func_static-s (#4970, controlled by g_rotationHack).<br />
: Since it can be removed in future, dmap now actively complains about all entities with bad rotation.<br />
: Improved precision of dmap and its mesh processing algorithms<br />
* Moved closer to Doom 3 BFG Vertex Buffer management (better multi-core stability)<br />
* Reduced state changes and draw calls<br />
* More reliable game modelling with "Uncap FPS" when FPS is low (fixes rope bug)<br />
<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Assets''' ==<br />
<br />
<br><br />
<font size="3">Many quality textures, models, and materials were added by both Team members and<br />
<br>community contributors over the 2.07 to 2.08 cycle.</font><br />
<br><br />
<br><br />
<br />
* New Beastmen characters (Kingsal)<br />
* New zombie characters (Springheel)<br />
* New environmental models (Springheel & Epifire)<br />
* Many more Dragofer models incorporated (Dragofer) <br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''GUIs''' ==<br />
<br />
<br><br />
<br />
* New Inventory menu theme<br />
* SSAO Setting<br />
* Removed legacy Ambient and Bloom settings<br />
* Max FPS setting<br />
* Optional new console font<br />
<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Gameplay''' ==<br />
<br />
<br><br />
* Further mantling fixes for running and jumping<br />
* Swimming now has an undulating animation<br />
* Shouldering now has an animation<br />
* Ropes no longer become unstable with low FPS and uncapped FPS set and swinging has been improved<br />
* It is easier to drop and position ragdolls<br />
* Mantling no longer causes geometry clip bugs<br />
* Rope and Ladder slide operations are safer: While looking at the climbable press and hold crouch to slide down the climbable without taking damage<br />
* Now keybindings are saved into separate file DarkmodKeybinds.cfg<br />
* Linux can use more keys in keybinds<br />
* Keybinds are now stored in a separate file so you don't have to reconfigure them every time TDM is updated<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Translation''' ==<br />
<br />
<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
{{whatsnew|sort=208}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_2.08&diff=26241What's new in TDM 2.082020-03-21T07:09:39Z<p>Stifu: Added explanation to "Rope and Ladder slide operations are safer"</p>
<hr />
<div><!-- keywords whats new --><br />
{{notreleasedyet|2.08}}<br />
See the [http://bugs.thedarkmod.com/roadmap_page.php roadmap] on our bugtracker.<br />
<!-- See the [http://bugs.thedarkmod.com/changelog_page.php?version_id=71 changelog] on our bugtracker. --><br />
<!-- {{released|2.08|XXXX-XX-XX}} --><br />
<br />
<br><br />
<br><br />
<br />
'''<font size="5">The Dark Mod 2.08 New Baseline</font>'''<br />
<br />
<br><br />
<br />
<font size="3">TDM 2.08 casts off the problems with supporting old OpenGL versions by<br />
<br>modernizing all shaders to OpenGL 3.x Core Context compliant GLSL.<br />
<br><br />
<br>Long in development, many fixes related to Multi-Core, Uncapped FPS, and the 64-bit migration <br />
<br>are now available. <br />
<br><br />
<br>For Linux users, the project can now be compiled via cmake<br />
<br><br />
<br>Many new mapper friendly updates for Rain, Fog, Patrolling AI, and visportals have been added.<br />
<br><br />
<br>For the eye-candy crowd, a new SSAO option has been added!</font><br />
<br><br />
<br><br />
<br />
----<br />
<br />
== <br><br> <font size="3">'''Important CVARS'''</font> ==<br />
<br />
'''Old'''<br />
<br />
<br><br />
* '''r_postprocess_gamma''' and '''r_postprocess_brightness''': these cvars have replaced the old r_gamma and r_brightness. Also gamma now has default value "1.2".<br />
* '''r_interactionProgram''' and '''tdm_ambient_method''': this are the current cvars controlling "interaction" and "ambient" programs. These settings were previously available in Advanced video settings, but they are no longer visible in menu. Only change this for some debugging/investigation purposes.<br />
* '''r_uniformTransforms''': setting to 0 is known to fix severe graphical issues on Intel HD 3000; please leave this as default, and let developers know if your machine needs this to run TDM properly. <br />
<br><font size="3">'''New'''</font>:<br />
<br />
<br />
* '''r_glCoreProfile''': default value 2 forces "Core profile" OpenGL context, while value 0 says to create "Compatibility profile". Should have no visual impact. Only takes effect during engine initialization. Only change this is someone suspects that Core profile breaks something.<br />
* '''r_testSpecularFix''': this controls whether specular color or diffuse collor is used to modulate specular light term. Should be used to see what was fixed or broken by the corresponding change. Set to -1 to make game switch back and forth between old and new behavior every second.<br />
* '''g_rotationHack''': with default value 1, every func_static model with nonorthogonal rotation is forked on game start, and its rotation is embedded into the copied model.This is a very hacky workaround for the fact that rotation-hacked models are responsible for various bugs on existing maps. With value 0, nothing special is done, so rotation-hacked models behave as before. Note that you cannot change this cvar during playthrough: it only takes effect when a new game is started. Another effect of this cvar is that the engine forces mappers to set g_rotationHack 0 if they dmap something with rotation-hacked func_statics.<br />
* '''r_ssao_*''': several cvars with this prefix can be used to tweak SSAO implementation. Although ideally you shouldn't have to touch them.<br />
* '''r_usePersistentMapping''', '''r_useMultiDraw''', '''r_useBaseVertex''': use new graphical features for potentially faster rendering. Should not touch these unless it is suspected that one of them causes a problem.<br />
<br />
<br />
<pre><br />
<br />
Experimental Graphics<br />
<br />
* image_useNormalCompression = 2: Initial support for RGTC compression. Similar to AMD 3Dc or D3D BC5. <br />
<br />
Not fully working but fairly complete. Needs new GLSL based materials for water\glass or other complex ARB materials.<br />
<br />
* r_useParallelAddModels: an experimental cvar to further parallelize a considerable part of the renderer. <br />
<br />
Should slightly increase FPS in many cases, but can cause all sort of problems. <br />
<br />
</pre><br />
<br />
<br />
<br />
Swimming variation:<br />
<br />
* pm_swimspeed_variation <br />
* pm_swimspeed_frequency<br />
<br />
<br><br />
<br />
{{clear}}<br />
<br />
== <br>'''AI''' ==<br />
<br />
<br><br />
* AI can now be directly instructed to stop patrolling (easy method)<br />
* AI no longer sleep or sit in strange places due to path obstructions<br />
* AI no longer instantly lose the player when the player moves to darkness above them<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Graphics''' ==<br />
<br />
<br><br />
<font size="4">'''AMBIENT OBSCURANCE SSAO IN 2.08!!'''</font><br><br><br />
<br />
<font size="3">Cabalistic has finally added the much requested SSAO feature to TDM<br />
<br>Using a method called Scalable Ambient Obscurance now areas with flat ambient<br />
<br>lighting come alive with new detail </font><br />
<br />
* Shaders are now all GLSL OpenGL 3.x Core Context compliant<br />
* Brightness and Gamma operations are now done via shaders. <br>TDM will no longer cause issues with Desktop brightness.<br />
* Legacy Bloom has been replaced with integrated Tone Mapping and Gamma Correction<br />
* "Borderless window" mode integrates a bit better with OS than "fullscreen" mode (Windows-only)<br />
* Fixed several bugs with non-default Render Scale<br />
* Fixed bugs with handling water brushes, especially with complex shapes.<br />
* Fixed MD3 and liquid models. Animated water should work properly now.<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Mapping''' ==<br />
* Static collision detection for rain particles<br />
* Better rain particles, old rain materials deprecated<br />
* New way to tweak rendering order of translucent surfaces: drawSortOffset spawnarg<br />
* Easy-to-use parallel light emanating from the sky<br />
* Spectrum spawnargs restrict light interaction depending on spectrum values of lights and entities<br />
* X-ray subview changes appearance (skin_xray) of specified entities when seen behind this surface<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Sound''' ==<br />
<br />
<br><br />
* New swim sounds<br />
* New mantle sounds<br />
* New Rope and Ladder slide sounds<br />
* Fixes to sound defs with dashes in the names<br />
* New arrow bounce sound fixes<br />
* AI "Help!" barks fixed<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Coding''' ==<br />
<br />
<br><br />
<font size="3">TDM 2.08 goes further with the process to modernize coding standards in TDM.<br />
<br><br>ALL legacy OpenGL functions have been replaced with modern techniques.<br />
<br>ARB Assembly shaders are gone and have been replaced by GLSL<br />
<br>C++ Library management and compiling have been improved. cmake compiling on Linux too!<br />
<br><br>Finally, performance optimizations have been applied to the rendering framework, <br />
<br>game code, and code base in general.</font><br><br />
<br><br />
<br><br />
* Precision fixes: dmap and collision-related gameplay are affected.<br />
* Fixed several bugs in visportals handling in dmap. This affects all existing maps, so please read [[Visportals#Engine_changes | Visportal Wiki]]<br />
* Fixed bug in stencil shadows computation, which was introduced in 2.07 (#5106).<br />
: It affects all parallel and projected lights when mapper runs dmap on a CPU with AVX.<br />
: It is strongly recommended to re-dmap all FMs dmapped with 2.07 if they contain such lights.<br />
* Added a very hacky workaround in engine for rotation-hacked func_static-s (#4970, controlled by g_rotationHack).<br />
: Since it can be removed in future, dmap now actively complains about all entities with bad rotation.<br />
: Improved precision of dmap and its mesh processing algorithms<br />
* Moved closer to Doom 3 BFG Vertex Buffer management (better multi-core stability)<br />
* Reduced state changes and draw calls<br />
* More reliable game modelling with "Uncap FPS" when FPS is low (fixes rope bug)<br />
<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Assets''' ==<br />
<br />
<br><br />
<font size="3">Many quality textures, models, and materials were added by both Team members and<br />
<br>community contributors over the 2.07 to 2.08 cycle.</font><br />
<br><br />
<br><br />
<br />
* New Beastmen characters (Kingsal)<br />
* New zombie characters (Springheel)<br />
* New environmental models (Springheel & Epifire)<br />
* Many more Dragofer models incorporated (Dragofer) <br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''GUIs''' ==<br />
<br />
<br><br />
<br />
* New Inventory menu theme<br />
* SSAO Setting<br />
* Removed legacy Ambient and Bloom settings<br />
* Max FPS setting<br />
* Optional new console font<br />
<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Gameplay''' ==<br />
<br />
<br><br />
* Further mantling fixes for running and jumping<br />
* Swimming now has an undulating animation<br />
* Shouldering now has an animation<br />
* Ropes no longer become unstable with low FPS and uncapped FPS set and swinging has been improved<br />
* It is easier to drop and position ragdolls<br />
* Mantling no longer causes geometry clip bugs<br />
* Rope and Ladder slide operations are safer: While looking at the climbable press and hold crouch to slide down the climbable without taking damage<br />
* Now keybindings are saved into separate file DarkmodKeybinds.cfg<br />
* Linux can use more keys in keybinds<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Translation''' ==<br />
<br />
<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
{{whatsnew|sort=208}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_2.07&diff=22569What's new in TDM 2.072019-01-20T21:57:58Z<p>Stifu: /* Gameplay */</p>
<hr />
<div><!-- keywords whats new --><br />
{{notreleasedyet|2.07}}<br />
See the [http://bugs.thedarkmod.com/roadmap_page.php roadmap] on our bugtracker.<br />
<!-- See the [http://bugs.thedarkmod.com/changelog_page.php?version_id=71 changelog] on our bugtracker. --><br />
<!-- {{released|2.07|XXXX-XX-XX}} --><br />
<br />
'''<font size="5">The Dark Mod 2.07 Stability Release</font>'''<br />
<br />
<br />
<br />
<font size="3">Taking the bold new features introduced in 2.06 and improving their stability <br />
<br>was the intended goal of the 2.07 release cycle.<br />
<br><br />
<br>With that said, 2.07 has a number of new tricks up it's sleeve <br />
<br>so you'll still get a few new features along with the large number of critical fixes.</font><br />
<br><br />
<br />
<br />
{{clear}}<br />
<br />
<br />
----<br />
<br />
<br />
== <br><br> '''Important CVARS''' ==<br />
<br />
<br><br />
'''Old''':<br />
* r_useFBO: enables/disables FBO rendering. It is now ON by default.<br />
* r_fboResolution: coefficient for internal rendering resolution (takes effect only when FBO is on). 2 means double resolution. Works like SSAA. Very high performance cost.<br />
* r_softshadowsradius: Determines how large the light center is for light sources. Negative value overrides emitter_size spawnarg. (partly configurable in video settings GUI)<br />
* r_softshadowsquality: Determines how many gradients for shadows. Larger values produce smoother blending at more performance cost. (configurable in video settings GUI)<br />
<br>'''New''':<br />
<br />
Graphics<br />
<br />
* r_ambientMinLevel: adds specified value to ambient light (linear correction).<br />
* r_ambientGamma: applies specified gamma exponent to ambient light (gamma correction).<br />
* r_shadows 2: enables new "Maps" implementation of shadows. (configurable in video settings GUI)<br />
* r_shadowMapSize: defines resolution of shadow maps with "Maps" implementation of shadows. More = better, less = faster.<br />
<br />
Frob Help<br />
<br />
* r_frobhelper_active: 1 = Activate, 2 = Deactivate<br />
* r_frobhelper_alpha: Opacity of the FrobHelper cursor<br />
* r_frobhelper_ignore_size: FrobHelper is not shown for objects bigger than this specified size along any axis<br />
* r_frobhelper_fadein_delay: FrobHelper is shown after a certain delay<br />
* r_frobhelper_fadein_duration: FrobHelper is faded in over this specified duration<br />
* r_frobhelper_fadeout_duration: FrobHelper is faded out over this specified duration<br />
<br />
Mantle Changes<br />
<br />
* pm_mantle_fastLowObstacles: increase speed, remove crouch, reduce screen rock when mantling small obstacles<br />
* pm_mantle_pushNonCrouched_msecs<br />
* pm_mantle_maxLowObstacleHeight<br />
* pm_mantle_fastMediumObstaclesCrouched<br />
* pm_mantle_pullFast_msecs<br />
<br />
Cheat \ Debug Map command:<br />
<br />
* tdm_give_loot: Automatically gives the player all loot in the map. Useful in debugging loot based goals or letting frustrated players avoid prolonged treasure hunting<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
----<br />
<br />
== <br>'''AI''' ==<br />
<br />
<br><br />
<font size="3">While the list of AI changes is a little short in the release, many of the fixes<br />
<br>were quite complex projects and have widespread impact on the immersive quality of missions.</font><br />
<br><br />
<br><br />
<br />
* AI react properly to flashbomb attacks while seated<br />
* AI properly return to seated coordinates after being interrupted from patrol routes<br />
* Improved the way that AI respond to the player escaping to dark ledges<br />
* AI can now handle bodies (ragdolls) obstructing door closure<br />
* Fire Elemental deemed complete. Further changes are enhancement requests.<br />
* AI think loops have been restructured to reduce anomalies with interrupted animation<br />
<br />
<br />
{{clear}}<br />
<br />
== '''Graphics''' ==<br />
<br />
<br><br />
<font size="4">'''ANTIALIASING AND SOFT SHADOWS "WORK TOGETHER" IN TDM 2.07!!'''</font><br><br><br />
<br />
<font size="3">By making "Framebuffer Objects" (FBO) the default rendering mode and implementing true<br />
<br>Multisample Antialiasing (MSAA), TDM 2.07 will now allow users to change nearly every<br />
<br>standard graphic quality setting without restarting the game!<br />
<br><br />
<br>Shadow quality inches closer to the Holy Grail of true physically correct penumbra behavior<br />
<br>with the arrival of Shadow Maps with "contact hardening" [http://developer.download.nvidia.com/shaderlibrary/docs/shadow_PCSS.pdf Percentage Closer Soft Shadows (PCSS)!]<br />
<br><br />
<br>Shadow Maps also offer performance advantages in scenes that are normally CPU bound <br />
<br>when in Stencil Shadows mode.</font><br />
<br><br />
<br>(Due to having to do skinning and silhouette calculations on the CPU in Stencil Shadow mode.)<br />
<br />
<br />
* Finished the move to FBO-based rendering and implemented proper '''antialiasing''' (MSAA).<br />
''It is recommended to reset config file, or at least set "r_useFBO 1" and "r_fboResolution 1" manually.''<br />
* Numerous FBO-related fixes: reloadImages now works, quickload no longer crashes, no more duplicate renders, etc.<br />
* New experimental mode of rendering shadows ("Maps") --- can be switched on in Video/Advanced menu.<br />
* Softness of soft shadows can be controlled by "emitter_size" spawnarg.<br />
''Beware: "Maps" and "Stencil" modes of rendering shadows treat it in absolutely different way!''<br />
* Added "soft gamma": implementation of gamma correction not subject to color banding.<br />
''See cvars r_ambientMinLevel and r_ambientGamma.''<br />
* Lanterns no longer flicker when climbing ladders<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Sound''' ==<br />
<br />
<br><br />
<font size="3">3D positional sound and reverb have been vastly improved in the release!</font><br />
<br><br />
<br><br />
<br />
* Enabled '''HRTF''' by default for better positional sound: works properly only with headphones.<br />
* New syntax for EFX files (Version 2): allows using presets from openal-soft.<br />
( See syntax in [[Setting_Reverb_Data_of_Rooms_(EAX)#Presets_.28Version_2.29 |Setting Reverb Data]] ).<br />
* Sounds which should not be affected by environment are marked as no_efx.<br />
* Fixed some sounds which had (incorrect) stereo encoding. Converting to mono fixed 3D positional behavior<br />
* '''MANY''' Missing impact sounds added<br />
* Added sound shader definitions for some previously unreferenced sounds, including ambient sounds and AI speech samples<br />
* New, more realistic and varied mantle sounds<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Coding''' ==<br />
<br />
<br><br />
<font size="3">TDM 2.07 goes further with the process to modernize coding standards in TDM.<br />
<br>More legacy OpenGL functions have been replaced with modern techniques.<br />
<br>C++ Library management and compiling have been improved. <br />
<br>Finally, performance optimizations have been applied to the rendering framework, <br />
<br>game code, and code base in general.</font><br />
<br />
<br />
* Mouse sensitivity in the main menu should be similar to one in Windows.<br />
* Precision fixes: dmap and collision-related gameplay are affected.<br />
* tdm_update: probably improved VCRedist installation, built Linux 64-bit version.<br />
* Moved closer to Doom 3 BFG Vertex Buffer management (better multi-core stability)<br />
* More SIMD instructions used to improve performance ( 64-bit rendering now has performance parity to 32-bit )<br />
* Lightgem is now defined in it's own "view" to better match native rendering conventions<br />
* FFMPEG now utilizes SMP<br />
* Envshot is fixed and can also capture the skybox<br />
* noFog material flag now works as originally described here: [https://www.iddevnet.com/doom3/materials.php]<br />
* noFog is now also available as an entity flag<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Assets''' ==<br />
<br />
<br><br />
<font size="3">Many quality textures, models, and materials were added by both Team members and<br />
<br>community contributors over the 2.06 to 2.07 cycle.</font><br />
<br><br />
<br><br />
<br />
* Epifire's Security Camera<br />
* Springheel's Church modules<br />
* Springheel's updated head models<br />
* Springheel's particle effects<br />
* Grayman's Grandfather Clock prefab<br />
* Spooks light texture<br />
* Rsoul's Chain models and Interior Module fixes<br />
* Undetermined number of assets held back from the end of 2.06?<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''GUIs''' ==<br />
<br />
<br><br />
<br />
* "Frob helper" feature provides a small screen center indicator when frobbing small object<br />
* Mission Download page now has a "Download All" button<br />
* Softness slider for soft shadows<br />
* Added a toggle for Stencil Shadows vs Shadow Maps<br />
* Added "Look Up" and "Look Down" key configurations<br />
* Splash screen aspect ratios corrected<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
== '''Gameplay''' ==<br />
<br />
<br><br />
* Mantling low and medium-sized obstacles is faster and smoother<br />
* Remote listening support<br />
* Prefab Traps (scripts and models)<br />
* Inactivity Trigger script<br />
* Doubled air regaining speed after dive (Full refill now takes about 8 seconds)<br />
<br><br />
<br><br />
<br />
{{clear}}<br />
<br />
<br />
{{whatsnew|sort=207}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_-_Compilation_Guide&diff=22567The Dark Mod - Compilation Guide2019-01-19T11:05:19Z<p>Stifu: /* Working in SVN */</p>
<hr />
<div>'''Intended article audience:''' engine coders<br />
<br />
This guide should provide you with enough information to compile The Dark Mod's game code from source.<br />
It applies to version 2.06 or later version of TDM. If you want to compile older version, see the history of this wiki page.<br />
Brief compilation instructions are also included in <tt>COMPILING.txt</tt> file in the source code package.<br />
<br />
The sources are available through "snapshots", i.e. whenever the Dark Mod team is releasing a new update (e.g. TDM 2.06) the corresponding sources are released as well.<br />
<br />
== Get the sources ==<br />
*Download as a package: http://www.thedarkmod.com/downloads/<br />
*Get the latest sources directly from SVN: https://svn.thedarkmod.com/svn/darkmod_src/trunk <br />
<br />
Be warned though that (unless you're a team member and working on the SVN asset base) these sources '''might be incompatible with your local darkmod installation'''. The team cannot and will not support you in case you're running into troubles trying to get it to run.<br />
<br />
Download the sources and unpack them next to your darkmod/ directory, such that the directory structure looks like this:<br />
<br />
C:\Games\Doom3\darkmod <-- your darkmod location<br />
C:\Games\Doom3\darkmod_src <-- your source folder containing the solution, can be renamed<br />
<br />
This directory structure is recommended for both Windows and Linux.<br />
<br />
== Windows ==<br />
<br />
Since TDM 2.03 you'll need Visual Studio 2013 to compile the project.<br />
The free Community Edition works fine, it can be downloaded [https://www.visualstudio.com/en-us/news/releasenotes/vs2013-community-vs#download-visual-studio-2013-community approximately here]. Additionally, you have to:<br />
* Make sure "Microsoft Foundation Classes for C++" (MFC) is being installed by MSVC2013 installer.<br />
* Download and install "Multibyte MFC Library for Visual Studio 2013" afterwards: http://www.microsoft.com/en-us/download/details.aspx?id=40770<br />
<br />
You'll find a <tt>TheDarkMod.sln</tt> solution file (in MSVC 2013 format) in the source code folder, which you can double-click to open in Visual Studio. The solution is designed to put the compiled binaries into the ../darkmod folder nearby, that's why we recommend using the directory layout shown above. (You can change the output paths in the property sheets, in case you know how to do that).<br />
<br />
Once the solution is opened, select the Configuration in the topmost toolbar (either "release" or "debug", depending on what you want to do) and Platform (either Win32 or x64). Then hit "Build Solution" ({{Ctrl}}-{{Shift}}-{{key|B}} or {{F7}}). The compilation usually takes a minute or two, watch the output window at the bottom of Visual Studio. After completion you'll find the compiled binary in your darkmod/ folder. It would be either <tt>TheDarkMod.exe</tt> or <tt>TheDarkModx64.exe</tt>, depending on the target platform you chose.<br />
<br />
The code uses DirectInput, which is automatically installed with VS2013 as a part of Windows SDK.<br />
Normally, you don't have to do anything about it.<br />
But if you have trouble with DirectInput, you can download the deprecated "Microsoft DirectX SDK" [http://www.microsoft.com/en-us/download/details.aspx?id=6812 here].<br />
In such case you will have to manually add paths to DirectX SDK to the property sheets.<br />
<br />
=== Debugging the Engine/Game ===<br />
To debug your custom built code, you need to attach Visual Studio's debugger to the TheDarkMod.exe process. There are two ways to accomplish that:<br />
<br />
The quick one:<br />
# Go to Visual Studio and open the TheDarkMod solution<br />
# Make sure the "DarkModTools" project is marked bold (as "Startup project") <br />
# Compile and hit run (F5), Studio will start your TheDarkMod.exe and attach automatically<br />
<br />
The manual way:<br />
# Start your custom TheDarkMod.exe through Windows Explorer or shortcuts<br />
# Once the game is up and running, Alt-Tab back to Visual Studio<br />
# Go to menu "Debug" > "Attach to Process..." and select the TheDarkMod.exe process from the list in that dialog popping up.<br />
# The debugger will now attach to TDM and you can now place breakpoints or intercept game crashes.<br />
<br />
=== Troubleshooting ===<br />
;My breakpoints don't work (they are hollow circles instead of full ones)<br />
:Make sure you're attached to the correct TheDarkMod.exe binary. If you're attaching to an older version (e.g. from an outdated compilation process) or one you haven't built in Studio yourself, VC++ won't be able to load the symbols from the .pdb files. Make sure that the configuration type (release or debug build) is matching as well.<br />
<br />
;I cannot inspect all the variables / The instruction pointer is skipping code<br />
:You are probably running a release build, which comes with some optimisations. When debugging a release build, you'll notice that your instruction pointer (the yellow arrow) is sometimes skipping statements, which have most likely been optimised out of the binary during compilation/linking. You'll also have troubles when trying to inspect temporary variables or inlined functions. Use a debug build if this prevents you from figuring out things during debugging.<br />
<br />
;Debugging works well, but the game plays too slowly<br />
:You are running debug build, which is much slower than release. There are several ways to make life easier. First, you can get to the place where problem happens in release build and save your game there, then run debug build and load the game to do debugging. Second, you can try the "Debug with inlines" configuration, which is faster than full debug build, but is still very convenient to debug. If this is not fast enough for you, you can also debug the release build directly, but be aware that breakpoints and watches do not always work due to optimizations. Note that even release build is slower with debugger than without it because of debug heap. You can disable it by setting environment variable [https://ofekshilon.com/2014/09/20/accelerating-debug-runs-part-1-_no_debug_heap-2/ _NO_DEBUG_HEAP=1]. If you do it properly, then your release build should run with full speed.<br />
<br />
== Linux ==<br />
<br />
You need GCC 5 or newer to build TDM on Linux.<br />
Anything older than GCC 4.7 surely won't work.<br />
Just as the original Doom 3, TDM is built using Scons build system.<br />
<br />
Being in the source code root directory (darkmod_src/), you can build TDM with a command like this:<br />
<br />
scons BUILD="release" TARGET_ARCH="x64" -j6 ..<br />
<br />
If you omit some parameters, Scons will either use the previously defined values or the default ones.<br />
<br />
Here is the explanation of parameters:<br />
* <tt>BUILD="release"</tt> --- build release (i.e. optimized) executable<br />
* <tt>TARGET_ARCH="x64"</tt> --- build for 64-bit platform (pass "x86" or "x32" for 32-bit build)<br />
* <tt>-j6</tt> --- run six instances of compiler in parallel for faster build (better specify the number of cores in your CPU)<br />
* <tt>..</tt> --- put executables with debug information to ../darkmod (scons cannot access parent directory without it)<br />
Run <tt>scons --help</tt> for more information about arguments.<br />
<br />
Note: by default the deploy-ready executables are put into the current directory (which is source code root directory).<br />
They are stripped of debug information, so you won't be able to debug them.<br />
If you need debug information, make sure to specify "<tt>..</tt>" argument: then debuggable executables will be put into ../darkmod.<br />
<br />
Note: starting from version 2.06, fully functional 64-bit build is supported.<br />
<br />
=== Ubuntu 16.04 ===<br />
<br />
The simplest approach is to do a native build, i.e. produce 64-bit binaries on 64-bit OS, or 32-bit binaries on 32-bit OS.<br />
Starting from a clean Ubuntu installation, here is the list of packages you need to install:<br />
<br />
sudo apt-get install scons //'scons' is currently not installed<br />
sudo apt-get install m4 //'SCons Environment' object has no attribute 'M4'<br />
sudo apt-get install subversion //svnversion: not found<br />
sudo apt-get install mesa-common-dev //no such file: "Gl/gl.h"<br />
sudo apt-get install libxxf86vm-dev //no such file: "X11/extensions/xf86vmode.h"<br />
sudo apt-get install libopenal-dev //no such file: "AL/al.h"<br />
sudo apt-get install libxext-dev //no such file: "X11/extensions/Xext.h"<br />
<br />
After that you can run scons build with one of the commands:<br />
<br />
scons BUILD="release" TARGET_ARCH="x86" .. //on 32-bit OS<br />
scons BUILD="release" TARGET_ARCH="x64" .. //on 64-bit OS<br />
<br />
If you have 64-bit Linux, you can also build and run 32-bit TDM.<br />
Note that this approach is slightly more complicated.<br />
You have to install the following packages in addition to the ones listed above:<br />
<br />
sudo apt-get install g++-multilib //no such file: 'sys/cdefs.h'<br />
sudo apt-get install libx11-dev:i386 //cannot find "-lX11"<br />
sudo apt-get install libxxf86vm-dev:i386 //cannot find "-lXxf86vm"<br />
sudo apt-get install libopenal-dev:i386 //cannot find "-lopenal"<br />
sudo apt-get install libxext-dev:i386 //cannot find "-lXext"<br />
<br />
Then run build as usual:<br />
<br />
scons BUILD="release" TARGET_ARCH="x86" ..<br />
<br />
The 64-bit and 32-bit versions can be built independently on a single 64-bit Linux.<br />
<br />
=== Other distros ===<br />
<br />
Even if you have Linux distro different from Ubuntu, the instructions above will most likely help you.<br />
If you have still have problems with your build, please report to forums.<br />
<br />
== I have a bugfix for the team ==<br />
<br />
In case you figured out a problem in the TDM game code and you maybe even have a fix available, please drop by at our forums to tell the coding staff. Your fix might be incorporated in the main development branch.<br />
<br />
== Working in SVN ==<br />
<br />
If you work directly with [https://svn.thedarkmod.com/svn/darkmod_src/trunk SVN], make sure that [http://svnbook.red-bean.com/en/1.7/svn.ref.svnversion.re.html svnversion] command works properly in OS console:<br />
* ''Windows'': install TortoiseSVN '''with "command line client tools" included'''.<br />
* ''Linux'': install "subversion" package.<br />
To check that it works, build TDM yourself, run it, and then open TDM console. You should see the correct SVN revision number in the lower-right corner.<br />
<br />
== Dead text below ==<br />
<br />
The remaining part of the article is most likely outdated and does not apply to version 2.06 (and later).<br />
It would be probably better to simply delete it. Feel free to expand and do history digging if you like.<br />
<br />
<div class="toccolours mw-collapsible mw-collapsed" style="width:100%; overflow:auto;><br />
<br />
''' Linux '''<br />
<br />
For Linux you'll need gcc and scons, plus a few packages depending on your distribution. There is a README.linux file contained in the source package you downloaded, check it out for some details.<br />
<br />
''' Debian Sqeeze 64 bit '''<br />
<br />
You need the following packages:<br />
<br />
apt-get install ia32-libs scons g++ g++-multilib m4 zip<br />
apt-get install libglew1.5-dev libpng12-dev libjpeg62-dev<br />
apt-get install libc6-dev-i386 libxxf86vm-dev libopenal-dev libasound2-dev libxext-dev<br />
<br />
You must also edit '''sys/scons/SConscript.game''' and add the following lines near where ''local_env.Append'' is alread used:<br />
<br />
local_env.Append(LIBS = [<br />
File('/lib32/libpng12.so.0'),<br />
])<br />
<br />
Also change in the same file (a few lines above):<br />
<br />
local_env.Append( LINKFLAGS = [ '-lrt', '-lpng' ] )<br />
<br />
to:<br />
<br />
local_env.Append( LINKFLAGS = [ '-lrt', '-lpng12' ] )<br />
<br />
It might also be necessary to make the following symlink:<br />
<br />
ln -s /lib32/libpng12.so.0 /lib32/libpng.so<br />
<br />
''' Ubuntu 10.10 64 Bit '''<br />
<br />
You'll need the same packages as for the 32 bit Ubuntu variants, plus a few additional 32 bit compatibility packages (ia32-libs and libc6-dev-i386):<br />
sudo apt-get install g++ scons libglew1.5-dev libpng12-dev libjpeg62-dev ia32-libs libc6-dev-i386<br />
Then just run the scons command to start compiling:<br />
scons BUILD="release" BUILD_GAMEPAK="1"<br />
<br />
''' Ubuntu 10.04 32 Bit '''<br />
<br />
After setting up a clean 10.04, these are the packages needed to get the source to compile. Copy & paste the following line:<br />
sudo apt-get install g++ scons libglew1.5-dev libpng12-dev libjpeg62-dev<br />
Then run this command to start compiling:<br />
./linuxBuild.sh<br />
If the build fails, complaining that it can't find something, it needs more libraries. Execute the following line:<br />
sudo apt-get install m4 libxxf86vm-dev libopenal-dev libasound2-dev g++-multilib gcc-multilib zlib1g-dev libxext-dev<br />
That should install all packages needed.<br />
<br />
''' Mac OS X '''<br />
<br />
For OS X you'll need gcc and scons, as with Linux. gcc should be included in your xcode installation, scons can be downloaded from the [http://www.scons.org/ scons project website]. The third-party libraries like boost, devil and libcurl are already included in the TDM source package, so it should compile out of the box. If you ever need to build one of them from scratch, see the subsections below.<br />
<br />
The sconscripts are prepared for both Intel and PPC target architectures, the MACOSX_TARGET_ARCH argument will control which architecture you're compiling for.<br />
<br />
''' Compiling for Intel architecture '''<br />
<br />
To start compiling, enter the following command in the folder you extracted the TDM sources to:<br />
scons BUILD="release" BUILD_GAMEPAK="1" MACOSX_TARGET_ARCH="i386"<br />
<br />
''' Compiling for PPC architecture '''<br />
<br />
To start compiling, enter the following command in the folder you extracted the TDM sources to:<br />
scons BUILD="release" BUILD_GAMEPAK="1" MACOSX_TARGET_ARCH="ppc"<br />
<br />
''' Compiling a universal binary '''<br />
<br />
I've been using the following script to generate a universal binary. This script assumes that there are two separate TDM source folders, one in <tt>darkmod_src.i386</tt> and one in <tt>darkmod_src.ppc</tt>. <br />
Note: they are actual copies of the same TDM source package, I just used that as convenience such that I don't have to recompile the whole source tree after minor changes.<br />
<br />
cd /Users/greebo<br />
cd darkmod_src.i386<br />
scons BUILD="release" BUILD_GAMEPAK="1" MACOSX_TARGET_ARCH="i386"<br />
cd ../darkmod_src.ppc<br />
scons BUILD="release" BUILD_GAMEPAK="1" MACOSX_TARGET_ARCH="ppc"<br />
cd ../darkmod_src.i386<br />
lipo -arch i386 gamei386-base.dylib -arch ppc ../darkmod_src.ppc/gameppc-base.dylib -create -output game.dylib<br />
zip -d tdm_game03.pk4 game.dylib<br />
zip tdm_game03.pk4 game.dylib<br />
<br />
After this the <tt>darkmod_src.i386/tdm_game03.pk4</tt> should contain the universal binary of the TDM game lib. The PK4 is about 6 to 7 MB.<br />
<br />
''' Installing scons '''<br />
<br />
Get the scons tarball from their website, unpack it to a folder and run the following commands (note that the exact scons version might differ):<br />
cd scons-2.0.1<br />
python setup.py install<br />
<br />
''' Building libcurl in Mac OS X '''<br />
<br />
Download the libcurl 7.21 source package, and extract it on your system. To produce a so-called "fat" binary you need to compile for both i386 and ppc targets.<br />
<br />
Build the i386 target by entering:<br />
<br />
env CFLAGS="-m32 -arch i386" LDFLAGS="-m32 -arch i386" ./configure --disable-ldap --build=i686-unknown-linux-gnu --without-libidn --without-zlib --without-ssl<br />
make<br />
sudo make install<br />
<br />
After make install the static library can be found in <tt>/usr/local/lib/libcurl.a</tt>, copy that file to your curl folder and rename it to <tt>./libcurl.i386.a</tt><br />
<br />
Build the powerpc target by entering:<br />
<br />
env CFLAGS="-m32 -arch ppc" LDFLAGS="-m32 -arch ppc" ./configure --disable-ldap --build=powerpc-unknown-linux-gnu --without-libidn --without-zlib --without-ssl<br />
make<br />
sudo make install<br />
<br />
After make install the static library can be found in <tt>/usr/local/lib/libcurl.a</tt>, copy that file to your curl folder and rename it to <tt>./libcurl.ppc.a</tt><br />
<br />
Finally call lipo to combine these two into a fat binary by entering this in your curl folder.<br />
<br />
lipo -arch i386 libcurl.i386.a -arch ppc libcurl.ppc.a -create -output libcurl.a<br />
<br />
The filesize of the newly created <tt>libcurl.a</tt> should be around the sum of the single ppc and i386 libs, you can double-check that. Copy the <tt>libcurl.a</tt> into your <tt>darkmod_src/macosx/libcurl/</tt> and you're done with this step.<br />
<br />
''' Building Boost static libs in Mac OS X '''<br />
<br />
Download the boost 1.45 sources and extract them to your hard drive. Create a jam user config file to use the g++ 4.0 compiler instead of the default gcc 4.2 in Leopard: create a new file in your boost root folder and name it <tt>user-config-darwin.jam</tt>:<br />
<br />
using darwin : 8.11 : /usr/bin/g++-4.0 :<br />
<architecture>"combined"<br />
<address-model>"32"<br />
<macosx-version>"10.4"<br />
<macosx-version-min>"10.4"<br />
<link>"static"<br />
<threading>"multi" ;<br />
<br />
Download a bjam binary for OS X to your machine, then build boost threads, filesystem and system:<br />
<br />
/path/to/bjam --user-config=../../../user-config-darwin.jam architecture=combined link=static threading=multi address-model=32 release [stage]<br />
<br />
The "stage" option only works in filesystem and system (not in thread, as of boost 1.45). You'll find the filesystem and system libs in the <tt>./stage</tt> folder of your boost root, the <tt>libboost_thread.a</tt> will be located in the <tt>bin.v2</tt> folder after compilation. <br />
<br />
Copy all libboost*.a files to <tt>darkmod_src/macosx/boost/lib/</tt>.<br />
<br />
</div><br />
<br />
<br />
[[Category:Tutorial]]<br />
[[Category:Coding]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_2.07&diff=22359What's new in TDM 2.072018-12-28T13:06:45Z<p>Stifu: /* Sound */</p>
<hr />
<div><!-- keywords whats new --><br />
{{notreleasedyet|2.07}}<br />
See the [http://bugs.thedarkmod.com/roadmap_page.php roadmap] on our bugtracker.<br />
<!-- See the [http://bugs.thedarkmod.com/changelog_page.php?version_id=71 changelog] on our bugtracker. --><br />
<!-- {{released|2.07|XXXX-XX-XX}} --><br />
<br />
'''<font size="5">The Dark Mod 2.07 Stability Release</font>'''<br />
<br />
<br />
<br />
<font size="3">Taking the bold new features introduced in 2.06 and improving stability <br />
<br>was the intended goal of the 2.07 release cycle.<br />
<br><br />
<br>With that said, 2.07 has a number of new tricks up it's sleeve <br />
<br>so you'll still get a few new features along with the bulk of the bug fixed code.</font><br />
<br />
<br />
{{clear}}<br />
<br />
<br />
----<br />
<br />
<br />
'''Important cvars:'''<br />
<br />
Old:<br />
* r_useFBO: enables/disables FBO rendering. It is now ON by default.<br />
* r_fboResolution: coefficient for internal rendering resolution (takes effect only when FBO is on). 2 means double resolution. Works like SSAA. Very high performance cost.<br />
* r_softshadowsradius: Determines how large the light center is for light sources. Negative value overrides emitter_size spawnarg. (partly configurable in video settings GUI)<br />
* r_softshadowsquality: Determines how many gradients for shadows. Larger values produce smoother blending at more performance cost. (configurable in video settings GUI)<br />
<br>New:<br />
* r_ambientMinLevel: adds specified value to ambient light (linear correction).<br />
* r_ambientGamma: applies specified gamma exponent to ambient light (gamma correction).<br />
* r_shadows 2: enables new "Maps" implementation of shadows. (configurable in video settings GUI)<br />
* r_shadowMapSize: defines resolution of shadow maps with "Maps" implementation of shadows. More = better, less = faster.<br />
* r_frobhelper_active: 1 = Activate, 2 = Deactivate<br />
* r_frobhelper_alpha: Opacity of the FrobHelper cursor<br />
* r_frobhelper_ignore_size: FrobHelper is not shown for objects bigger than this specified size along any axis<br />
* r_frobhelper_fadein_delay: FrobHelper is shown after a certain delay<br />
* r_frobhelper_fadein_duration: FrobHelper is faded in over this specified duration<br />
* r_frobhelper_fadeout_duration: FrobHelper is faded out over this specified duration<br />
{{clear}}<br />
<br />
----<br />
<br />
<br />
== AI ==<br />
<br />
<font size="3">While the list of AI changes is a little short in the release, many of the fixes<br />
<br>were quite complex projects and have widespread impact on the immersive quality of missions.</font><br />
<br />
* AI react properly to flashbomb attacks while seated<br />
* AI properly return to seated coordinates after being interrupted from patrol routes<br />
* Improved the way that AI respond to the player escaping to dark ledges<br />
* AI can now handle bodies obstructing door closure<br />
* Fire Elemental deemed complete. Further changes are enhancement requests.<br />
<br />
== Coding ==<br />
<br />
<font size="3">TDM 2.07 goes further with the process to modernize coding standards in TDM.<br />
<br>More legacy OpenGL functions have been replaced with modern techniques.<br />
<br>Library management and compiling have been improved. <br />
<br>Finally, performance optimizations have been applied to the rendering framework, <br />
<br>game code, and code base in general.</font><br />
<br />
<br />
* Mouse sensitivity in the main menu should be similar to one in Windows.<br />
* Precision fixes: dmap and collision-related gameplay are affected.<br />
* tdm_update: probably improved VCRedist installation, built Linux 64-bit version.<br />
* Moved closer to Doom 3 BFG Vertex Buffer management (better multi-core stability)<br />
* More SIMD instructions used to improve performance ( 64-bit rendering now has performance parity to 32-bit )<br />
* Lightgem is now defined in it's own "view" to better match native rendering conventions<br />
* FFMPEG now utilizes SMP<br />
* Envshot is fixed and can also capture the skybox<br />
<br />
== Graphics ==<br />
<br />
<font size="3">By making "Framebuffer Objects" (FBO) the default rendering mode and implementing true<br />
<br>Multisample Antialiasing (MSAA), TDM 2.07 will now allow users to change nearly every<br />
<br>standard graphic quality setting without restarting the game!<br />
<br><br />
<br>Shadow quality inches closer to the Holy Grail of true physically correct penumbra behavior<br />
<br>with the arrival of Shadow Maps with "contact hardening" Percentage Closer Soft Shadows (PCSS)!<br />
<br>Shadow Maps also of performance advantages in scenes that are normally CPU bound in<br />
<br>Stencil Shadows mode due to having to do skinning and silhouette calculations on the CPU.</font><br />
<br />
<br />
* Finished the move to FBO-based rendering and implemented proper '''antialiasing''' (MSAA).<br />
''It is recommended to reset config file, or at least set "r_useFBO 1" and "r_fboResolution 1" manually.''<br />
* Numerous FBO-related fixes: reloadImages now works, quickload no longer crashes, no more duplicate renders, etc.<br />
* New experimental mode of rendering shadows ("Maps") --- can be switched on in Video/Advanced menu.<br />
* Softness of soft shadows can be controlled by "emitter_size" spawnarg.<br />
''Beware: "Maps" and "Stencil" modes of rendering shadows treat it in absolutely different way!''<br />
* Added "soft gamma": implementation of gamma correction not subject to color banding.<br />
''See cvars r_ambientMinLevel and r_ambientGamma.''<br />
* Lanterns no longer flicker when climbing ladders<br />
<br />
== Assets ==<br />
<br />
<font size="3">Many quality textures, models, and materials were added by both Team members and<br />
<br>community contributors over the 2.06 to 2.07 cycle.</font><br />
<br />
* Epifire's Security Camera<br />
* Springheel's Church modules<br />
* Springheel's updated head models<br />
* Springheel's particle effects<br />
* Grayman's Grandfather Clock prefab<br />
* Spooks light texture<br />
* Rsoul's Chain models and Interior Module fixes<br />
* Undetermined number of assets held back from the end of 2.06?<br />
<br />
== GUIs ==<br />
<br />
* "Frob helper" feature provides a small screen center indicator when frobbing small object<br />
* Softness slider for soft shadows<br />
* Added a toggle for Stencil Shadows vs Shadow Maps<br />
* Added "Look Up" and "Look Down" key configurations<br />
* Splash screen aspect ratios corrected<br />
<br />
== Gameplay ==<br />
<br />
* Remote listening support<br />
* Prefab Traps (scripts and models)<br />
* Inactivity Trigger script<br />
* Doubled air regaining speed after dive (Full refill now takes about 8 seconds)<br />
<br />
== Sound ==<br />
<br />
<font size="3">3D positional sound and reverb have been vastly improved in the release!</font><br />
<br />
* Enabled '''HRTF''' by default for better positional sound: works properly only with headphones.<br />
* New syntax for EFX files (Version 2): allows using presets from openal-soft.<br />
( See syntax in http://bugs.thedarkmod.com/view.php?id=4815 (to be added to wiki page later) ).<br />
* Sounds which should not be affected by environment are marked as no_efx.<br />
* Fixed some sounds which had (incorrect) stereo encoding. Converting to mono fixed 3D positional behavior<br />
* '''MANY''' Missing impact sounds added<br />
* Added sound shader definitions for some previously unreferenced sounds, including ambient sounds and AI speech samples<br />
<br />
{{whatsnew|sort=207}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_2.07&diff=22358What's new in TDM 2.072018-12-28T13:05:19Z<p>Stifu: /* Gameplay */</p>
<hr />
<div><!-- keywords whats new --><br />
{{notreleasedyet|2.07}}<br />
See the [http://bugs.thedarkmod.com/roadmap_page.php roadmap] on our bugtracker.<br />
<!-- See the [http://bugs.thedarkmod.com/changelog_page.php?version_id=71 changelog] on our bugtracker. --><br />
<!-- {{released|2.07|XXXX-XX-XX}} --><br />
<br />
'''<font size="5">The Dark Mod 2.07 Stability Release</font>'''<br />
<br />
<br />
<br />
<font size="3">Taking the bold new features introduced in 2.06 and improving stability <br />
<br>was the intended goal of the 2.07 release cycle.<br />
<br><br />
<br>With that said, 2.07 has a number of new tricks up it's sleeve <br />
<br>so you'll still get a few new features along with the bulk of the bug fixed code.</font><br />
<br />
<br />
{{clear}}<br />
<br />
<br />
----<br />
<br />
<br />
'''Important cvars:'''<br />
<br />
Old:<br />
* r_useFBO: enables/disables FBO rendering. It is now ON by default.<br />
* r_fboResolution: coefficient for internal rendering resolution (takes effect only when FBO is on). 2 means double resolution. Works like SSAA. Very high performance cost.<br />
* r_softshadowsradius: Determines how large the light center is for light sources. Negative value overrides emitter_size spawnarg. (partly configurable in video settings GUI)<br />
* r_softshadowsquality: Determines how many gradients for shadows. Larger values produce smoother blending at more performance cost. (configurable in video settings GUI)<br />
<br>New:<br />
* r_ambientMinLevel: adds specified value to ambient light (linear correction).<br />
* r_ambientGamma: applies specified gamma exponent to ambient light (gamma correction).<br />
* r_shadows 2: enables new "Maps" implementation of shadows. (configurable in video settings GUI)<br />
* r_shadowMapSize: defines resolution of shadow maps with "Maps" implementation of shadows. More = better, less = faster.<br />
* r_frobhelper_active: 1 = Activate, 2 = Deactivate<br />
* r_frobhelper_alpha: Opacity of the FrobHelper cursor<br />
* r_frobhelper_ignore_size: FrobHelper is not shown for objects bigger than this specified size along any axis<br />
* r_frobhelper_fadein_delay: FrobHelper is shown after a certain delay<br />
* r_frobhelper_fadein_duration: FrobHelper is faded in over this specified duration<br />
* r_frobhelper_fadeout_duration: FrobHelper is faded out over this specified duration<br />
{{clear}}<br />
<br />
----<br />
<br />
<br />
== AI ==<br />
<br />
<font size="3">While the list of AI changes is a little short in the release, many of the fixes<br />
<br>were quite complex projects and have widespread impact on the immersive quality of missions.</font><br />
<br />
* AI react properly to flashbomb attacks while seated<br />
* AI properly return to seated coordinates after being interrupted from patrol routes<br />
* Improved the way that AI respond to the player escaping to dark ledges<br />
* AI can now handle bodies obstructing door closure<br />
* Fire Elemental deemed complete. Further changes are enhancement requests.<br />
<br />
== Coding ==<br />
<br />
<font size="3">TDM 2.07 goes further with the process to modernize coding standards in TDM.<br />
<br>More legacy OpenGL functions have been replaced with modern techniques.<br />
<br>Library management and compiling have been improved. <br />
<br>Finally, performance optimizations have been applied to the rendering framework, <br />
<br>game code, and code base in general.</font><br />
<br />
<br />
* Mouse sensitivity in the main menu should be similar to one in Windows.<br />
* Precision fixes: dmap and collision-related gameplay are affected.<br />
* tdm_update: probably improved VCRedist installation, built Linux 64-bit version.<br />
* Moved closer to Doom 3 BFG Vertex Buffer management (better multi-core stability)<br />
* More SIMD instructions used to improve performance ( 64-bit rendering now has performance parity to 32-bit )<br />
* Lightgem is now defined in it's own "view" to better match native rendering conventions<br />
* FFMPEG now utilizes SMP<br />
* Envshot is fixed and can also capture the skybox<br />
<br />
== Graphics ==<br />
<br />
<font size="3">By making "Framebuffer Objects" (FBO) the default rendering mode and implementing true<br />
<br>Multisample Antialiasing (MSAA), TDM 2.07 will now allow users to change nearly every<br />
<br>standard graphic quality setting without restarting the game!<br />
<br><br />
<br>Shadow quality inches closer to the Holy Grail of true physically correct penumbra behavior<br />
<br>with the arrival of Shadow Maps with "contact hardening" Percentage Closer Soft Shadows (PCSS)!<br />
<br>Shadow Maps also of performance advantages in scenes that are normally CPU bound in<br />
<br>Stencil Shadows mode due to having to do skinning and silhouette calculations on the CPU.</font><br />
<br />
<br />
* Finished the move to FBO-based rendering and implemented proper '''antialiasing''' (MSAA).<br />
''It is recommended to reset config file, or at least set "r_useFBO 1" and "r_fboResolution 1" manually.''<br />
* Numerous FBO-related fixes: reloadImages now works, quickload no longer crashes, no more duplicate renders, etc.<br />
* New experimental mode of rendering shadows ("Maps") --- can be switched on in Video/Advanced menu.<br />
* Softness of soft shadows can be controlled by "emitter_size" spawnarg.<br />
''Beware: "Maps" and "Stencil" modes of rendering shadows treat it in absolutely different way!''<br />
* Added "soft gamma": implementation of gamma correction not subject to color banding.<br />
''See cvars r_ambientMinLevel and r_ambientGamma.''<br />
* Lanterns no longer flicker when climbing ladders<br />
<br />
== Assets ==<br />
<br />
<font size="3">Many quality textures, models, and materials were added by both Team members and<br />
<br>community contributors over the 2.06 to 2.07 cycle.</font><br />
<br />
* Epifire's Security Camera<br />
* Springheel's Church modules<br />
* Springheel's updated head models<br />
* Springheel's particle effects<br />
* Grayman's Grandfather Clock prefab<br />
* Spooks light texture<br />
* Rsoul's Chain models and Interior Module fixes<br />
* Undetermined number of assets held back from the end of 2.06?<br />
<br />
== GUIs ==<br />
<br />
* "Frob helper" feature provides a small screen center indicator when frobbing small object<br />
* Softness slider for soft shadows<br />
* Added a toggle for Stencil Shadows vs Shadow Maps<br />
* Added "Look Up" and "Look Down" key configurations<br />
* Splash screen aspect ratios corrected<br />
<br />
== Gameplay ==<br />
<br />
* Remote listening support<br />
* Prefab Traps (scripts and models)<br />
* Inactivity Trigger script<br />
* Doubled air regaining speed after dive (Full refill now takes about 8 seconds)<br />
<br />
== Sound ==<br />
<br />
<font size="3">3D positional sound and reverb have been vastly improved in the release!</font><br />
<br />
* Enabled '''HRTF''' by default for better positional sound: works properly only with headphones.<br />
* New syntax for EFX files (Version 2): allows using presets from openal-soft.<br />
( See syntax in http://bugs.thedarkmod.com/view.php?id=4815 (to be added to wiki page later) ).<br />
* Sounds which should not be affected by environment are marked as no_efx.<br />
* Fixed some sounds which had (incorrect) stereo encoding. Converting to mono fixed 3D positional behavior<br />
* '''MANY''' Missing impact sounds added<br />
<br />
{{whatsnew|sort=207}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_2.07&diff=22345What's new in TDM 2.072018-12-19T11:46:15Z<p>Stifu: Added FrobHelper cvars</p>
<hr />
<div><!-- keywords whats new --><br />
{{notreleasedyet|2.07}}<br />
See the [http://bugs.thedarkmod.com/roadmap_page.php roadmap] on our bugtracker.<br />
<!-- See the [http://bugs.thedarkmod.com/changelog_page.php?version_id=71 changelog] on our bugtracker. --><br />
<!-- {{released|2.07|XXXX-XX-XX}} --><br />
<br />
'''<font size="5">The Dark Mod 2.07 Stability Release</font>'''<br />
<br />
<br />
<br />
<font size="3">Taking the bold new features introduced in 2.06 and improving stability <br />
<br>was the intended goal of the 2.07 release cycle.<br />
<br><br />
<br>With that said, 2.07 has a number of new tricks up it's sleeve <br />
<br>so you'll still get a few new features along with the bulk of the bug fixed code.</font><br />
<br />
<br />
{{clear}}<br />
<br />
<br />
----<br />
<br />
<br />
'''Important cvars:'''<br />
<br />
Old:<br />
* r_useFBO: enables/disables FBO rendering. It is now ON by default.<br />
* r_fboResolution: coefficient for internal rendering resolution (takes effect only when FBO is on). 2 means double resolution. Works like SSAA. Very high performance cost.<br />
* r_softshadowsradius: Determines how large the light center is for light sources. Negative value overrides emitter_size spawnarg. (partly configurable in video settings GUI)<br />
* r_softshadowsquality: Determines how many gradients for shadows. Larger values produce smoother blending at more performance cost. (configurable in video settings GUI)<br />
<br>New:<br />
* r_ambientMinLevel: adds specified value to ambient light (linear correction).<br />
* r_ambientGamma: applies specified gamma exponent to ambient light (gamma correction).<br />
* r_shadows 2: enables new "Maps" implementation of shadows. (configurable in video settings GUI)<br />
* r_shadowMapSize: defines resolution of shadow maps with "Maps" implementation of shadows. More = better, less = faster.<br />
* r_frobhelper_active: 1 = Activate, 2 = Deactivate<br />
* r_frobhelper_alpha: Opacity of the FrobHelper cursor<br />
* r_frobhelper_ignore_size: FrobHelper is not shown for objects bigger than this specified size along any axis<br />
* r_frobhelper_fadein_delay: FrobHelper is shown after a certain delay<br />
* r_frobhelper_fadein_duration: FrobHelper is faded in over this specified duration<br />
* r_frobhelper_fadeout_duration: FrobHelper is faded out over this specified duration<br />
{{clear}}<br />
<br />
----<br />
<br />
<br />
== AI ==<br />
<br />
<font size="3">While the list of AI changes is a little short in the release, many of the fixes<br />
<br>were quite complex projects and have widespread impact on the immersive quality of missions.</font><br />
<br />
* AI react properly to flashbomb attacks while seated<br />
* AI properly return to seated coordinates after being interrupted from patrol routes<br />
* Improved the way that AI respond to the player escaping to dark ledges<br />
* AI can now handle bodies obstructing door closure<br />
* Fire Elemental deemed complete. Further changes are enhancement requests.<br />
<br />
== Coding ==<br />
<br />
<font size="3">TDM 2.07 goes further with the process to modernize coding standards in TDM.<br />
<br>More legacy OpenGL functions have been replaced with modern techniques.<br />
<br>Library management and compiling have been improved. <br />
<br>Finally, performance optimizations have been applied to the rendering framework, <br />
<br>game code, and code base in general.</font><br />
<br />
<br />
* Mouse sensitivity in the main menu should be similar to one in Windows.<br />
* Precision fixes: dmap and collision-related gameplay are affected.<br />
* tdm_update: probably improved VCRedist installation, built Linux 64-bit version.<br />
* Moved closer to Doom 3 BFG Vertex Buffer management (better multi-core stability)<br />
* More SIMD instructions used to improve performance ( 64-bit rendering now has performance parity to 32-bit )<br />
* Lightgem is now defined in it's own "view" to better match native rendering conventions<br />
* FFMPEG now utilizes SMP<br />
* Envshot is fixed and can also capture the skybox<br />
<br />
== Graphics ==<br />
<br />
<font size="3">By making "Framebuffer Objects" (FBO) the default rendering mode and implementing true<br />
<br>Multisample Antialiasing (MSAA), TDM 2.07 will now allow users to change nearly every<br />
<br>standard graphic quality setting without restarting the game!<br />
<br><br />
<br>Shadow quality inches closer to the Holy Grail of true physically correct penumbra behavior<br />
<br>with the arrival of Shadow Maps with "contact hardening" Percentage Closer Soft Shadows (PCSS)!<br />
<br>Shadow Maps also of performance advantages in scenes that are normally CPU bound in<br />
<br>Stencil Shadows mode due to having to do skinning and silhouette calculations on the CPU.</font><br />
<br />
<br />
* Finished the move to FBO-based rendering and implemented proper '''antialiasing''' (MSAA).<br />
''It is recommended to reset config file, or at least set "r_useFBO 1" and "r_fboResolution 1" manually.''<br />
* Numerous FBO-related fixes: reloadImages now works, quickload no longer crashes, no more duplicate renders, etc.<br />
* New experimental mode of rendering shadows ("Maps") --- can be switched on in Video/Advanced menu.<br />
* Softness of soft shadows can be controlled by "emitter_size" spawnarg.<br />
''Beware: "Maps" and "Stencil" modes of rendering shadows treat it in absolutely different way!''<br />
* Added "soft gamma": implementation of gamma correction not subject to color banding.<br />
''See cvars r_ambientMinLevel and r_ambientGamma.''<br />
* Lanterns no longer flicker when climbing ladders<br />
<br />
== Assets ==<br />
<br />
<font size="3">Many quality textures, models, and materials were added by both Team members and<br />
<br>community contributors over the 2.06 to 2.07 cycle.</font><br />
<br />
* Springheel's Church modules<br />
* Springheel's updated head models<br />
* Springheel's particle effects<br />
* Grayman's Grandfather Clock prefab<br />
* Spooks light texture<br />
* Rsoul's Chain models and Interior Module fixes<br />
* Undetermined number of assets held back from the end of 2.06?<br />
<br />
== GUIs ==<br />
<br />
* "Frob helper" feature provides a small screen center indicator when frobbing small object<br />
* Softness slider for soft shadows<br />
* Added a toggle for Stencil Shadows vs Shadow Maps<br />
* Added "Look Up" and "Look Down" key configurations<br />
* Splash screen aspect ratios corrected<br />
<br />
== Gameplay ==<br />
<br />
* Remote listening support<br />
* Prefab Traps (scripts and models)<br />
* Inactivity Trigger script<br />
<br />
== Sound ==<br />
<br />
<font size="3">3D positional sound and reverb have been vastly improved in the release!</font><br />
<br />
* Enabled '''HRTF''' by default for better positional sound: works properly only with headphones.<br />
* New syntax for EFX files (Version 2): allows using presets from openal-soft.<br />
( See syntax in http://bugs.thedarkmod.com/view.php?id=4815 (to be added to wiki page later) ).<br />
* Sounds which should not be affected by environment are marked as no_efx.<br />
* Fixed some sounds which had (incorrect) stereo encoding. Converting to mono fixed 3D positional behavior<br />
* '''MANY''' Missing impact sounds added<br />
<br />
{{whatsnew|sort=207}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Installation&diff=15714Installation2012-10-31T08:36:26Z<p>Stifu: Added info about BFG edition of D3</p>
<hr />
<div>{{important|headline=Important|text=This article tells you how to install the full version of [[The Dark Mod]]. If you are installing one of the demos: ''Thief's Den'' or ''Saint Lucia'', then you can ignore this page. Instead, follow the instructions here: [[Thief%27s_Den#Installation|Thief's Den Installation]] or [[Saint_Lucia|Saint Lucia Installation]].}}<br />
<br />
__TOC__<br />
<br />
{{important|headline=Important|text=You'll need to install the [http://www.dramthethief.com/darkmod/files/DOOM3-1.3.1.exe Doom 3 patch 1.3.1] otherwise the Mod won't run. Furthermore, the new BFG edition of Doom 3 does not offer mod support, so this is a no go.}}<br />
<br />
== Prerequisites ==<br />
==== General ====<br />
:At a minimum, you'll need a machine which is capable of running the Doom 3 game on comfortably high settings. The team recommends adding more RAM and a bit more CPU to the basic requirements, however, otherwise running the larger maps will be difficult.<br />
<br />
==== Operating System ====<br />
:*Windows (2000/XP/Vista/Win7)<br />
:*Linux<br />
:*MacOSX<br />
<br />
==== Doom 3 Patch 1.3.1 ====<br />
:In order to run The Dark Mod, you need to have the v1.3.1 patch for Doom 3 installed. See the [[#Weblinks|download section below]] for links, please use these links as there are some bad versions of this patch floating around some sites. Steam copies of Doom3 will already have the correct version and do not need to worry about this.<br />
<br />
:*Linux users: make sure that the install path for Doom 3 is all lowercase (e.g. <code>/usr/local/lib/doom3</code>).<br />
:*Non-English Windows users: Some combinations of Doom 3 English and a non-English version of Windows can result in the patch installer having trouble or not offering an English option, please see [http://modetwo.net/darkmod/index.php?/topic/11815-trouble-patching-and-launching| this forum thread].<br />
<br />
==== Hard Disk Space ====<br />
:A rough estimate of how disk space required is '''3-4gb'''. As TDM is under continual development this is likely to increase slowly over time.<br />
<br />
:Breakdown of the estimate:<br />
::* Doom 3 installation : 1.5 GB.<br />
::* For the base TDM package you need another 2 GB.<br />
::* Plus a variable amount of space you need for downloaded FM packages.<br />
::* Plus a variable amount of space for screenshots, savegames, etc.<br />
<br />
:*FM's (Fan Mission) sizes vary as they depends on the amount of custom content(models, textures etc) the FM author is packing in. Usually FMs are very small, if they're using the stock TDM content (1 to 10 MB). FM's with large amounts of custom content can be quite large (20-60mb+), all content however is pre-compressed. For more information please see [[Fan Missions for The_ Dark Mod]].<br />
:*Savegames vary in size, they can be a few MB per save depending on the size of the FM.<br />
:*Screenshots depend on the screen resolution you're using (~2 MB per shot).<br />
<br />
==== References ====<br />
:See the article [[Known System Configurations]] for a (hopefully growing) collection of system configurations and the corresponding user feedback.<br />
<br />
<br />
<br />
== Installing The Dark Mod ==<br />
=== Install on Windows ===<br />
You need a working and patched Doom 3 installation (non BFG edition) on your hard drive. These steps will assume that you installed Doom 3 in the folder <tt>C:\Games\Doom3</tt>. If you are using a Steam version of Doom3 please read [[FAQ#Does_it_run_with_the_Steam_version_of_Doom_3.3F |this FAQ note]].<br />
<br />
# Create a '''darkmod''' folder in your Doom 3 directory, like this: '''C:\Games\Doom3\darkmod\'''<br />
# Download the [http://www.bloodgate.com/mirrors/tdm/pub/pk4/tdm_update_win.zip TDM Updater] from one of our mirrors.<br />
# Extract '''tdm_update.exe''' from the downloaded ZIP and copy it into your '''C:\Games\Doom3\darkmod\''' folder.<br />
# Run tdm_update.exe. The installer will connect to our download mirrors and start the download process.<br />
# Be patient and wait. The download weighs about '''1.7 GB''' will take a while.<br />
# If you see error messages about corrupt files, please try to run the updater again, these massive downloads are sometimes failing.<br />
# After installation, you'll find an executable <tt>tdmlauncher.exe</tt> in your darkmod folder, i.e. <tt>C:\Games\Doom3\darkmod\tdmlauncher.exe</tt>. Use this to start The Dark Mod.<br />
<br />
Note for Windows 2000 users: please install the GDI+ redistributable package, as described here: [[TDM in Windows 2000]]<br />
<br />
=== Install on Linux ===<br />
# You need the native version of Doom 3 (non BFG edition) installed and patched to v1.3.1, [[#Weblinks|see below]] for download links and install instructions.<br />
# Since there is no 64 bit version of either Doom 3 or The DarkMod, on 64 bit systems you also need the 32 bit compatibility libraries installed. On some distributions like SuSE, these are included in the default installation, but on Kubuntu/Ubuntu you need to install the package called <code>ia32-lib</code> and all its dependencies. Otherwise, even the installer for Doom 3 will fail to run.<br />
# Create a folder <tt>~/.doom3/darkmod</tt> in your home directory. Mind the dot in the path.<br />
# Download the Linux version of the [http://www.bloodgate.com/mirrors/tdm/pub/pk4/tdm_update_linux.zip TDM Updater] and save it to <tt>~/.doom3/darkmod/</tt><br />
# Extract ''tdm_update.linux'': <tt>unzip tdm_update_linux.zip</tt><br />
# Make ''tdm_update.linux'' executable: <tt>chmod +x tdm_update.linux</tt><br />
# Run the updater: <tt>./tdm_update.linux</tt> It will connect to our mirrors and download the packages for you.<br />
<br />
# If you get an error about GLIBCXX_3.4.9, delete or rename the files <tt>/usr/local/games/doom3/libstdc++.so.6</tt> and <tt>/usr/local/games/doom3/libgcc_s.so.1</tt>.<br />
<br />
=== Install on Mac OSX ===<br />
# Ensure that Doom 3 (non BFG edition) is patched to v1.3.1 RevA (which provides native support for Intel processors), see below for links.<br />
# It is recommended that the "Doom 3" program folder is installed into the Application Support folder (i.e. <tt>~/Library/Application Support/Doom 3/</tt>). If Doom 3 is installed into a different location then additional steps will need to be followed.<br />
# Download [http://www.bloodgate.com/mirrors/tdm/pub/pk4/mac/darkmod.zip darkmod.zip]. <br />
# Move the resulting "darkmod" folder to the "Doom 3" folder (alongside "Doom 3.app" and the "base" folder).<br />
# Within the darkmod folder, double-click the tdm_update_helper.command file to begin downloading the latest release of TDM (approx 2GB).<br />
# Start The Dark Mod using the <tt>tdmlauncher_helper.command</tt> script in your <tt>~/Library/Application Support/Doom 3/darkmod</tt> folder.<br />
<br />
==== Using a custom Doom 3 location ====<br />
Until idTech4 is open sourced, there is some dependency on the Application Support folder, where FMs are currently downloaded to. If the Doom 3 folder is not located within Application Support, you'll need to do the following to allow TDM to function as intended:<br />
<br />
# Open up a terminal window (if you don't know how to do this, type 'terminal' into the SpotLight search bar and press 'Enter' to run the terminal application).<br />
# Type the command <tt>cd ~/Library/Application\ Support/Doom\ 3/</tt> and press the 'Enter' key.<br />
# Enter the command 'mkdir darkmod' and then 'cd darkmod' to change to the new darkmod directory.<br />
# Create a symbolic link with the command <tt>ln /folder/darkmod/tdmlauncher.macosx tdmlauncher.macosx</tt> where /folder/ is the path to your "Doom 3" program folder.<br />
# You should now be able to launch TDM by double clicking the tdmlauncher_helper.command script in your "Doom 3" program folder where TDM has downloaded.<br />
<br />
==== tdmlauncher_helper.command ====<br />
#!/bin/sh<br />
export TDMDIR=`dirname "$0"`<br />
exec "$TDMDIR/tdmlauncher.macosx" "$TDMDIR/../Doom 3.app/Contents/MacOS/Doom 3"<br />
<br />
==== tdm_update_helper.command ====<br />
#!/bin/sh<br />
export TDMDIR=`dirname "$0"`<br />
cd "$TDMDIR"<br />
chmod +x tdm_update.macosx<br />
exec ./tdm_update.macosx <br />
<br />
==== Known issues ====<br />
The automatic restart (when installing a FM, or restarting from the Graphics screen) currently fails to relaunch TDM v1.06 occasionally. If this happens, TDM will need to be launched manually by running the launcher program or script.<br />
<br />
== Alternative Download Methods ==<br />
If you have troubles running tdm_update, you can see if [[tdm_update|this page]] helps you. Otherwise, you can also use other download methods to get a initial copy of the mod. Visit [http://www.mindplaces.com/darkmod/downloads.php TDM Downloads].<br />
<br />
<br />
<br />
== Launching The Dark Mod ==<br />
Use the '''tdmlauncher''' application to run The Dark Mod. This small application will take care of launching the Doom 3 process with the correct command line arguments. TDM Launcher is available for all supported platforms.<br />
<br />
* '''Windows:''' <tt>C:\Games\Doom3\darkmod\tdmlauncher.exe</tt><br />
* '''Linux:''' <tt>~/.doom3/darkmod/tdmlauncher.linux</tt><br />
** Before it can be run the first time, you must make '''tdmlauncher.linux''' executable: <br /><tt>chmod +x ~/.doom3/darkmod/tdmlauncher.linux</tt><br />
* '''Mac OSX:''' <tt>~/Library/Application Support/Doom 3/darkmod/tdmlauncher.macosx</tt><br />
** Before it can be run the first time, you must make '''tdmlauncher.macosx''' executable: <br /><tt>chmod +x ~/Library/Application Support/Doom 3/darkmod/tdmlauncher.macosx</tt><br />
<br />
'''Note:''' The tdmlauncher application will also be used by the game itself when installing/re-installing/un-installing FM packages, so '''please don't delete tdmlauncher'''.<br />
* See also [[Creating Desktop Shortcuts for TDM]].<br />
* See also [[tdmlauncher in Gentoo Linux]]<br />
<br />
==== Troubleshooting TDM Launcher ====<br />
The tdmlauncher executable will generate a small logfile <tt>tdmlauncher.log</tt> each time it is invoked. The log file is located right next to the executable and might give some useful insight if the game fails to load.<br />
<br />
==== Passing custom command line arguments ====<br />
Some people like to have custom command line arguments to the game, which is supported by tdmlauncher. Open the <tt>dmargs.txt</tt> in your darkmod folder and add any arguments you'd like TDM Launcher to pass to the Doom3 command line.<br />
* See also [[Doom3 command line arguments]].<br />
<br />
== First Startup ==<br />
* Please take your time to read through [[The Dark Mod Gameplay]] article to get familiar with the game.<br />
* TDM ships with a Training Mission which is designed to introduce you to TDM gameplay. You should start this mission first even if you've played stealth games before.<br />
* Adjust the settings in the menus, like screen resolution and gameplay settings.<br />
* See also the [[Performance Tweaks]] article to make TDM run a little bit faster if you're on a lower end machine.<br />
* If you encounter a problem please check the [[FAQ]] and failing that leave a post in the TDM Support forum.<br />
<br />
<br />
<br />
== Installing and Running Fan Missions ==<br />
<br />
Fan Missions can be downloaded from inside the TDM menu. Go to "New Mission" and click on "Get new missions".<br />
<br />
Alternatively, you can go to [http://www.thedarkmod.com/missions/ www.thedarkmod.com] to get hold of mission packages available for The Dark Mod. Each FM is contained in a PK4 file, which contains all the files necessary to run the mission. Sometimes missions also have an optional _l10n.pk4 file, this contains the content for all other languages than English.<br />
<br />
# Download the mission PK4 file - (IE7 may rename PK4s to zip, dont worry TDM looks for both pk4's and zip's).<br />
# Drop the file into the fms/ folder, e.g. <tt>C:\Games\doom3\darkmod\fms\</tt> or <tt>~/.doom3/darkmod/fms</tt><br />
# Launch The Dark Mod.<br />
# The mission should now be listed in your ''New Mission'' menu.<br />
# Highlight the mission and select ''Install'' to install. TDM will automatically restart.<br />
# Select ''New Mission'' and then ''Start this Mission'' on the upper left.<br />
<br />
See the full article [[Installing and Running Fan Missions]] for a detailed explanation.<br />
<br />
<br />
<br />
== DoomConfig.cfg Howto ==<br />
Game configuration settings are stored in the file DoomConfig.cfg but there is one in every FM folder as well as base and darkmod folders. Normally you just use the Settings menu but if you want to manually change or add any settings you should read [[DoomConfig.cfg]] to see how they all integrate together or you may lose some settings if you edit the wrong way.<br />
<br />
<br />
== Weblinks ==<br />
* Doom [http://www.dramthethief.com/darkmod/files/DOOM3-1.3.1.exe v1.3.1 patch for Windows]<br />
* Doom v1.3.1 for Linux: [ftp://ftp.idsoftware.com/idstuff/doom3/ FTP] [http://zerowing.idsoftware.com:6969/ BitTorrent]<br />
* Doom v1.3.1 RevA for Mac OSX (which provides native support for Intel processors): [http://support.aspyr.com/index.php/kb/article/000579 Doom v1.3.1 RevA] ([http://www.dramthethief.com/darkmod/files/Doom3Mac1.3.1RevA.dmg mirror])<br />
<br />
== See also ==<br />
* [[tdm_update]] - If you have trouble with running the installer/updater.<br />
* [[FAQ]] - Frequently Asked Questions and their answers.<br />
<br />
{{installation}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=DarkRadiant_-_Compilation_Guide&diff=15674DarkRadiant - Compilation Guide2012-10-07T08:38:46Z<p>Stifu: </p>
<hr />
<div>DarkRadiant's codebase is open source. To compile the sources you can either use <br />
<br />
* Windows: ''Visual C++ 2012 Express'' (As contained in the Visual Studio package. All other editions also possible: Professional, Ultimate, ...)<br />
* Windows: ''Visual C++ 2010 Express'' (As contained in the Visual Studio package. All other editions also possible: Professional, Ultimate, ...)<br />
* Linux: gcc/g++. <br />
<br />
All compilers can be acquired for free and should be able to produce 32 Bit and 64 Bit builds.<br />
<br />
= Use Git =<br />
The main codebase is stored and maintained on github<sup>[[#windeps_svn_note|[1]]]</sup>, you'll therefore need some Git client like<br />
* [http://windows.github.com/ '''github:windows''']<br />
* [http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git '''TortoiseGit'''] <br />
<br />
Windows users: Download and install the git client, into any folder of your preference. After installation it might ask to reboot your machine, as Tortoise integrates into the Explorer shell.<br />
<br />
= Clone the Sources = <br />
Windows users (github:windows): Create your github-login, configure github:windows as desired, especially the target-workingfolder, which may not contain any spaces. Browse to the [https://github.com/orbweaver/DarkRadiant github-page of DarkRadiant] and click on '''Clone in Windows''']. That's it!<br />
<br />
Windows users (Tortoise): To prepare the source download, open Windows Explorer and create the folder you want to clone (i.e. download) the sources into. Make sure the folder does not contain spaces. Use your Git client to clone the DarkRadiant repository from github:<br />
<br />
[[Image:Dr_clone_git.png|200px]]<br />
<br />
Linux users: The git command line equivalent would be this:<br />
<br />
git clone git://github.com/orbweaver/DarkRadiant.git<br />
<br />
Cloning takes a minute or two - after the process is finished your folder should be looking like this:<br />
<br />
[[Image:Dr_bare_repo.png|200px]]<br />
<br />
Windows users: this is not yet enough to compile DarkRadiant in Windows, you still need to download and extract the dependencies, see the next step. <br />
Linux people: proceed directly to the [[DarkRadiant - Compiling in Linux|Linux compilation article]].<br />
<br />
== Windows: Download the Dependencies ==<br />
For Windows builds additional dependencies must be downloaded and copied into the source tree. To keep the github source repository small, the dependencies can be downloaded as 7-zipped packages (you can [http://www.7-zip.org get 7-zip here]):<br />
<br />
https://github.com/downloads/orbweaver/DarkRadiant/w32deps.7z<br />
https://github.com/downloads/orbweaver/DarkRadiant/w64deps.7z (needed for x64 builds)<br />
<br />
If you're in Windows 7 x64 (or any higher 64 bit Windows version) you need to download both packages. Download and extract them directly to the directory you cloned the sources to. The resulting folder structure should look like this. <br />
<br />
[[Image:Dr_windeps_repo.png|200px]]<br />
<br />
'''Important:''' The w32deps/ (or w64deps/) folder must be in the same folder as the radiant/ or include/ folder.<br />
<br />
= Compilation =<br />
Once you've downloaded the sources, the steps for compiling DarkRadiant depend on your toolset/compiler. Choose one of the links below:<br />
* [[DarkRadiant - Compiling in Visual C++ 2012|Compiling in Visual C++ 2012]]<br />
* [[DarkRadiant - Compiling in Visual C++ 2010|Compiling in Visual C++ 2010]]<br />
* [[DarkRadiant - Compiling in Linux|Compiling in Linux]]<br />
<br />
= Advanced Users: Compiling the Windows Dependencies =<br />
<br />
== Boost static libraries ==<br />
Any VC++ compiler version '''other than the ones mentioned above''' will require a recompile of the boost static libraries which DarkRadiant links against. At the time of writing, DarkRadiant is using the following boost libraries:<br />
* boost.regex<br />
* boost.filesystem<br />
* boost.system<br />
* boost.python<br />
To build these static libraries, boost provides the jam tool (bjam.exe), which can be used to build the statics for you. Go get the boost sources from their website (http://www.boost.org) and extract them into a new folder. Then get bjam (can also be downloaded from their website, but you can also build it from scratch)<br />
<br />
=== Use DarkRadiant's build scripts ===<br />
I prepared some batch files which do most of the dirty work for you. As prerequisite make sure that the path to <tt>bjam.exe</tt> is added to your PATH before invoking the scripts.<br />
<br />
* Open a console (Win-R ==> "cmd")<br />
* Change directories to the folder where you extracted the downloaded boost package to, e.g. c:\downloads\boost_1_42_0<br />
* Run the build scripts from there, e.g. <tt>c:\games\darkradiant\tools\scripts\build_boost_libs</tt>, assuming that the DarkRadiant SVN trunk has been checked out to c:\games\darkradiant.<br />
* Copy the files from the stage/ folder (which just popped up as a new Explorer window) to your <tt>w32deps/boost/libs</tt> folder.<br />
* [64 Bit Build]: Use the <tt>build_boost_libs.x64</tt> batch file to build the x64 libraries, but beware that this will overwrite the current contents of the stage/ folder.<br />
<br />
=== Build a boost library manually ===<br />
See main article: [[Compile the static Boost Libraries in Windows]]<br />
<br />
The *.lib files from the stage/ folder should be copied into your '''w32deps/boost/lib''' folder (or the '''w64deps/boost/lib''' for Win64 targets) in your darkradiant directory and the linking should succeed.<br />
<br />
== Compile the GTK+ toolchain et al ==<br />
DarkRadiant is using a lot of third-party libraries like GTK+, gtkmm, libxml2, libiconv, gtkglext, etc.<br />
<br />
For Windows I set up custom VC++ solutions to compile most of the libraries directly from the source (as many of those third-party projects don't offer Windows x64 binaries), these projects can be found in the <tt>trunk/winbuild</tt> branch in SVN. The winbuild folder contains all the sources needed to build the Win32/Win64 dependency binaries, including gtkmm et al., gtkglextmm and gtksourceviewmm. Note that the headers are stored in w32deps, as the main DarkRadiant project needs them there, so w32deps is the place to look for most of the shared headers.<br />
<br />
There are VC++ project files in each of the subdirectories (e.g. MSVC_Net2010), which work best when the winbuild folder is checked out as subfolder to the trunk/darkradiant working copy, next to your w32deps/w64deps directories, as indicated above. To check out the winbuild folder:<br />
<br />
# Right-click your C:\Games folder >> SVN Checkout...<br />
# Select https://darkradiant.svn.sourceforge.net/svnroot/darkradiant/trunk/winbuild to C:\Games\DarkRadiant\winbuild<br />
<br />
The folder structure should then look like this:<br />
<br />
C:\Games\DarkRadiant<br />
C:\Games\DarkRadiant\w32deps<br />
C:\Games\DarkRadiant\w64deps [optional for x64 builds]<br />
C:\Games\DarkRadiant\winbuild<br />
<br />
This way, the VC++ projects place their binaries in the correct location in the w32deps/w64deps folder and you can compile DarkRadiant right off the bat.<br />
<br />
== Compile Scripts (VC++ 2010) ==<br />
<br />
For VC++ 2010 you can use the shell script in the winbuild folder. Open a VC++ 2010 Command Prompt and head to the winbuild directory, then call the batch file corresponding to your compiler version.<br />
<br />
* build_all.x86.cmd => Compiles all 32 bit gtkmm libraries, including gtksourceviewmm and gtkglextmm (Debug & Release versions).<br />
* build_all.x64.cmd => Compiles all 64 bit gtkmm libraries, including gtksourceviewmm and gtkglextmm (Debug & Release versions).<br />
* build_c_libs.x86.cmd => Compiles all 32 bit C-libraries like win_iconv, libxml2, gtkglext and gtksourceview (Debug & Release versions).<br />
* build_c_libs.x64.cmd => Compiles all 64 bit C-libraries like win_iconv, libxml2, gtkglext and gtksourceview (Debug & Release versions).<br />
<br />
The 32 bit shell scripts will place the *.lib files directly into your w32deps folder, the 64 bit ones put their files into w64deps.<br />
<br />
== Program Database Files (.pdb) ==<br />
When debugging a DarkRadiant crashdump, you'll need the program database files to get substantial information out of it, so it's vital to save the .pdb files right after compilation, otherwise they won't match against the signatures in the crashdump.<br />
<br />
As far as the w32deps/w64deps dependencies are concerned, I've zipped up all the .pdb files and stored them on the FTP:<br />
<br />
* VC++ 2012 - x86: http://www.dramthethief.com/darkmod/files/darkradiant/w32deps.pdbs.msvc2012.7z<br />
* VC++ 2012 - x64: http://www.dramthethief.com/darkmod/files/darkradiant/w64deps.pdbs.msvc2012.7z<br />
<br />
== Notes ==<br />
# <span id="windeps_svn_note">The win32 and win64 dependencies are maintained in SVN at SourceForge, but you won't need to check out those unless you're a Windows developer and want to work on the Windows dependencies. If anything substantial changes within these they are zipped and uploaded to [https://github.com/orbweaver/DarkRadiant/downloads github's download area]. Linux folks don't need these at all.</span><br />
# This is the original guide I was modeling the winbuild VC++ projects after: https://live.gnome.org/GTK+/Win32/MSVCCompilationOfGTKStack#Now.2C_onto_the_GTK.2B-_stack.21 Since I implemened the VC++ 2010 solution some modules of the GTK+ stack have made some advances towards Visual Studio 2010 support, but you still have to search for the puzzle pieces on your own.<br />
<br />
{{coding}}<br />
{{darkradiant|sort=Compilation}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=DarkRadiant_-_Compilation_Guide&diff=15673DarkRadiant - Compilation Guide2012-10-06T08:30:17Z<p>Stifu: Added github:windows and information about spaces in the working-directory</p>
<hr />
<div>DarkRadiant's codebase is open source. To compile the sources you can either use <br />
<br />
* Windows: ''Visual Studio 2012 Express for Windows Desktop'' (or higher)<br />
* Windows: ''Visual C++ 2010 Express'' (or higher)<br />
* Linux: gcc/g++. <br />
<br />
All compilers can be acquired for free and should be able to produce 32 Bit and 64 Bit builds.<br />
<br />
= Use Git =<br />
The main codebase is stored and maintained on github<sup>[[#windeps_svn_note|[1]]]</sup>, you'll therefore need some Git client like<br />
* [http://windows.github.com/ '''github:windows''']<br />
* [http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git '''TortoiseGit'''] <br />
<br />
Windows users: Download and install the git client, into any folder of your preference. After installation it might ask to reboot your machine, as Tortoise integrates into the Explorer shell.<br />
<br />
= Clone the Sources = <br />
Windows users (github:windows): Create your github-login, configure github:windows as desired, especially the target-workingfolder, which may not contain any spaces. Browse to the [https://github.com/orbweaver/DarkRadiant github-page of DarkRadiant] and click on '''Clone in Windows''']. That's it!<br />
<br />
Windows users (Tortoise): To prepare the source download, open Windows Explorer and create the folder you want to clone (i.e. download) the sources into. Make sure the folder does not contain spaces. Use your Git client to clone the DarkRadiant repository from github:<br />
<br />
[[Image:Dr_clone_git.png|200px]]<br />
<br />
Linux users: The git command line equivalent would be this:<br />
<br />
git clone git://github.com/orbweaver/DarkRadiant.git<br />
<br />
Cloning takes a minute or two - after the process is finished your folder should be looking like this:<br />
<br />
[[Image:Dr_bare_repo.png|200px]]<br />
<br />
Windows users: this is not yet enough to compile DarkRadiant in Windows, you still need to download and extract the dependencies, see the next step. <br />
Linux people: proceed directly to the [[DarkRadiant - Compiling in Linux|Linux compilation article]].<br />
<br />
== Windows: Download the Dependencies ==<br />
For Windows builds additional dependencies must be downloaded and copied into the source tree. To keep the github source repository small, the dependencies can be downloaded as 7-zipped packages (you can [http://www.7-zip.org get 7-zip here]):<br />
<br />
https://github.com/downloads/orbweaver/DarkRadiant/w32deps.7z<br />
https://github.com/downloads/orbweaver/DarkRadiant/w64deps.7z (needed for x64 builds)<br />
<br />
If you're in Windows 7 x64 (or any higher 64 bit Windows version) you need to download both packages. Download and extract them directly to the directory you cloned the sources to. The resulting folder structure should look like this. <br />
<br />
[[Image:Dr_windeps_repo.png|200px]]<br />
<br />
'''Important:''' The w32deps/ (or w64deps/) folder must be in the same folder as the radiant/ or include/ folder.<br />
<br />
= Compilation =<br />
Once you've downloaded the sources, the steps for compiling DarkRadiant depend on your toolset/compiler. Choose one of the links below:<br />
* [[DarkRadiant - Compiling in Visual C++ 2012|Compiling in Visual C++ 2012]]<br />
* [[DarkRadiant - Compiling in Visual C++ 2010|Compiling in Visual C++ 2010]]<br />
* [[DarkRadiant - Compiling in Linux|Compiling in Linux]]<br />
<br />
= Advanced Users: Compiling the Windows Dependencies =<br />
<br />
== Boost static libraries ==<br />
Any VC++ compiler version '''other than the ones mentioned above''' will require a recompile of the boost static libraries which DarkRadiant links against. At the time of writing, DarkRadiant is using the following boost libraries:<br />
* boost.regex<br />
* boost.filesystem<br />
* boost.system<br />
* boost.python<br />
To build these static libraries, boost provides the jam tool (bjam.exe), which can be used to build the statics for you. Go get the boost sources from their website (http://www.boost.org) and extract them into a new folder. Then get bjam (can also be downloaded from their website, but you can also build it from scratch)<br />
<br />
=== Use DarkRadiant's build scripts ===<br />
I prepared some batch files which do most of the dirty work for you. As prerequisite make sure that the path to <tt>bjam.exe</tt> is added to your PATH before invoking the scripts.<br />
<br />
* Open a console (Win-R ==> "cmd")<br />
* Change directories to the folder where you extracted the downloaded boost package to, e.g. c:\downloads\boost_1_42_0<br />
* Run the build scripts from there, e.g. <tt>c:\games\darkradiant\tools\scripts\build_boost_libs</tt>, assuming that the DarkRadiant SVN trunk has been checked out to c:\games\darkradiant.<br />
* Copy the files from the stage/ folder (which just popped up as a new Explorer window) to your <tt>w32deps/boost/libs</tt> folder.<br />
* [64 Bit Build]: Use the <tt>build_boost_libs.x64</tt> batch file to build the x64 libraries, but beware that this will overwrite the current contents of the stage/ folder.<br />
<br />
=== Build a boost library manually ===<br />
See main article: [[Compile the static Boost Libraries in Windows]]<br />
<br />
The *.lib files from the stage/ folder should be copied into your '''w32deps/boost/lib''' folder (or the '''w64deps/boost/lib''' for Win64 targets) in your darkradiant directory and the linking should succeed.<br />
<br />
== Compile the GTK+ toolchain et al ==<br />
DarkRadiant is using a lot of third-party libraries like GTK+, gtkmm, libxml2, libiconv, gtkglext, etc.<br />
<br />
For Windows I set up custom VC++ solutions to compile most of the libraries directly from the source (as many of those third-party projects don't offer Windows x64 binaries), these projects can be found in the <tt>trunk/winbuild</tt> branch in SVN. The winbuild folder contains all the sources needed to build the Win32/Win64 dependency binaries, including gtkmm et al., gtkglextmm and gtksourceviewmm. Note that the headers are stored in w32deps, as the main DarkRadiant project needs them there, so w32deps is the place to look for most of the shared headers.<br />
<br />
There are VC++ project files in each of the subdirectories (e.g. MSVC_Net2010), which work best when the winbuild folder is checked out as subfolder to the trunk/darkradiant working copy, next to your w32deps/w64deps directories, as indicated above. To check out the winbuild folder:<br />
<br />
# Right-click your C:\Games folder >> SVN Checkout...<br />
# Select https://darkradiant.svn.sourceforge.net/svnroot/darkradiant/trunk/winbuild to C:\Games\DarkRadiant\winbuild<br />
<br />
The folder structure should then look like this:<br />
<br />
C:\Games\DarkRadiant<br />
C:\Games\DarkRadiant\w32deps<br />
C:\Games\DarkRadiant\w64deps [optional for x64 builds]<br />
C:\Games\DarkRadiant\winbuild<br />
<br />
This way, the VC++ projects place their binaries in the correct location in the w32deps/w64deps folder and you can compile DarkRadiant right off the bat.<br />
<br />
== Compile Scripts (VC++ 2010) ==<br />
<br />
For VC++ 2010 you can use the shell script in the winbuild folder. Open a VC++ 2010 Command Prompt and head to the winbuild directory, then call the batch file corresponding to your compiler version.<br />
<br />
* build_all.x86.cmd => Compiles all 32 bit gtkmm libraries, including gtksourceviewmm and gtkglextmm (Debug & Release versions).<br />
* build_all.x64.cmd => Compiles all 64 bit gtkmm libraries, including gtksourceviewmm and gtkglextmm (Debug & Release versions).<br />
* build_c_libs.x86.cmd => Compiles all 32 bit C-libraries like win_iconv, libxml2, gtkglext and gtksourceview (Debug & Release versions).<br />
* build_c_libs.x64.cmd => Compiles all 64 bit C-libraries like win_iconv, libxml2, gtkglext and gtksourceview (Debug & Release versions).<br />
<br />
The 32 bit shell scripts will place the *.lib files directly into your w32deps folder, the 64 bit ones put their files into w64deps.<br />
<br />
== Program Database Files (.pdb) ==<br />
When debugging a DarkRadiant crashdump, you'll need the program database files to get substantial information out of it, so it's vital to save the .pdb files right after compilation, otherwise they won't match against the signatures in the crashdump.<br />
<br />
As far as the w32deps/w64deps dependencies are concerned, I've zipped up all the .pdb files and stored them on the FTP:<br />
<br />
* VC++ 2012 - x86: http://www.dramthethief.com/darkmod/files/darkradiant/w32deps.pdbs.msvc2012.7z<br />
* VC++ 2012 - x64: http://www.dramthethief.com/darkmod/files/darkradiant/w64deps.pdbs.msvc2012.7z<br />
<br />
== Notes ==<br />
# <span id="windeps_svn_note">The win32 and win64 dependencies are maintained in SVN at SourceForge, but you won't need to check out those unless you're a Windows developer and want to work on the Windows dependencies. If anything substantial changes within these they are zipped and uploaded to [https://github.com/orbweaver/DarkRadiant/downloads github's download area]. Linux folks don't need these at all.</span><br />
# This is the original guide I was modeling the winbuild VC++ projects after: https://live.gnome.org/GTK+/Win32/MSVCCompilationOfGTKStack#Now.2C_onto_the_GTK.2B-_stack.21 Since I implemened the VC++ 2010 solution some modules of the GTK+ stack have made some advances towards Visual Studio 2010 support, but you still have to search for the puzzle pieces on your own.<br />
<br />
{{coding}}<br />
{{darkradiant|sort=Compilation}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=TDM_Material_Batch_Conversion&diff=13075TDM Material Batch Conversion2011-06-01T08:51:54Z<p>Stifu: Minor cosmetic fix</p>
<hr />
<div>=Introduction=<br />
<br />
Some of the ambient rendering methods available in TDM require ambient stages in all the material definitions (see [[Virtual Ambient Light Textures]]). Since TDM 1.03, there are console commands that automatically converts materials to be compatible with all the ambient methods. '''tdm_batchConvertMaterials''' is used to convert batches of material files.<br />
'''tdm_convertMaterialsFromFile''' converts all materials in one .mtr file.<br />
'''tdm_convertMaterial''' converts one material within a file.<br />
<br />
<br />
=Converting a single material=<br />
<br />
To convert a single material use the command:<br />
<br />
''tdm_convertMaterial''<br />
<br />
Syntax:<br />
tdm_convertMaterial <mtr-name> [forceUpdate] <br />
<br />
Usage:<br />
Converts specified material to support new ambient lighting. <br />
Supports auto-complete for material name.<br />
forceUpdate is an optional parameter, if provided, material with valid ambient blocks is forcefully updated again.<br />
<br />
<br />
=Converting a single file=<br />
<br />
To convert a single file use the command:<br />
<br />
''tdm_convertMaterialsFromFile ''<br />
<br />
Syntax:<br />
tdm_convertMaterialsFromFile <mtr-filename> [forceUpdateAll] <br />
<br />
Usage:<br />
Converts all materials from a specified file to support new ambient lighting. <br />
Supports auto-complete for filename.<br />
forceUpdateAll is an optional parameter, if provided, materials with valid ambient blocks are forcefully updated again.<br />
<br />
<br />
<br />
<br />
=Converting multiple files=<br />
<br />
The command ''tdm_batchConvertMaterials'' analyses a defined number of materials and alters them according to the requirements imposed by TDM 1.03. Its console explanation reads:<br />
<pre><br />
Usage: tdm_batchConvertMaterials <StartIndex> <nMaterials> [forceUpdateAll]<br />
</pre><br />
''StartIndex'' is a number that defines at what material the command is supposed to start processing and ''nMaterials'' defines how many successive materials should be processed. TDM currently consists of about 9000+ materials, so one would probably go ahead and just run the command with the parameters: tdm_batchConvertMaterials 0 10000. The problem is that all materials are parsed into RAM which will eventually lead to '''malloc errors, when the RAM is full'''.<br />
<br />
If ''forceUpdateAll'' is also set, the command will update all materials, independent of the results of the analysis.<br />
<br />
The results of the command are stored in the folder of the currently installed FM, e.g. ''.../Doom3/thiefs_den/materials'', or in ''.../Doom3/darkmod/materials'' if no FM is installed. And in case you wonder, the materials don't need to be extracted from the pk4 archives prior to processing.<br />
<br />
==Proper usage of the command==<br />
In order to run the command without running into malloc errors, one has to successively execute it on different partitions of the materials. If you choose ''nMaterials=1000'' (which appears to be a good value), you'll have to start the command multiple times while increasing the ''StartIndex'' and restarting TDM after each execution (in order to free the memory again). Here is an example:<br />
<br />
tdm_batchConvertMaterials 0 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 1000 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 2000 1000<br />
...<br />
<br />
<br />
Eventually the console will say "0 Materials processed and changed in total.", which means you're done.<br />
<br />
<br />
==I followed the above instructions but still ran into malloc errors==<br />
It may occur that you run into malloc errors, although the first executions of the command were successful. This is due to the fact that some materials are more complex than others and require more RAM for that reason. Remember the last ''StartIndex'' and re-execute the command with that index, but a decreased ''nMaterials''. Say for example, you received a malloc error after executing "tdm_batchConvertMaterials 4000 1000". You would now go ahead and do the following:<br />
tdm_batchConvertMaterials 4000 <b>500</b><br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials <b>4500 500</b><br />
...<br />
After those two executions, you can actually try to raise ''nMaterials'' again to a higher value, in order to reduce the required user-input.<br />
<br />
=Known issues=<br />
* tdm_batchConvertMaterials can result in malloc errors. See section [[#Proper Usage of the command|Proper Usage of the command]].<br />
* The conversion can produce undesired results on [[DrVertexBlend (tutorial)|vertex blended materials]], e.g. one of the old ambient stages is not removed. Please double check respective materials.<br />
<br />
{{textures}}<br />
{{Texture Tutorials}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=FAQ&diff=11927FAQ2011-01-03T10:36:43Z<p>Stifu: /* Troubleshooting */ - Added info about TDM 1.03 crashing due to firewalls and rearranged the "The game crashes on load" section for more compactness</p>
<hr />
<div>{{important|headline=Important|text=This FAQ relates to the full TDM release version only. For players of the pre-release demos such as '''[[Thief's Den]]''' and '''[[Saint_Lucia|Tears of Saint Lucia]]''' please refer to the '''[[FAQ (Demo Releases)|Demo FAQ]]'''.'''}}<br />
<br />
== What Doom versions are supported? ==<br />
<br />
=== Can I use the Demo version of Doom 3? ===<br />
<br />
No, sorry.<br />
<br />
<br />
=== Can I use it with the Doom 3 expansion Resurrection of Evil? ===<br />
<br />
<br />
No, sorry.<br />
<br />
<br />
<br />
=== Does it run with the Steam version of Doom 3? ===<br />
<br />
Yes :) You need to install the mod into the directory where Steam put Doom3, this might be under:<br />
<br />
C:\Program Files\Steam\steamapps\common\doom 3<br />
<br />
or a similiar folder.<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
== Patching Doom 3 to verson 1.3.1.1304 ==<br />
<br />
=== How can I check whether my Doom 3 is correctly patched? ===<br />
<br />
Open Doom 3 and hit {{key|Ctrl}}+{{key|Alt}}+{{key|~}} (tilde, {{key|^}} on German keyboards) to open the console. You'll see the version printed in the lower left corner of the console. It should read '''1.3.1.1304'''. If your version is ending on 1302, you've got the wrong patch installed.<br />
<br />
=== Where can I get the right patch? ===<br />
<br />
We have the patch hosted on our FTP. See the [[Installation]] article to find a link to it.<br />
<br />
If you have version 1.3.1.1302, you may need to uninstall and reinstall before patch 1.3.1.1304 will let you apply it.<br />
<br />
=== What's that issue with the 1.3.1 patch? ===<br />
<br />
When the 1.3.1 patch was released by Id, they released it a bit too early. Some download sites picked it up quite fast though and started to distribute it. The problem is, that Id replaced that patch with a different one, and, probably thinking that it hadn't spread yet, didn't bother to change the version number. However, you can still find "wrong" 1.3.1 patches and these will not work with the mod. That's why it is important to check the version number in the console to make sure that the right 1.3.1 patch is installed if the mod doesn't work. The link provided here on our own page points to the correct patch, so if you downloaded it from here you don't need to worry about it.<br />
<br />
== Supported Operating Systems ==<br />
<br />
=== Which Windows versions can I use? ===<br />
<br />
The following versions of windows have been tested and are known to work : Windows 2000, Windows XP, Windows Vista, Windows 7, Windows Server 2008, Windows Server 2003 in both 32bit and 64bit flavours.<br />
<br />
=== Does it run in Linux? ===<br />
Yes, Linux is supported.<br />
<br />
=== Does it run in 64 Bit Linux? ===<br />
Yes, Linux 64 bit is supported. In addition to the steps above, you need 32 bit compatibility libraries, since Doom3 is 32 bit only:<br />
* On '''SuSE''', they should be included.<br />
* On Ubuntu/Kubuntu, install the package '''ia32'''.<br />
<br />
For TDM after 1.0, this step should be '''no''' longer neccessary:<br />
<br />
* Since you cannot install 32 bit libraries on a 64 bit system with the normal package manager, you should use [http://ubuntuforums.org/showthread.php?t=474790 getlibs] to install '''libmng''' and the boost filesystem lib:<br />
:<code>getlibs libmng.so.1</code><br />
:<code>getlibs -l libboost-filesystem1.34.1</code><br />
<br />
=== What about Gentoo? ===<br />
Yes. It's not "officially" supported (the team doesn't test it specifically), however several users have reported success running TDM under Gentoo.<br />
<br />
=== What about Ubuntu 8.10? ===<br />
Yes. As of this writing you will need to install the '''libboost-filesystem''' package.<br />
<br />
=== GLIBCXX_3.4.9 errors ===<br />
<br />
If you receive an error about <tt>GLIBCXX_3.4.9</tt>, delete or rename the files <code>/usr/local/games/doom3/libstdc++.so.6</code> and <code>/usr/local/games/doom3/libgcc_s.so.1.</code><br />
<br />
If this doesn't resolve the error and you have an old version of GCC, then you may have to upgrade. It has been [http://modetwo.net/darkmod/index.php?/topic/9982-the-dark-mod-doom3-in-linux/ confirmed] that, at least under Gentoo, GCC 4.1 does not work with TDM but GCC 4.3 and GCC 4.4 are compatible.<br />
<br />
=== Does it run on Mac OS X?===<br />
No. Or at least not yet. The Doom 3 game itself does support Mac OS X, but The Dark Mod currently does not because we don't have any developers who use Macs. If you can help us getting it to run on OS X, please [http://modetwo.net/darkmod/index.php?showforum=11 let us know on the forum].<br />
<br />
Since TDM works on Linux already, getting it working on OS X should not be too difficult for anyone with experience programming for that platform. In theory it's just a question of figuring out how to build the mod, sorting out dependencies, and writing a few pieces of platform-specific code.<br />
<br />
== Graphics ==<br />
<br />
=== Does TDM support widescreen resolutions? ===<br />
<br />
Yes. Choose "16:9" or "16:10" in the in-game ''Settings'' menu, and select the appropriate resolution. Note that you need to restart the game to have the new setting in effect.<br />
<br />
If the native resolution of your wide screen monitor is not listed, you can enter it into '''DoomConfig.cfg''' by changing the following entries like so:<br />
<br />
set r_mode -1<br />
set r_customwidth 1280<br />
set r_customheight 800<br />
<br />
Note that if you get performance problems, please consider using a lower resolution and taking a look at [[Performance Tweaks]].<br />
<br />
== Troubleshooting ==<br />
<br />
It is hard to answer question on why something fails, because wildly different systems cause wildy different symptoms. If the following section does not help you, please ask at out our [http://www.modetwo.net/darkmod forums].<br />
<br />
<br />
=== Updater (tdm_update.exe) closes almost as soon as it's started ===<br />
<br />
See the [[Tdm_update#Updater_closes_almost_as_soon_as_it.27s_started|main article on tdm_update]].<br />
<br />
<br />
=== Windows 2000: freeaddrinfo cannot be found in WS2_32.DLL ===<br />
Please refer to the main article [[TDM in Windows 2000]] to work around this problem.<br />
<br />
<br />
===FM won't install manually===<br />
<br />
If you are running Dark Mod under Linux and have edited the file darkmod/currentfm.txt this might prevent the FM from installing. This may be fixed in an update but apparently editing using notepad under Wine works OK.<br />
<br />
<br />
=== FMs downloaded but don't show in menu list===<br />
<br />
You have download some FMs but they don't show on Dark Mod's New Missions list. Possible causes:<br />
<br />
* You must not extract the pk4s or zip files but put them into the darkmod/fms folder (or alternatively you can create the FM folder in there eg, darkmod/fms/chalice for chalice.pk4 or chalice.zip.<br />
* Early versions of Dark Mod cannot handle zip suffixes. Solution: rename to .pk4 or run tdm_update to get the latest version of Dark Mod.<br />
* If you are running Linux then Doom 3 MUST be installed in a .doom3 folder. Note the dot before .doom3.<br />
<br />
<br />
=== FM downloaded but won't play ===<br />
<br />
If you have downloaded an FM you might see it in the New Missions List but can't get it to play. These are almost always an install problem. These are some of the causes and cures:<br />
<br />
FMs (fan missions) are archives and in early versions of Dark Mod MUST be suffixed .pk4 not zip. Apparently Internet Explorer 8 may change it from pk4 to zip during download without telling you. You need to rename it back if running an early version of Dark Mod else run tdm_update to update and then zip files are OK.<br />
<br />
You MUST use doom3\darkmod\tdmlauncher.exe to run Dark Mod in Windows and NOT Doom3.exe.<br />
<br />
You do NOT need to extract the pk4 archives to install or play. Just download into or move the pk4 into the darkmod\fms folder. Optionally you can create a folder of the same name as the map and put it in there, eg, darkmod\fms\chalice but there is no need because Dark Mod will create that automatically. Just make sure your pk4 goes, unopened, into the fms folder then run tdmlauncher.exe<br />
<br />
If you have done the above but see for example, a blank objectives screen and no briefing then it is still almost certainly an install error. I recommend you do a clean sweep if in doubt:<br />
* Exit Dark Mod<br />
* Delete doom3\darkmod\currentfm.txt (this just uninstalls any FM)<br />
* Delete the map game folder (if any) This is NOT the folder in fms but the folder in doom3 of the same name as the FM, eg, doom3\chalice. Note: this has savegames and screenshots in so check and move them out if you want to preserve them. However, if you can't get the game to play it's likely you don't have any yet. If you can't see the folder don't worry. The folder name is normally the same as the pk4 but it might not be. Strictly speaking it must be the same as the name in startingmap.txt inside the pk4 archive. You might see this file in fms.<br />
* Move the pk4 into the darkmod\fms folder if it is not already there.<br />
* Delete the darkmod\fms\FMname folder if any, eg, darkmod\fms\chalice. Don't worry if there isn't one; it will be created automatically later.<br />
<br />
So all that is left is the pk4 in the fms folder. Now run tdmlauncher.exe. The FM should be in the list in the New Missions menu. Re-install it and you should now be able to play it.<br />
<br />
<br />
=== The game crashes on load ===<br />
Make sure that:<br />
* You installed [[#Patching_Doom_3_to_verson_1.3.1.1304|the correct version]] of the Doom 3 1.3.1 patch.<br />
* Your system meets at least the minimum system specs.<br />
* You have enough free main memory. Try closing a few running programs like Outlook, Anti-Virus or torrent clients.<br />
<br />
<br />
If that doesn't fix it, you probably receive an error message referencing an "Unknown event" at startup, like the screenshot below illustrates.<br />
<br />
[[Image:ErrorSetEntityRelation.jpg]]<br />
<br />
Here are a couple of known problems and their solutions:<br />
<ul><br />
<li>'''tdmlauncher.exe fails to copy''' the necessary game binaries. The log file should read something like this:<br />
<pre>found DLL in pak file: C:\Program Files\Doom 3\darkmod\tdm_game01.pk4/gamex86.dll<br />
copy gamex86.dll to C:\Program Files\Doom 3\darkmod\gamex86.dll<br />
could not create destination file</pre><br />
<ul><br />
<li>Sometimes, the procedure fails due to '''spaces in the installation path'''. Try extracting the gamex86.dll manually using Winzip or similar or install Doom 3 in a different directory.</li><br />
<li>You have a '''firewall''' installed that prevents the copy procedure, because since version 1.03, TDM has a built-in mission downloader. This misbehavior has been reported for the '''COMODO Firewall'''.</li><br />
</ul><br />
<li>It is also possible that an '''old version of gamex86.dll''' (or gamex86.so) is lying around in your Doom 3 folder. Delete it and try again.</li><br />
</ul><br />
<br />
<br />
=== Textures are missing, screen mostly black ===<br />
<br />
[[Image:Tdm missing textures.jpg|right|240px|Black textures]]<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "0"<br />
seta image_preload "1"<br />
</pre><br />
<br />
<br />
=== Textures are missing, shadows are pitch black ===<br />
<br />
Try disabling the AGP surface accelerator in DXDIAG<br />
<br />
<br />
=== Graphic Corruption ===<br />
<br />
One report we had was for a Radeon ATI HD 4650, catalyst 10.9. This screen corruption as I understand it was heavy pixelation even on the menus. Closing down Xfire fixed it so clearly to do with that. "I fiddled with the xfire Doom 3 configuration through the xfire_games.ini, and determined it has to do with InGameFlags portion.. For some reason the settings in that were interfering with doom 3, and after I removed some things from there, I was still able to run xfire, and doom 3 was still able to look proper"<br />
<br />
<br />
=== The briefing is very fuzzy ===<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the following settings are like shown below:<br />
<br />
seta image_roundDown "1"<br />
seta image_forceDownSize "0"<br />
seta image_downSize "0"<br />
<br />
<br />
=== The sky is corrupted ===<br />
<br />
You either see black sky, or fragments of other textures. This seems only to happen on Geforce 6800 cards.<br />
<br />
There are two fixes for this:<br />
<br />
As a quick fix you can rename the following folder:<br />
<br />
env/skyboxes/skybox_darkland_ne<br />
<br />
to an different name. That will result in black sky.<br />
<br />
Alternatively, edit the file <tt>materials/tdm_sky.mtr</tt> with '''Wordpad''' or a different editor and<br />
find the sky material named '''textures/darkmod/nature/skybox/skybox_darkland_NE''':<br />
<br />
<pre><br />
//Author: Dram<br />
//skybox_ocean with ocean replaced with dark land<br />
//Moon moved to north east by Fidcal<br />
textures/darkmod/nature/skybox/skybox_darkland_NE<br />
{<br />
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed<br />
noFragment<br />
noshadows<br />
noimpact<br />
nooverlays<br />
forceOpaque<br />
{<br />
forceHighQuality<br />
blend add<br />
cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE<br />
texgen skybox<br />
texgen wobblesky .0 .0 .0<br />
}<br />
}<br />
</pre><br />
<br />
In this declaration, comment out the line that reads '''forceHighQuality''' by adding <tt>//</tt> in front of it:<br />
<br />
// forceHighQuality<br />
<br />
That should fix the sky and make it render correctly.<br />
<br />
<br />
=== The Sky rotates ===<br />
<br />
This problem only affects FMs with a dynamic sky (eg, moving clouds etc.)<br />
<br />
If you see the sky spinning it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also gives better loading times and cures [[#HDR-Lite Post-Processing problems|HDR-Lite Post-Processing Problems]].<br />
<br />
If that doesn't fix it then try this. Note that it replaces dynamic sky with a static clear one so might look odd in a stormy FM for example but better than a spinning sky:<br />
<br />
* Create a new folder in your darkmod folder called materials.<br />
* Within it create a plain text file named no_skybox.mtr<br />
* Paste in the following:<br />
<br />
textures/smf/portal_sky<br />
{<br />
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed<br />
noFragment<br />
<br />
noimpact<br />
nooverlays<br />
forceOpaque<br />
noShadows<br />
{<br />
forceHighQuality<br />
blend add<br />
cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE<br />
texgen skybox<br />
texgen wobblesky .0 .0 .0<br />
}<br />
}<br />
<br />
<br />
=== HDR-Lite Post-Processing problems ===<br />
<br />
Some owners of ATI graphics cards reported various artifacts when HDR-Lite Post-Processing was enabled. Among these artifacts are a distorted or upside-down screen and spinning sky. These can usually be fixed by disabling Catalyst AI, which also gives better loading times.<br />
<br />
To turn off Catalyst AI, open your Catalyst control panel, go to 'graphics' up the top left, select '3d' from the dropdown list and on the new menu below, select the 'AI'<br />
Now select the 'Disable Catalyst A.I.' checkbox.<br />
<br />
It has also been supported that HDR-Lite Post-Processing may lead to [[#Underwater performance poor|poor performance underwater]].<br />
<br />
<br />
===Underwater performance poor===<br />
<br />
Some people suffer from very low framerates underwater with HDR-Lite Post-Processing enabled. Currently, the only known fix to this problem is to set g_doubleVision to 0 in the console. This however disables the doubleVision effect completely, so that there is no underwater-blur anymore. The murkiness still remains though.<br />
<br />
<br />
===Upside-down screen===<br />
<br />
If you get an upside-down screen, you can either turn off Catalyst AI if you have an ATI card or try turning off HDR-Lite Post-Processing in the advanced video options.<br />
<br />
To turn off Catalyst AI, open your Catalyst control panel, go to 'graphics' up the top left, select '3d' from the dropdown list and on the new menu below, select the 'AI'<br />
Now select the 'Disable Catalyst A.I.' checkbox.<br />
<br />
<br />
=== The game is '''very''' slow! ===<br />
<br />
If you get less than 10 FPS, or the game even stutters, please try this:<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the<br />
following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "1"<br />
seta image_preload "1"<br />
</pre><br />
<br />
If that doesn't help, your system might run out of memory. Either upgrade to more than 1 Gbyte memory,<br />
or try to close some other applications before playing.<br />
<br />
Please see also the article about [[Performance Tweaks]] to improve the performance.<br />
<br />
<br />
=== Slow loading times ===<br />
<br />
If you find an FM is very slow to load it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also cures [[#HDR-Lite Post-Processing problems|HDR-Lite Post-Processing Problems]].<br />
<br />
Changing the following settings to 0 will also reduce loading time, but be warned...if you have a lower end system, poor graphics card, or low ram...you will likely notice a performance hit ingame since you will now be using uncompressed textures.<br />
<pre style="max-width:35em"><br />
seta image_useNormalCompression "0"<br />
seta image_useCompression "0"<br />
</pre><br />
<br />
<br />
===Game freezes for several seconds when opening doors===<br />
The following problems :<br />
<br />
A) "game freezes and loads some data from hard drive while opening doors"<br />
B) "while loading mission you are returned to the menu and need to restart loading"<br />
<br />
Are often resolved by disabling EAX 4.0 HD in Audio Settings menu.<br />
<br />
<br />
===Game exits to menu after mission load, with renderpipe error in console===<br />
<br />
'''Symptoms:''' Missions are installed properly and will load, but after they reach 100% you are returned to the main menu or objectives screen. If you open the console (Ctrl-Alt-~ on US keyboards), you see one/both of these errors:<br />
<br />
ERROR: Failed to open \\.\pipe\dm_renderpipe<br />
<br />
or<br />
<br />
ERROR: idRenderSystemLocal::uncrop currentcrop <1<br />
<br />
'''Solution:''' Some firewalls, notably ''Sunbelt Firewall'' (aka ''Kerio Firewall'') are known to interfere with TDM's lightgem, ''even when "disabled"''. To fix this problem, completely uninstall the firewall, and get a different one instead.<br />
<br />
<br />
==="COULD NOT FIND TDMLAUNCHER" when installing an FM===<br />
<br />
If you receive this error message you should check the start-arguments of DOOM3.exe / tdmlauncher.exe. Arguments are stored in darkmod/dmargs.txt and a faulty syntax e.g. a missing "+" before a "set"-command, will lead to this error message. Steam-users are advised to remove any launch-options from Doom.<br />
<br />
<br />
===The sound lags behind the picture===<br />
<br />
This seems to happen on Linux with certain ALSA drivers. You can try to disable "Dolby Surround" (switch to "Stereo") or just use OSS instead:<br />
<br />
Put the following setting on your tdmlauncher.linux command line:<br />
<br />
+set s_driver oss<br />
<br />
and use "Stereo".<br />
<br />
On some Ubuntu systems, applications using ALSA are re-directed to "pulseaudio" which causes a lack of syncrony between sound and image. Simply removing "pulseaudio" should get your sound back in syncrony:<br />
<br />
sudo apt-get purge pulseaudio<br />
<br />
<br />
=== Changing the screen resolution/aspect ratio does nothing!? ===<br />
<br />
These changes require a restart of Doom to work. Alternatively the command vid_restart can be issued to the console. It can take quite some time to execute this command, depending on whether or not you're already ingame. It will still be a lot faster than restarting and reloading the game though.<br />
<br />
<br />
=== Steam launches D3, not TDM ===<br />
<br />
Whenever you start Steam and it does launch vanilla Doom instead of TDM, make sure you<br />
follow this advice:<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
== Known bugs ==<br />
See article [[Known Bugs]].<br />
<br />
[[Category:General]] [[Category:Installation]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Advanced_TDM_Visuals_Tweaking&diff=11888Advanced TDM Visuals Tweaking2010-12-29T15:17:46Z<p>Stifu: Funny typo/confusion</p>
<hr />
<div>The scope of this article is to explain the new visual features of TDM 1.03, specifically the Enhanced Interaction Shader and the HDR-Lite Post-Processing, in a little more detail and to point out how they can be tweaked to the user's desires.<br />
<br />
<span style="color:red">Important note: Designers of all sorts (e.g. textureartists, mappers, modellers) should always work with a default setup, to make sure that common users can enjoy a FM the way it's intended.</span><br />
<br />
==Altering the Enhanced Interaction Shader==<br />
The new interaction shader is responsible for the ''edge amplification'' effect of objects and normalmaps, or in layman's terms "''the edge detection''", how it's more commonly called around the forums. There are no cvars to tweak this effect, instead you will have to edit the actual shader. This can be done as follows:<br />
* Go to your '''darkmod directory'''<br />
* Create a folder called '''glprogs'''<br />
* Open the file '''tdm_base01.pk4''' in the darkmod directory (To those who don't know: pk4 is simply a renamed zip, so you can open it with pretty much any archiving program of your choice)<br />
* Inside the archive, browse the '''glprogs'''-folder and grab a file called '''test.vfp'''<br />
* Extract the file to the previously created glprogs-folder inside the darkmod directory<br />
* Open the extracted file with a simple text-editor (e.g. notepad, vim)<br />
* Search for the term "'''lightParms'''"<br />
<br />
You should see the following now:<br />
<pre><br />
#---------------------------------------------------------<br />
# Pramaeters are, respectively: ambient rim scale, diffuse rim scale, min. spec exp, max spec exp;<br />
#---------------------------------------------------------<br />
PARAM lightParms = { .7, 1.8, 10.0, 30.0 }; ## rim 4.4, 0.8<br />
</pre><br />
The values of interest are of course those inside the curly brackets, which are from left to right as the comment in the above lines suggests: The ''ambient rim scale'', the ''diffuse rim scale'' and the general minimum and maximum specularity of surfaces. The latter two parameters are not that interesting, but the rim scale parameters are those responsible for the ''edge amplification''. The first one defines the strength of this effect due to ambient lighting and the ''diffuse rim scale'' is used for highlights induced by direct lighting. Raise those values in order to amplify edges more, but please note, that the ''ambient rim scale'' is only accounted for when the default ambient rendering method is used and raising that value too high will lead to low contrast images and awkward highlights in almost darkness.<br />
<br />
You can apply the changes you made to the shader while playing TDM and directly see the effect:<br />
* Load up the FM of your choice in windowed mode (so that you can switch between TDM and the test.vfp file)<br />
* Make your alterations to the shader and save the file<br />
* Finally issue the command '''reloadARBprograms''' to the console or even better, bind this command to a key, e.g. ''bind backspace reloadARBprograms''<br />
<br />
<span style="color:red">Note to Designers: If you want to have a tweaked version of the interaction shader just for playing (and if you don't have a separate install of TDM for working), you'll have to make sure the custom version of the file is '''not''' used while working. You could simply rename the file or the folder then.</span><br />
<br />
==Tweaking HDR-Lite Post-Processing==<br />
The term "Post-Processing" describes the alteration of rendered images and those techniques are for that reason independent of the complexity of a scene. With TDM 1.03 some point operators and a new implementation of bloom have been introduced to the community that will be explained now. If you type "r_postprocess" in the console and press ''tab'', you'll receive a list of all the post-processing cvars and if you ''enter'' a cvar without assigning a new value, you will receive a description of it in the console.<br />
<br />
Please note that in TDM 1.03 not all of the cvars below are stored in the ''DoomConfig.cfg''. Once you are done tweaking, add the respective cvars to the autoexec.cfg, to have them applied on each start of TDM.<br />
<br />
<span style="color:red">Note to Designers: Since you will probably spend most time working instead of playing, put the default config into the autoexec.cfg and have a separate file that alters the cvars, e.g. postPro.cfg. Ingame, you then issue the command ''exec postPro.cfg'' to the console to apply the tweaked values.</span><br />
<br />
===Bloom===<br />
'''List of related cvars and their explanations as of the console:'''<br />
<pre><br />
"r_postprocess_bloomIntensity" is:"0.0" default:"0"<br />
Adjusts the Bloom intensity. 0.0 disables the bloom but other postprocessing effects remain unaffected.<br />
</pre><br />
<pre><br />
"r_postprocess_bloomKernelSize" is:"2" default:"2"<br />
Sets Bloom's Kernel size. Smaller is faster, takes less memory. Also, smaller kernel means larger bloom spread.<br />
1. Large (2x smaller than current resolution)<br />
2. Small (4x smaller than current resolution)<br />
</pre><br />
<pre><br />
"r_postprocess_brightPassThreshold" is:"0.2" default:"0.2"<br />
Intensities of this value are subtracted from scene render to extract bloom image<br />
</pre><br />
<pre><br />
"r_postprocess_brightPassOffset" is:"2" default:"2"<br />
Bloom image receives smooth fade along a curve from bright to very bright are as based on this variable's value<br />
</pre><br />
'''Recommendations and further information:'''<br />
[[Image:BloomKernelComparison.jpg|300px|thumb|right|Comparison of large and small bloomKernelSize]]<br />
The ''bloomIntensity'' is self-explanatory, whereas the other cvars shall be explained. Imagine the ''bloomKernel'' as a bloomimage that has been computed from the renderimage, downscaled by a factor defined by the ''bloomKernelSize'' cvar. To apply the bloom to the renderimage, it needs to be scaled up again, so bilinear interpolation is applied. This directly means, that a smaller ''bloomKernel'' will lead to a wider spread of the resulting bloom, but it is also more likely that alias-like artifacts occur, as shown on the images on the right. The best quality bloom can therefor be achieved by setting ''r_postprocess_bloomKernelSize 1''.<br />
<br />
The ''brightPassThreshold'' defines how strong a pixel must be lit so that it receives bloom. Use a higher value if you don't want lightreflections on walls to have bloom. The ''brightPassOffset'' cvar is sort of a tone-mapping operator, that is applied to the bloom image. A smaller value will result in stronger and more saturated bloom.<br />
<br />
===Point Operators: Lightness Correction and Tone-Mapping===<br />
While the computation of a bloomimage is dependent of regions in the renderimage, the results of point operators are solely dependent of the information stored in a single pixel. In the HDR-Lite Post-Processing there are operators for lightness correction and tone-mapping.<br />
<br />
====Linear and Gamma Lightness Correction====<br />
'''List of related cvars and their explanations as of the console:'''<br />
<pre><br />
"r_postprocess_sceneExposure" is:"0.9" default:"0.9"<br />
Scene render is linearly scaled up. Try values lower or greater than 1.0<br />
</pre><br />
<pre><br />
"r_postprocess_sceneGamma" is:"0.82" default:"0.82"<br />
Gamma Correction.<br />
</pre><br />
'''Recommendations and further information:'''<br />
<br />
Everybody has probably at least heard of the term [http://en.wikipedia.org/wiki/Gamma_correction Gamma Correction]. Lightness values are scaled exponentially according to the gamma value. In layman's terms, a gamma greater than 1 will usually make dark pixels even darker and a value lower than 1 will make dark pixels brighter (Note that the exact opposite is true for r_gamma). So, if you raise the ''sceneGamma'' cvar, you'll end up with stronger highlights. To account for the darkening of dark areas, you should raise the ''sceneExposure'' cvar as well, in order to maintain a constant brightness-level in pure ambient-lit areas.<br />
<br />
====Tone-Mapping / Color alteration====<br />
'''List of related cvars and their explanations as of the console:'''<br />
<pre><br />
"r_postprocess_desaturation" is:"0.05" default:"0.05"<br />
Desaturates the scene<br />
</pre><br />
<pre><br />
"r_postprocess_colorCurveBias" is:"0.8" default:"0.8"<br />
Applies Exponential Color Curve to final pass (range 0 to 1), 1 = color curve fully applied , 0= No color curve<br />
</pre><br />
<pre><br />
"r_postprocess_colorCorrection" is:"5" default:"5"<br />
Applies an exponential color correction function to final scene<br />
</pre><br />
<pre><br />
"r_postprocess_colorCorrectBias" is:"0.1" default:"0.1"<br />
Applies an exponential color correction function to final scene with this bias.<br />
E.g. value ranges between 0-1. A blend is performed between scene render and color corrected image based on this value<br />
</pre><br />
'''Recommendations and further information:'''<br />
[[Image:ColorCorrectionGraph.jpg|300px|thumb|right|Color correction principle]]<br />
''desaturation'' is basically self-explanatory. With a value of one, the scene is grayscale, and with zero, the image remains unaltered. But from this point on, it all starts getting pretty complex and confusing. A colorcorrected image is retrieved from the renderimage, according to the principle visualized on the right. ''colorCorrection'' is the parameter that defines the color correction curve, whereas ''colorCurveBias'' and ''colorCorrectBias'' define how strong that curve is supposed to be applied and how the renderimage and the color corrected image are blended respectively.<br />
<br />
===So why is it called "HDR-Lite" anyway?===<br />
During development the team of developers ran into several problems with the original HDR implementation, including performance issues and some visual artifacts, that were hard to circumvent given the fact that the the source of idTech 4 is still closed. It was then decided not to work on the basis of an actual "'''H'''igh '''D'''ynamic '''R'''ange", but to still maintain most of the resulting effects. The HDR implementation was altered and split up into the new Enhanced Interaction Shader and the HDR-Lite Post-Processing.<br />
<br />
{{installation}}<br />
{{general}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Adding_Links_to_your_Article&diff=11886Adding Links to your Article2010-12-29T09:14:29Z<p>Stifu: Added all kinds of links and more structure</p>
<hr />
<div>== Internal Links ==<br />
===Links to other Wiki articles===<br />
Creating links to other Wiki Articles is easy: Just place double brackets around the term(s) you'd like to carry the link like this:<br />
<br />
<nowiki>[[Test]]</nowiki><br />
<br />
And this is what it looks like:<br />
<br />
[[Test]]<br />
<br />
'''Note''' that links to existing pages will appear blueish, while links to non-existing articles will appear in <font color="red">red</font>.<br />
<br />
'''Tip:''' You can also use the shortcut button to create internal links: Simply highlight the to-be-linked text and press this button: http://www.thirdfilms.com/darkwiki/skins/common/images/button_link.png. It will automatically be surrounded by double brackets.<br />
<br />
===Links to anchors===<br />
<br />
If you just want a '''link to an anchor''' on the same page, put a # before the headline:<br />
<br />
<nowiki>[[#See also]]</nowiki><br />
<br />
The result is this:<br />
<br />
[[#See also]]<br />
<br />
===Links with alternative text===<br />
<br />
The above example doesn't look so good, does it? If you want to add an '''alternative text''', use the following syntax:<br />
<br />
<nowiki>[[#See also|See also]]</nowiki><br />
<br />
I bet you already know how this looks like:<br />
<br />
[[#See also|See also]]<br />
<br />
===Link to an anchor of a different article===<br />
<br />
Of course you can also link to anchors on other articles:<br />
<br />
<nowiki>[[What's new in TDM 1.04#Changes / Features / Issues fixed|Changes in 1.04]]</nowiki><br />
<br />
becomes:<br />
<br />
[[What's new in TDM 1.04#Changes / Features / Issues fixed|Changes in 1.04]]<br />
<br />
== External Links ==<br />
<br />
=== Links to other Web Pages ===<br />
External links are even easier to create than internal links, just put the URL into your text like this:<br />
<nowiki>http://www.thedarkmod.com</nowiki><br />
And this is what it looks like:<br />
<br />
http://www.thedarkmod.com<br />
<br />
=== External Links with Description Text or Images ===<br />
You can add a description to your link if you do it like this:<br />
<br />
<nowiki>[http://www.thedarkmod.com The Dark Mod]</nowiki><br />
And this is what it looks like:<br />
<br />
[http://www.thedarkmod.com The Dark Mod]<br />
<br />
The '''URL''' of the linked page will go '''first''', everything that is coming '''afterwards''' will be considered as '''description''' of the link. You can use spaces or whatever you like in your description, even images are allowed, for example:<br />
<nowiki>[ImageURL ThumbnailURL]</nowiki><br />
<br />
== See also ==<br />
* [[Adding Images to your Article]]<br />
<br />
{{tutorial-wiki|sort=Links}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=TDM_Material_Batch_Conversion&diff=11871TDM Material Batch Conversion2010-12-28T18:32:16Z<p>Stifu: </p>
<hr />
<div>Some of the ambient rendering methods available in TDM require ambient stages in all the material definitions (see [[Virtual Ambient Light Textures]]). Since TDM 1.03, there is a command that automatically converts materials to be compatible with all the ambient methods. This command is called '''tdm_batchConvertMaterials'''.<br />
<br />
=Explanation of the command=<br />
The command ''tdm_batchConvertMaterials'' analyses a defined number of materials and alters them according to the requirements imposed by TDM 1.03. Its console explanation reads:<br />
<pre><br />
Usage: tdm_batchConvertMaterials <StartIndex> <nMaterials> [forceUpdateAll]<br />
</pre><br />
''StartIndex'' is a number that defines at what material the command is supposed to start processing and ''nMaterials'' defines how many successive materials should be processed. TDM currently consists of about 9000+ materials, so one would probably go ahead and just run the command with the parameters: tdm_batchConvertMaterials 0 10000. The problem is that all materials are parsed into RAM which will eventually lead to '''malloc errors, when the RAM is full'''.<br />
<br />
If ''forceUpdateAll'' is also set, the command will update all materials, independent of the results of the analysis.<br />
<br />
The results of the command are stored in the folder of the currently installed FM, e.g. ''.../Doom3/thiefs_den/materials'', or in ''.../Doom3/darkmod/materials'' if no FM is installed. And in case you wonder, the materials don't need to be extracted from the pk4 archives prior to processing.<br />
<br />
=Proper usage of the command=<br />
In order to run the command without running into malloc errors, one has to successively execute it on different partitions of the materials. If you choose ''nMaterials=1000'' (which appears to be a good value), you'll have to start the command multiple times while increasing the ''StartIndex'' and restarting TDM after each execution (in order to free the memory again). Here is an example:<br />
<br />
tdm_batchConvertMaterials 0 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 1000 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 2000 1000<br />
...<br />
<br />
<br />
Eventually the console will say "0 Materials processed and changed in total.", which means you're done.<br />
<br />
==I followed the above instructions but still ran into malloc errors==<br />
It may occur that you run into malloc errors, although the first executions of the command were successful. This is due to the fact that some materials are more complex than others and require more RAM for that reason. Remember the last ''StartIndex'' and re-execute the command with that index, but a decreased ''nMaterials''. Say for example, you received a malloc error after executing "tdm_batchConvertMaterials 4000 1000". You would now go ahead and do the following:<br />
tdm_batchConvertMaterials 4000 <b>500</b><br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials <b>4500 500</b><br />
...<br />
After those two executions, you can actually try to raise ''nMaterials'' again to a higher value, in order to reduce the required user-input.<br />
<br />
=Known issues=<br />
* Can result in malloc errors. See section [[#Proper Usage of the command|Proper Usage of the command]].<br />
* Can produce undesired results on [[DrVertexBlend (tutorial)|vertex blended materials]], e.g. one of the old ambient stages is not removed. Please double check respective materials.<br />
<br />
{{textures}}<br />
{{Texture Tutorials}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Advanced_TDM_Visuals_Tweaking&diff=11870Advanced TDM Visuals Tweaking2010-12-28T18:31:00Z<p>Stifu: Added the page to a category</p>
<hr />
<div>The scope of this article is to explain the new visual features of TDM 1.03, specifically the Enhanced Interaction Shader and the HDR-Lite Post-Processing, in a little more detail and to point out how they can be tweaked to the user's desires.<br />
<br />
<span style="color:red">Important note: Designers of all sorts (e.g. textureartists, mappers, modellers) should always work with a default setup, to make sure that common users can enjoy a FM the way it's intended.</span><br />
<br />
==Altering the Enhanced Interaction Shader==<br />
The new interaction shader is responsible for the ''edge amplification'' effect of objects and normalmaps, or in lameness terms "''the edge detection''", how it's more commonly called around the forums. There are no cvars to tweak this effect, instead you will have to edit the actual shader. This can be done as follows:<br />
* Go to your '''darkmod directory'''<br />
* Create a folder called '''glprogs'''<br />
* Open the file '''tdm_base01.pk4''' in the darkmod directory (To those who don't know: pk4 is simply a renamed zip, so you can open it with pretty much any archiving program of your choice)<br />
* Inside the archive, browse the '''glprogs'''-folder and grab a file called '''test.vfp'''<br />
* Extract the file to the previously created glprogs-folder inside the darkmod directory<br />
* Open the extracted file with a simple text-editor (e.g. notepad, vim)<br />
* Search for the term "'''lightParms'''"<br />
<br />
You should see the following now:<br />
<pre><br />
#---------------------------------------------------------<br />
# Pramaeters are, respectively: ambient rim scale, diffuse rim scale, min. spec exp, max spec exp;<br />
#---------------------------------------------------------<br />
PARAM lightParms = { .7, 1.8, 10.0, 30.0 }; ## rim 4.4, 0.8<br />
</pre><br />
The values of interest are of course those inside the curly brackets, which are from left to right as the comment in the above lines suggests: The ''ambient rim scale'', the ''diffuse rim scale'' and the general minimum and maximum specularity of surfaces. The latter two parameters are not that interesting, but the rim scale parameters are those responsible for the ''edge amplification''. The first one defines the strength of this effect due to ambient lighting and the ''diffuse rim scale'' is used for highlights induced by direct lighting. Raise those values in order to amplify edges more, but please note, that the ''ambient rim scale'' is only accounted for when the default ambient rendering method is used and raising that value too high will lead to low contrast images and awkward highlights in almost darkness.<br />
<br />
You can apply the changes you made to the shader while playing TDM and directly see the effect:<br />
* Load up the FM of your choice in windowed mode (so that you can switch between TDM and the test.vfp file)<br />
* Make your alterations to the shader and save the file<br />
* Finally issue the command '''reloadARBprograms''' to the console or even better, bind this command to a key, e.g. ''bind backspace reloadARBprograms''<br />
<br />
<span style="color:red">Note to Designers: If you want to have a tweaked version of the interaction shader just for playing (and if you don't have a separate install of TDM for working), you'll have to make sure the custom version of the file is '''not''' used while working. You could simply rename the file or the folder then.</span><br />
<br />
==Tweaking HDR-Lite Post-Processing==<br />
The term "Post-Processing" describes the alteration of rendered images and those techniques are for that reason independent of the complexity of a scene. With TDM 1.03 some point operators and a new implementation of bloom have been introduced to the community that will be explained now. If you type "r_postprocess" in the console and press ''tab'', you'll receive a list of all the post-processing cvars and if you ''enter'' a cvar without assigning a new value, you will receive a description of it in the console.<br />
<br />
Please note that in TDM 1.03 not all of the cvars below are stored in the ''DoomConfig.cfg''. Once you are done tweaking, add the respective cvars to the autoexec.cfg, to have them applied on each start of TDM.<br />
<br />
<span style="color:red">Note to Designers: Since you will probably spend most time working instead of playing, put the default config into the autoexec.cfg and have a separate file that alters the cvars, e.g. postPro.cfg. Ingame, you then issue the command ''exec postPro.cfg'' to the console to apply the tweaked values.</span><br />
<br />
===Bloom===<br />
'''List of related cvars and their explanations as of the console:'''<br />
<pre><br />
"r_postprocess_bloomIntensity" is:"0.0" default:"0"<br />
Adjusts the Bloom intensity. 0.0 disables the bloom but other postprocessing effects remain unaffected.<br />
</pre><br />
<pre><br />
"r_postprocess_bloomKernelSize" is:"2" default:"2"<br />
Sets Bloom's Kernel size. Smaller is faster, takes less memory. Also, smaller kernel means larger bloom spread.<br />
1. Large (2x smaller than current resolution)<br />
2. Small (4x smaller than current resolution)<br />
</pre><br />
<pre><br />
"r_postprocess_brightPassThreshold" is:"0.2" default:"0.2"<br />
Intensities of this value are subtracted from scene render to extract bloom image<br />
</pre><br />
<pre><br />
"r_postprocess_brightPassOffset" is:"2" default:"2"<br />
Bloom image receives smooth fade along a curve from bright to very bright are as based on this variable's value<br />
</pre><br />
'''Recommendations and further information:'''<br />
[[Image:BloomKernelComparison.jpg|300px|thumb|right|Comparison of large and small bloomKernelSize]]<br />
The ''bloomIntensity'' is self-explanatory, whereas the other cvars shall be explained. Imagine the ''bloomKernel'' as a bloomimage that has been computed from the renderimage, downscaled by a factor defined by the ''bloomKernelSize'' cvar. To apply the bloom to the renderimage, it needs to be scaled up again, so bilinear interpolation is applied. This directly means, that a smaller ''bloomKernel'' will lead to a wider spread of the resulting bloom, but it is also more likely that alias-like artifacts occur, as shown on the images on the right. The best quality bloom can therefor be achieved by setting ''r_postprocess_bloomKernelSize 1''.<br />
<br />
The ''brightPassThreshold'' defines how strong a pixel must be lit so that it receives bloom. Use a higher value if you don't want lightreflections on walls to have bloom. The ''brightPassOffset'' cvar is sort of a tone-mapping operator, that is applied to the bloom image. A smaller value will result in stronger and more saturated bloom.<br />
<br />
===Point Operators: Lightness Correction and Tone-Mapping===<br />
While the computation of a bloomimage is dependent of regions in the renderimage, the results of point operators are solely dependent of the information stored in a single pixel. In the HDR-Lite Post-Processing there are operators for lightness correction and tone-mapping.<br />
<br />
====Linear and Gamma Lightness Correction====<br />
'''List of related cvars and their explanations as of the console:'''<br />
<pre><br />
"r_postprocess_sceneExposure" is:"0.9" default:"0.9"<br />
Scene render is linearly scaled up. Try values lower or greater than 1.0<br />
</pre><br />
<pre><br />
"r_postprocess_sceneGamma" is:"0.82" default:"0.82"<br />
Gamma Correction.<br />
</pre><br />
'''Recommendations and further information:'''<br />
<br />
Everybody has probably at least heard of the term [http://en.wikipedia.org/wiki/Gamma_correction Gamma Correction]. Lightness values are scaled exponentially according to the gamma value. In lameness terms, a gamma greater than 1 will usually make dark pixels even darker and a value lower than 1 will make dark pixels brighter (Note that the exact opposite is true for r_gamma). So, if you raise the ''sceneGamma'' cvar, you'll end up with stronger highlights. To account for the darkening of dark areas, you should raise the ''sceneExposure'' cvar as well, in order to maintain a constant brightness-level in pure ambient-lit areas.<br />
<br />
====Tone-Mapping / Color alteration====<br />
'''List of related cvars and their explanations as of the console:'''<br />
<pre><br />
"r_postprocess_desaturation" is:"0.05" default:"0.05"<br />
Desaturates the scene<br />
</pre><br />
<pre><br />
"r_postprocess_colorCurveBias" is:"0.8" default:"0.8"<br />
Applies Exponential Color Curve to final pass (range 0 to 1), 1 = color curve fully applied , 0= No color curve<br />
</pre><br />
<pre><br />
"r_postprocess_colorCorrection" is:"5" default:"5"<br />
Applies an exponential color correction function to final scene<br />
</pre><br />
<pre><br />
"r_postprocess_colorCorrectBias" is:"0.1" default:"0.1"<br />
Applies an exponential color correction function to final scene with this bias.<br />
E.g. value ranges between 0-1. A blend is performed between scene render and color corrected image based on this value<br />
</pre><br />
'''Recommendations and further information:'''<br />
[[Image:ColorCorrectionGraph.jpg|300px|thumb|right|Color correction principle]]<br />
''desaturation'' is basically self-explanatory. With a value of one, the scene is grayscale, and with zero, the image remains unaltered. But from this point on, it all starts getting pretty complex and confusing. A colorcorrected image is retrieved from the renderimage, according to the principle visualized on the right. ''colorCorrection'' is the parameter that defines the color correction curve, whereas ''colorCurveBias'' and ''colorCorrectBias'' define how strong that curve is supposed to be applied and how the renderimage and the color corrected image are blended respectively.<br />
<br />
===So why is it called "HDR-Lite" anyway?===<br />
During development the team of developers ran into several problems with the original HDR implementation, including performance issues and some visual artifacts, that were hard to circumvent given the fact that the the source of idTech 4 is still closed. It was then decided not to work on the basis of an actual "'''H'''igh '''D'''ynamic '''R'''ange", but to still maintain most of the resulting effects. The HDR implementation was altered and split up into the new Enhanced Interaction Shader and the HDR-Lite Post-Processing.<br />
<br />
{{installation}}<br />
{{general}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Advanced_TDM_Visuals_Tweaking&diff=11859Advanced TDM Visuals Tweaking2010-12-28T13:10:01Z<p>Stifu: HDR-Lite section finished</p>
<hr />
<div>The scope of this article is to explain the new visual features of TDM 1.03, specifically the Enhanced Interaction Shader and the HDR-Lite Post-Processing, in a little more detail and to point out how they can be tweaked to the user's desires.<br />
<br />
<span style="color:red">Important note: Designers of all sorts (e.g. textureartists, mappers, modellers) should always work with a default setup, to make sure that common users can enjoy a FM the way it's intended.</span><br />
<br />
==Altering the Enhanced Interaction Shader==<br />
The new interaction shader is responsible for the ''edge amplification'' effect of objects and normalmaps, or in lameness terms "''the edge detection''", how it's more commonly called around the forums. There are no cvars to tweak this effect, instead you will have to edit the actual shader. This can be done as follows:<br />
* Go to your '''darkmod directory'''<br />
* Create a folder called '''glprogs'''<br />
* Open the file '''tdm_base01.pk4''' in the darkmod directory (To those who don't know: pk4 is simply a renamed zip, so you can open it with pretty much any archiving program of your choice)<br />
* Inside the archive, browse the '''glprogs'''-folder and grab a file called '''test.vfp'''<br />
* Extract the file to the previously created glprogs-folder inside the darkmod directory<br />
* Open the extracted file with a simple text-editor (e.g. notepad, vim)<br />
* Search for the term "'''lightParms'''"<br />
<br />
You should see the following now:<br />
<pre><br />
#---------------------------------------------------------<br />
# Pramaeters are, respectively: ambient rim scale, diffuse rim scale, min. spec exp, max spec exp;<br />
#---------------------------------------------------------<br />
PARAM lightParms = { .7, 1.8, 10.0, 30.0 }; ## rim 4.4, 0.8<br />
</pre><br />
The values of interest are of course those inside the curly brackets, which are from left to right as the comment in the above lines suggests: The ''ambient rim scale'', the ''diffuse rim scale'' and the general minimum and maximum specularity of surfaces. The latter two parameters are not that interesting, but the rim scale parameters are those responsible for the ''edge amplification''. The first one defines the strength of this effect due to ambient lighting and the ''diffuse rim scale'' is used for highlights induced by direct lighting. Raise those values in order to amplify edges more, but please note, that the ''ambient rim scale'' is only accounted for when the default ambient rendering method is used and raising that value too high will lead to low contrast images and awkward highlights in almost darkness.<br />
<br />
You can apply the changes you made to the shader while playing TDM and directly see the effect:<br />
* Load up the FM of your choice in windowed mode (so that you can switch between TDM and the test.vfp file)<br />
* Make your alterations to the shader and save the file<br />
* Finally issue the command '''reloadARBprograms''' to the console or even better, bind this command to a key, e.g. ''bind backspace reloadARBprograms''<br />
<br />
<span style="color:red">Note to Designers: If you want to have a tweaked version of the interaction shader just for playing (and if you don't have a separate install of TDM for working), you'll have to make sure the custom version of the file is '''not''' used while working. You could simply rename the file or the folder then.</span><br />
<br />
==Tweaking HDR-Lite Post-Processing==<br />
The term "Post-Processing" describes the alteration of rendered images and those techniques are for that reason independent of the complexity of a scene. With TDM 1.03 some point operators and a new implementation of bloom have been introduced to the community that will be explained now. If you type "r_postprocess" in the console and press ''tab'', you'll receive a list of all the post-processing cvars and if you ''enter'' a cvar without assigning a new value, you will receive a description of it in the console.<br />
<br />
Please note that in TDM 1.03 not all of the cvars below are stored in the ''DoomConfig.cfg''. Once you are done tweaking, add the respective cvars to the autoexec.cfg, to have them applied on each start of TDM.<br />
<br />
<span style="color:red">Note to Designers: Since you will probably spend most time working instead of playing, put the default config into the autoexec.cfg and have a separate file that alters the cvars, e.g. postPro.cfg. Ingame, you then issue the command ''exec postPro.cfg'' to the console to apply the tweaked values.</span><br />
<br />
===Bloom===<br />
'''List of related cvars and their explanations as of the console:'''<br />
<pre><br />
"r_postprocess_bloomIntensity" is:"0.0" default:"0"<br />
Adjusts the Bloom intensity. 0.0 disables the bloom but other postprocessing effects remain unaffected.<br />
</pre><br />
<pre><br />
"r_postprocess_bloomKernelSize" is:"2" default:"2"<br />
Sets Bloom's Kernel size. Smaller is faster, takes less memory. Also, smaller kernel means larger bloom spread.<br />
1. Large (2x smaller than current resolution)<br />
2. Small (4x smaller than current resolution)<br />
</pre><br />
<pre><br />
"r_postprocess_brightPassThreshold" is:"0.2" default:"0.2"<br />
Intensities of this value are subtracted from scene render to extract bloom image<br />
</pre><br />
<pre><br />
"r_postprocess_brightPassOffset" is:"2" default:"2"<br />
Bloom image receives smooth fade along a curve from bright to very bright are as based on this variable's value<br />
</pre><br />
'''Recommendations and further information:'''<br />
[[Image:BloomKernelComparison.jpg|300px|thumb|right|Comparison of large and small bloomKernelSize]]<br />
The ''bloomIntensity'' is self-explanatory, whereas the other cvars shall be explained. Imagine the ''bloomKernel'' as a bloomimage that has been computed from the renderimage, downscaled by a factor defined by the ''bloomKernelSize'' cvar. To apply the bloom to the renderimage, it needs to be scaled up again, so bilinear interpolation is applied. This directly means, that a smaller ''bloomKernel'' will lead to a wider spread of the resulting bloom, but it is also more likely that alias-like artifacts occur, as shown on the images on the right. The best quality bloom can therefor be achieved by setting ''r_postprocess_bloomKernelSize 1''.<br />
<br />
The ''brightPassThreshold'' defines how strong a pixel must be lit so that it receives bloom. Use a higher value if you don't want lightreflections on walls to have bloom. The ''brightPassOffset'' cvar is sort of a tone-mapping operator, that is applied to the bloom image. A smaller value will result in stronger and more saturated bloom.<br />
<br />
===Point Operators: Lightness Correction and Tone-Mapping===<br />
While the computation of a bloomimage is dependent of regions in the renderimage, the results of point operators are solely dependent of the information stored in a single pixel. In the HDR-Lite Post-Processing there are operators for lightness correction and tone-mapping.<br />
<br />
====Linear and Gamma Lightness Correction====<br />
'''List of related cvars and their explanations as of the console:'''<br />
<pre><br />
"r_postprocess_sceneExposure" is:"0.9" default:"0.9"<br />
Scene render is linearly scaled up. Try values lower or greater than 1.0<br />
</pre><br />
<pre><br />
"r_postprocess_sceneGamma" is:"0.82" default:"0.82"<br />
Gamma Correction.<br />
</pre><br />
'''Recommendations and further information:'''<br />
<br />
Everybody has probably at least heard of the term [http://en.wikipedia.org/wiki/Gamma_correction Gamma Correction]. Lightness values are scaled exponentially according to the gamma value. In lameness terms, a gamma greater than 1 will usually make dark pixels even darker and a value lower than 1 will make dark pixels brighter (Note that the exact opposite is true for r_gamma). So, if you raise the ''sceneGamma'' cvar, you'll end up with stronger highlights. To account for the darkening of dark areas, you should raise the ''sceneExposure'' cvar as well, in order to maintain a constant brightness-level in pure ambient-lit areas.<br />
<br />
====Tone-Mapping / Color alteration====<br />
'''List of related cvars and their explanations as of the console:'''<br />
<pre><br />
"r_postprocess_desaturation" is:"0.05" default:"0.05"<br />
Desaturates the scene<br />
</pre><br />
<pre><br />
"r_postprocess_colorCurveBias" is:"0.8" default:"0.8"<br />
Applies Exponential Color Curve to final pass (range 0 to 1), 1 = color curve fully applied , 0= No color curve<br />
</pre><br />
<pre><br />
"r_postprocess_colorCorrection" is:"5" default:"5"<br />
Applies an exponential color correction function to final scene<br />
</pre><br />
<pre><br />
"r_postprocess_colorCorrectBias" is:"0.1" default:"0.1"<br />
Applies an exponential color correction function to final scene with this bias.<br />
E.g. value ranges between 0-1. A blend is performed between scene render and color corrected image based on this value<br />
</pre><br />
'''Recommendations and further information:'''<br />
[[Image:ColorCorrectionGraph.jpg|300px|thumb|right|Color correction principle]]<br />
''desaturation'' is basically self-explanatory. With a value of one, the scene is grayscale, and with zero, the image remains unaltered. But from this point on, it all starts getting pretty complex and confusing. A colorcorrected image is retrieved from the renderimage, according to the principle visualized on the right. ''colorCorrection'' is the parameter that defines the color correction curve, whereas ''colorCurveBias'' and ''colorCorrectBias'' define how strong that curve is supposed to be applied and how the renderimage and the color corrected image are blended respectively.<br />
<br />
===So why is it called "HDR-Lite" anyway?===<br />
During development the team of developers ran into several problems with the original HDR implementation, including performance issues and some visual artifacts, that were hard to circumvent given the fact that the the source of idTech 4 is still closed. It was then decided not to work on the basis of an actual "'''H'''igh '''D'''ynamic '''R'''ange", but to still maintain most of the resulting effects. The HDR implementation was altered and split up into the new Enhanced Interaction Shader and the HDR-Lite Post-Processing.</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=File:ColorCorrectionGraph.jpg&diff=11858File:ColorCorrectionGraph.jpg2010-12-28T13:02:09Z<p>Stifu: Principle of the color-correction in HDR-Lite.</p>
<hr />
<div>Principle of the color-correction in HDR-Lite.</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=File:BloomKernelComparison.jpg&diff=11857File:BloomKernelComparison.jpg2010-12-28T12:21:07Z<p>Stifu: A comparison shot of bloom with different kernel-sizes. On the left, bloom obtained through a small kernel. Vertical line artifacts are visible next to the torch, whereas these are not visible with the large kernel on the right.</p>
<hr />
<div>A comparison shot of bloom with different kernel-sizes. On the left, bloom obtained through a small kernel. Vertical line artifacts are visible next to the torch, whereas these are not visible with the large kernel on the right.</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Advanced_TDM_Visuals_Tweaking&diff=11856Advanced TDM Visuals Tweaking2010-12-28T11:40:27Z<p>Stifu: HDR-Lite section (not yet finished)</p>
<hr />
<div>The scope of this article is to explain the new visual features of TDM 1.03, specifically the Enhanced Interaction Shader and the HDR-Lite Post-Processing, in a little more detail and to point out how they can be tweaked to the user's desires.<br />
<br />
<span style="color:red">Important note: Designers of all sorts (e.g. textureartists, mappers, modellers) should always work with a default setup, to make sure that common users can enjoy a FM the way it's intended.</span><br />
<br />
==Altering the Enhanced Interaction Shader==<br />
The new interaction shader is responsible for the ''edge amplification'' effect of objects and normalmaps, or in lameness terms "''the edge detection''", how it's more commonly called around the forums. There are no cvars to tweak this effect, instead you will have to edit the actual shader. This can be done as follows:<br />
* Go to your '''darkmod directory'''<br />
* Create a folder called '''glprogs'''<br />
* Open the file '''tdm_base01.pk4''' in the darkmod directory (To those who don't know: pk4 is simply a renamed zip, so you can open it with pretty much any archiving program of your choice)<br />
* Inside the archive, browse the '''glprogs'''-folder and grab a file called '''test.vfp'''<br />
* Extract the file to the previously created glprogs-folder inside the darkmod directory<br />
* Open the extracted file with a simple text-editor (e.g. notepad, vim)<br />
* Search for the term "'''lightParms'''"<br />
<br />
You should see the following now:<br />
<pre><br />
#---------------------------------------------------------<br />
# Pramaeters are, respectively: ambient rim scale, diffuse rim scale, min. spec exp, max spec exp;<br />
#---------------------------------------------------------<br />
PARAM lightParms = { .7, 1.8, 10.0, 30.0 }; ## rim 4.4, 0.8<br />
</pre><br />
The values of interest are of course those inside the curly brackets, which are from left to right as the comment in the above lines suggests: The ''ambient rim scale'', the ''diffuse rim scale'' and the general minimum and maximum specularity of surfaces. The latter two parameters are not that interesting, but the rim scale parameters are those responsible for the ''edge amplification''. The first one defines the strength of this effect due to ambient lighting and the ''diffuse rim scale'' is used for highlights induced by direct lighting. Raise those values in order to amplify edges more, but please note, that the ''ambient rim scale'' is only accounted for when the default ambient rendering method is used and raising that value too high will lead to low contrast images and awkward highlights in almost darkness.<br />
<br />
You can apply the changes you made to the shader while playing TDM and directly see the effect:<br />
* Load up the FM of your choice in windowed mode (so that you can switch between TDM and the test.vfp file)<br />
* Make your alterations to the shader and save the file<br />
* Finally issue the command '''reloadARBprograms''' to the console or even better, bind this command to a key, e.g. ''bind backspace reloadARBprograms''<br />
<br />
<span style="color:red">Note to Designers: If you want to have a tweaked version of the interaction shader just for playing (and if you don't have a separate install of TDM for working), you'll have to make sure the custom version of the file is '''not''' used while working. You could simply rename the file or the folder then.</span><br />
<br />
==Tweaking HDR-Lite Post-Processing==<br />
The term "Post-Processing" describes the alteration of rendered images and those techniques are for that reason independent of the complexity of a scene. With TDM 1.03 some tone-mapping operators and a new implementation of bloom has been introduced to the community that will be explained now. If you type "r_postprocess" in the console and press ''tab'', you'll receive a list of all the post-processing cvars and if you ''enter'' a cvar without assigning a new value, you will receive a description of it in the console.<br />
<br />
===Bloom===<br />
List of cvars and their explanations:<br />
<pre><br />
"r_postprocess_bloomKernelSize" is:"1" default:"2"<br />
Sets Bloom's Kernel size. Smaller is faster, takes less memory. Also, smaller kernel means larger bloom spread.<br />
1. Large (2x smaller than current resolution)<br />
2. Small (4x smaller than current resolution)<br />
</pre><br />
<pre><br />
"r_postprocess_bloomIntensity" is:"0.977778" default:"0"<br />
Adjusts the Bloom intensity. 0.0 disables the bloom but other postprocessing effects remain unaffected.<br />
</pre><br />
<pre><br />
"r_postprocess_brightPassThreshold" is:"0.2" default:"0.2"<br />
Intensities of this value are subtracted from scene render to extract bloom image<br />
</pre><br />
<pre><br />
"r_postprocess_brightPassOffset" is:"2" default:"2"<br />
Bloom image receives smooth fade along a curve from bright to very bright are as based on this variable's value<br />
</pre><br />
<br />
===Point Operators: Tone-Mapping and Lightness Correction===<br />
<br />
====Tone-Mapping / Color alteration====<br />
List of cvars and their explanations:<br />
<pre><br />
"r_postprocess_desaturation" is:"0.05" default:"0.05"<br />
Desaturates the scene<br />
</pre><br />
<pre><br />
"r_postprocess_colorCurveBias" is:"0.8" default:"0.8"<br />
Applies Exponential Color Curve to final pass (range 0 to 1), 1 = color curve fully applied , 0= No color curve<br />
</pre><br />
<pre><br />
"r_postprocess_colorCorrection" is:"5" default:"5"<br />
Applies an exponential color correction function to final scene<br />
</pre><br />
<pre><br />
"r_postprocess_colorCorrectBias" is:"0.1" default:"0.1"<br />
Applies an exponential color correction function to final scene with this bias.<br />
E.g. value ranges between 0-1. A blend is performed between scene render and color corrected image based on this value<br />
</pre><br />
<br />
====Linear and Gamma Lightness Correction====<br />
List of cvars and their explanations:<br />
<pre><br />
"r_postprocess_sceneExposure" is:"0.9" default:"0.9"<br />
Scene render is linearly scaled up. Try values lower or greater than 1.0<br />
</pre><br />
<pre><br />
"r_postprocess_sceneGamma" is:"0.82" default:"0.82"<br />
Gamma Correction.<br />
</pre><br />
<br />
===So why is it called "HDR-Lite" anyway?===<br />
During development the team of developers ran into several problems with the original HDR implementation, including performance issues and some visual artifacts, that were hard to circumvent given the fact that the the source of idTech 4 is still closed. It was then decided not to work on the basis of an actual "'''H'''igh '''D'''ynamic '''R'''ange", but to still maintain most of the resulting effects. The HDR implementation was altered and split up into the new Enhanced Interaction Shader and the HDR-Lite Post-Processing.</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Advanced_TDM_Visuals_Tweaking&diff=11855Advanced TDM Visuals Tweaking2010-12-28T11:02:59Z<p>Stifu: Wrote section: Altering the Enhanced Interaction Shader</p>
<hr />
<div>The scope of this article is to explain the new visual features of TDM 1.03, specifically the Enhanced Interaction Shader and the HDR-Lite Post-Processing, in a little more detail and to point out how they can be tweaked to the user's desires.<br />
<br />
<span style="color:red">Important note: Designers of all sorts (e.g. textureartists, mappers, modellers) should always work with a default setup, to make sure that common users can enjoy a FM the way it's intended.</span><br />
<br />
=Altering the Enhanced Interaction Shader=<br />
The new interaction shader is responsible for the ''edge amplification'' effect of objects and normalmaps, or in lameness terms "''the edge detection''", how it's more commonly called around the forums. There are no cvars to tweak this effect, instead you will have to edit the actual shader. This can be done as follows:<br />
* Go to your '''darkmod directory'''<br />
* Create a folder called '''glprogs'''<br />
* Open the file '''tdm_base01.pk4''' in the darkmod directory (To those who don't know: pk4 is simply a renamed zip, so you can open it with pretty much any archiving program of your choice)<br />
* Inside the archive, browse the '''glprogs'''-folder and grab a file called '''test.vfp'''<br />
* Extract the file to the previously created glprogs-folder inside the darkmod directory<br />
* Open the extracted file with a simple text-editor (e.g. notepad, vim)<br />
* Search for the term "'''lightParms'''"<br />
<br />
You should see the following now:<br />
<pre><br />
#---------------------------------------------------------<br />
# Pramaeters are, respectively: ambient rim scale, diffuse rim scale, min. spec exp, max spec exp;<br />
#---------------------------------------------------------<br />
PARAM lightParms = { .7, 1.8, 10.0, 30.0 }; ## rim 4.4, 0.8<br />
</pre><br />
The values of interest are of course those inside the curly brackets, which are from left to right as the comment in the above lines suggests: The ''ambient rim scale'', the ''diffuse rim scale'' and the general minimum and maximum specularity of surfaces. The latter two parameters are not that interesting, but the rim scale parameters are those responsible for the ''edge amplification''. The first one defines the strength of this effect due to ambient lighting and the ''diffuse rim scale'' is used for highlights induced by direct lighting. Raise those values in order to amplify edges more, but please note, that the ''ambient rim scale'' is only accounted for when the default ambient rendering method is used and raising that value too high will lead to low contrast images and awkward highlights in almost darkness.<br />
<br />
You can apply the changes you made to the shader while playing TDM and directly see the effect:<br />
* Load up the FM of your choice in windowed mode (so that you can switch between TDM and the test.vfp file)<br />
* Make your alterations to the shader and save the file<br />
* Finally issue the command '''reloadARBprograms''' to the console or even better, bind this command to a key, e.g. ''bind backspace reloadARBprograms''<br />
<br />
<span style="color:red">Note to Designers: If you want to have a tweaked version of the interaction shader just for playing (and if you don't have a separate install of TDM for working), you'll have to make sure the custom version of the file is '''not''' used while working. You could simply rename the file or the folder then.</span><br />
<br />
=Tweaking HDR-Lite Post-Processing=<br />
To-Do</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=TDM_Material_Batch_Conversion&diff=11854TDM Material Batch Conversion2010-12-28T09:04:34Z<p>Stifu: /* Explanation of the command */ - Added information about where the results of the command are stored.</p>
<hr />
<div>Some of the ambient rendering methods available in TDM require ambient stages in all the material definitions (see [[Virtual Ambient Light Textures]]). Since TDM 1.03, there is a command that automatically converts materials to be compatible with all the ambient methods. This command is called '''tdm_batchConvertMaterials'''.<br />
<br />
=Explanation of the command=<br />
The command ''tdm_batchConvertMaterials'' analyses a defined number of materials and alters them according to the requirements imposed by TDM 1.03. Its console explanation reads:<br />
<pre><br />
Usage: tdm_batchConvertMaterials <StartIndex> <nMaterials> [forceUpdateAll]<br />
</pre><br />
''StartIndex'' is a number that defines at what material the command is supposed to start processing and ''nMaterials'' defines how many successive materials should be processed. TDM currently consists of about 9000+ materials, so one would probably go ahead and just run the command with the parameters: tdm_batchConvertMaterials 0 10000. The problem is that all materials are parsed into RAM which will eventually lead to '''malloc errors, when the RAM is full'''.<br />
<br />
If ''forceUpdateAll'' is also set, the command will update all materials, independent of the results of the analysis.<br />
<br />
The results of the command are stored in the folder of the currently installed FM, e.g. ''.../Doom3/thiefs_den/materials'', or in ''.../Doom3/darkmod/materials'' if no FM is installed. And in case you wonder, the materials don't need to be extracted from the pk4 archives prior to processing.<br />
<br />
=Proper usage of the command=<br />
In order to run the command without running into malloc errors, one has to successively execute it on different partitions of the materials. If you choose ''nMaterials=1000'' (which appears to be a good value), you'll have to start the command multiple times while increasing the ''StartIndex'' and restarting TDM after each execution (in order to free the memory again). Here is an example:<br />
<br />
tdm_batchConvertMaterials 0 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 1000 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 2000 1000<br />
...<br />
<br />
<br />
Eventually the console will say "0 Materials processed and changed in total.", which means you're done.<br />
<br />
==I followed the above instructions but still ran into malloc errors==<br />
It may occur that you run into malloc errors, although the first executions of the command were successful. This is due to the fact that some materials are more complex than others and require more RAM for that reason. Remember the last ''StartIndex'' and re-execute the command with that index, but a decreased ''nMaterials''. Say for example, you received a malloc error after executing "tdm_batchConvertMaterials 4000 1000". You would now go ahead and do the following:<br />
tdm_batchConvertMaterials 4000 <b>500</b><br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials <b>4500 500</b><br />
...<br />
After those two executions, you can actually try to raise ''nMaterials'' again to a higher value, in order to reduce the required user-input.<br />
<br />
=Known issues=<br />
* Can result in malloc errors. See section [[#Proper Usage of the command|Proper Usage of the command]].<br />
* Can produce undesired results on [[DrVertexBlend (tutorial)|vertex blended materials]], e.g. one of the old ambient stages is not removed. Please double check respective materials.</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Known_Bugs&diff=11851Known Bugs2010-12-27T13:35:15Z<p>Stifu: Updated to reflect TDM 1.03 changes</p>
<hr />
<div>Even after the release of v1.0 TDM and the subsequent updates, there are plenty of incomplete features and potential bugs. Chances are, we're aware of most of them already. Here is a list of common bugs or incomplete features that players may encounter:<br />
<br />
== My Screen is Upside Down! ==<br />
Turn off HDR-Lite Post-Processing from the Settings Menu or preferably disable Catalyst AI in your Catalyst Control Panel.<br />
<br />
== Physics Bug ==<br />
<br />
One significant annoyance with D3 physics is that a moving object cannot propagate impulses from one object to another. In other words, while a moving object (like a door) can push a movable object out of the way, if that movable object hits *another* movable object, it will stop. That means that a door can move a crate out of the way, but if that crate hits a spoon, the crate and door will stop moving. It also means that if you put a spoon on top of a movable crate on an elevator, the elevator will not move up (spoon blocks crate which blocks elevator).<br />
<br />
This is probably the biggest irritation with D3 physics. The issue is potentially fixable but it's not an easy task.<br />
<br />
== AI Issues ==<br />
<br />
AI currently don't react to certain stimulus. They do not notice doors opening, ropes from rope arrows, or moss from moss arrows. They don't currently see mines.<br />
<br />
Occasionally, dead or unconscious AI will jitter and bounce around awkwardly. This is caused either by an attached object (like a key) that a mapper has not set to nonsolid, or the AI having been clipped into a surface when they enter ragdoll state.<br />
<br />
Sleeping behaviour is still a bit rough around the edges. AI sometimes fall through the floor when getting up off a bed. <br />
<br />
Players can sometimes KO alerted guards from the front (if they don't have a helmet). This is a bug. Alerted guards without helmets should only be KO'd from behind.<br />
<br />
AI occasionally try to search at a point beyond a solid wall (usually as a result of a thrown object). This can cause unusual behaviour, like running into the wall or running away to a different part of the map. When AI run into a wall, they sometimes clip into the floor (which doesn't cause any problems but looks even worse than just running into the wall normally).<br />
<br />
== Combat ==<br />
<br />
There is a bug with combat that sometimes results in the AI not drawing his weapon properly. This might show up as an AI attacking with an empty hand (but still parrying and doing damage), or the AI might just run into the player continually, unable to attack at all.<br />
<br />
AI sometimes do not flee properly, and instead stand there petrified.<br />
<br />
[[Category:Gameplay]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=DrVertexBlend_(tutorial)&diff=11850DrVertexBlend (tutorial)2010-12-27T13:26:43Z<p>Stifu: </p>
<hr />
<div>[[Image:VertexBlendExample.jpg|400px|thumb|right|Example: Vertex blending in NHAT3]]<br />
<br />
This tutorial explains how to add vertex blending to your level-geometry with the help of Blender. Vertex blending is a technique that enables the leveldesigner to create smooth transitions between two different textures as shown on the example image on the right. In order to achieve this effect, the level-geometry built in DarkRadiant is exported to Blender and the vertices are colored according to the desired blending behavior. Afterwards the object can be used as a model.<br />
<br />
<span style="color:red">Please note that images displaying material definitions are outdated. Consult the article [[Virtual Ambient Light Textures]] for correct information.</span><br />
<br />
=Vertex Painted ASE Models with DarkRadiant and Blender 2.53=<br />
<br />
For the level designer who is not comfortable in a modeling package I've written a series of ASE import and export plugins so that you might benefit from vertex blending or coloring in your maps.<br />
<br />
These plugins will not absolve you of a modeling application completely however they will spare you from modeling and uv mapping. Essentially the entire process has been reduced to four steps.<br />
<br />
#Export map geometry from DarkRadiant<br />
#Import resulting .ASE into Blender<br />
#Switch to vertex paint mode and paint<br />
#Export object(s) from Blender<br />
<br />
It is assumed you already have DarkRadiant 1.4 and Blender 2.53 installed.<br />
<br />
===Required Plugins===<br />
*DarkRadiant ASE Export<br />
*[https://docs.google.com/leaf?id=0B3KUZe06PPyDM2FhMGQ1YjYtNDVhYy00Y2I4LWI5OWEtMWE1Njg3ZTYzZmVh&hl=en Blender 2.53 ASE Import]<br />
*[https://docs.google.com/leaf?id=0B3KUZe06PPyDYjI2ZDAxYmYtN2I3NS00MjFkLTkyNTAtOGFjYTI4MzQ3MzQ5&hl=en Blender 2.53 ASE Export]<br />
<br />
The DarkRadiant ASE Export plugin is bundled with DarkRadiant and will not need to be installed.<br />
<br />
==Plugin Installation==<br />
<br />
Due to discrepancies that arise depending on what operating system you are using, whether you are using the 32-bit or 64-bit versions of Blender, and installation options, the full path for installation may vary.<br />
<br />
===Blender 2.53===<br />
<br />
The Blender 2.53 ASE Import and Export plugins (import_ase.py and export_ase.py) should be placed in the relative path below.<br />
<br />
...\scripts\io<br />
<br />
If you have difficulty finding this location on your system you can perform a search for any of the following files.<br />
<br />
engine_render_pov.py<br />
export_3ds.py<br />
export_fbx.py<br />
export_mdd.py<br />
export_obj.py<br />
export_ply.py<br />
export_x3d.py<br />
import_anim_bvh.py<br />
import_scene_3ds.py<br />
import_scene_obj.py<br />
import_shape_mdd.py<br />
<br />
Once you have placed '''import_ase.py''' and '''export_ase.py''' in the location described above you can verify installation by starting Blender 2.53. If '''Ascii Scene Export (.ASE)''' is available in the '''File > Import''' and '''File > Export''' menus, installation was successful.<br />
<br />
==Exporting Geometry From DarkRadiant==<br />
<br />
Only brushes and patches may be exported using '''Export ASE...''' from DarkRadiant. This excludes entities comprised of brushes and patches. If you intend to export such an entity please revert it to worldspawn first.<br />
<br />
Also it should be mentioned that at the time of this writing, The Dark Mod does not appear to come with many if any vertex blended or vertex colored material shaders. If you intend to use such a material, you'll need to use one from Doom 3 or create a new one before you reach this step.<br />
<br />
If you don't know how to create such a material you'll find a brief description of the process in Appendix B at the end of this document.<br />
<br />
Assuming you have DarkRadiant open, you have created or loaded the map geometry you intend to export, and vertex blended or colored material shaders are applied to your satisfaction, perform the following steps.<br />
<br />
#Select the brushes and patches for export.<br/>[[Image:Step2.1.PNG]]<br />
#Select Scripts > Export ASE...<br/>[[Image:Step2.2.PNG]]<br />
#In the filename textbox enter a filename.<br/>[[Image:Step2.3.PNG]]<br />
#In the path textbox enter the path or use the elipsis button on the right side of the text box to browse for a folder.<br/>[[Image:Step2.4.PNG]]<br />
#Click the OK button.<br/><br />
<br />
If export was successful you will find a file with the name you've specified at the location specified. If you attempt to overwrite the file you will be prompted to confirm or cancel the operation.<br />
<br />
If for some reason there was a problem no file will be exported and an error message will be present in the console.<br />
<br />
==Importing the .ASE into Blender 2.53==<br />
<br />
When starting Blender you will be presented with the default layout which includes a scene with a camera, light, and cube primative in the main viewport.<br />
<br />
[[Image:Step3general1.PNG|800px]]<br />
<br />
The cube should be highlighted in orange to identify it as being selected. If not right click it. Press x to delete it from the scene.<br />
<br />
[[Image:Step3general2.PNG]]<br />
<br />
With the cube removed, perform the following steps.<br />
<br />
#Click File > Import > Ascii Scene Export (.ASE) to open the file browser.<br/>[[Image:Step3.1.PNG]]<br />
#Navigate to the location of the .ASE exported in the previous section and select the file.<br/>[[Image:Step3.2.PNG]]<br />
#Click the Import ASE button in the top right corner.<br/>[[Image:Step3.3.PNG]]<br />
<br />
If import was successful familiar geometry should appear in the main viewport and be reflected in the outliner. Take care that if you were to switch to textured mode, no texture would appear on the model. But rest assured that the material shaders applied in DarkRadiant have been preserved.<br />
<br />
[[Image:Step3general3.PNG]]<br />
<br />
The reason for this is because a material shader as used in the idTech 4 engine is not an image as Blender expects all textures to be. Instead, it is a declaration which references several images along side other game assets. Take note that in the image below, the texture panel is making reference to a non-existant image texture. This reference "textures/rock/newdarkrockblend" does not represent a file named newdarkrockblend in a folder called textures/rock. This is in fact the full name of a material shader.<br />
<br />
[[Image:Step3general4.PNG]]<br />
<br />
While it is theoretically possible to give the script the ability to read the contents of .pk4 files, load the contents of .mtr files, identify the specified material shader, and extract/convert the required image files so that they may be loaded into Blender, it is not required for vertex painting.<br />
<br />
In the future such functionality may be incoorporated into the script but as it stands, it is not too much to ask that you refrain from playing with texture settings within Blender unless you know what you are doing.<br />
<br />
It is important to note that brushes with multiple textures are exported as separate objects within a single .ASE file. Although the .ASE format supports unique textures per-face, idTech 4 does not so spliting faces into separate objects is required.<br />
<br />
If there were any problems during import or it appears parts of the model are missing, check the console which would be the DOS or BASH terminal running in the background for error messages. If you encounter a problem please share the full contents of the console and the .ASE so that I can fix it.<br />
<br />
[[Image:Step3general5.PNG]]<br />
<br />
==Vertex Painting Each Object==<br />
<br />
For each mesh object in your scene you plan to vertex paint, perform the following steps.<br />
<br />
#Right click the object to select it.<br/>[[Image:Step4.1.PNG]]<br />
#Press the period key on your numpad to focus the viewport on the selection.<br/>[[Image:Step4.2.PNG]]<br />
#Select Vertex Paint mode from the mode selection box at the bottom of the main viewport.<br/>[[Image:Step4.3.PNG]]<br />
#Using the following controls, paint the vertices of the selected object.<br />
#*the middle mouse button to rotate<br />
#*the shift key and middle mouse button to pan<br />
#*the mouse wheel to zoom<br />
#*the color wheel on the left for color selection<br />
#*the left mouse button to paint<br />
[[Image:Step4general2.PNG]][[Image:Step4general1.PNG]]<br />
<br />
Vertex blending is when two textures are blended based on the color of the underlying vertices. idTech 4 dictates that you use white to represent one texture and black to represent the other. Gray values are used to gradually blend between the two.<br />
<br />
Vertex coloring is when one texture is tinted based on the color of the underlying vertices. You are not restricted in color usage although I am hard pressed to find a use for this. Technically you could paint shadows and the like on a mesh provided the geometry was dense enough.<br />
<br />
==Exporting Objects from Blender 2.53==<br />
<br />
If you've created any new geometry within Blender it must be uv mapped and assigned a material before you can export. A brief explanation will be covered in Appendix A at the end of this document.<br />
<br />
That said, if you've been following the tutorial and the objects in the scene are vertex painted to your satisfaction you are ready to export.<br />
<br />
To make your selection visible it's best to change the mode from vertex paint to object mode. Right click each mesh object in your scene and choose object mode from the mode selection box.<br />
<br />
[[Image:Step5general1.PNG]] <br />
<br />
Now you are prepared to export a group selection of objects.<br />
<br />
#Right click to select a mesh object.<br/>[[Image:Step5.1.PNG]]<br />
#Hold shift and right click each mesh object to add it to the selection.<br />
#With everything you intend to export selected, click File > Export > Ascii Scene Export (.ASE)<br/>[[Image:Step5.3.PNG]]<br />
#Navigate to the location you wish to export and type a unique filename in the filename text box.<br/>[[Image:Step5.4.PNG]]<br />
#Click the Export ASE button in the top right corner.<br/>[[Image:Step5.5.PNG]]<br />
<br />
If export was successful a file with the name specified will appear in the location specified. If you attempt to overwrite an existing file the plugin will abort.<br />
<br />
If no file exists check the console to ensure no problems were encountered during export. Now you should be able to copy the resulting .ASE file into the appropriate location along with your mod assets and use it in your map(s).<br />
<br />
[[Image:Step5general2.PNG]]<br />
<br />
=Appendix A. Preparing a Native Object for Export=<br />
<br />
If you've created objects within Blender, it is not enough to simply export them as you would with something you've imported from DarkRadiant.<br />
<br />
The distinction is in the fact that brushes and patches exported to .ase from DarkRadiant are already UV mapped and have a material applied while objects created within Blender do not.<br />
<br />
===UV Mapping===<br />
<br />
[[Image:Cube Representative UV Unwrapping.png|800px]]<br />
<br />
UV mapping is best explained through an analogy. Imagine you have a box and you want to lay it flat and run it through your printer to apply a texture to it. Obviously the box isn't going to lay flat unless you pull it apart at the seams.<br />
<br />
UV mapping is the process of marking the seams on your object and commanding Blender to unwrap it. Once an object has been UV mapped, you've essentially given Blender and more importantly idTech 4 instructions on where parts of a 2D texture should appear on the 3D model.<br />
<br />
For the purposes of this section the example object will be a cube.<br />
<br />
#On the menu bar immediately to the right of the help menu is the layout dropdown box. Change the layout to UV editing.<br/>[[Image:Astep1.PNG]]<br />
#Right click your object in the 3D viewport to select it and toggle edit mode.<br/>[[Image:Astep2.PNG]]<br />
#Change the selection mode to edge and press the a key to deselect everything.<br/>[[Image:Astep3.PNG]]<br />
#Use right click followed by shift and right click to select a few edges to designate as seams.<br/>[[Image:Astep4.PNG]]<br />
#On the tool shelf to the left of the 3D viewport under UV mapping select Mark Seams.<br/>[[Image:Astep5.PNG]]<br />
#Repeat this process until you are satisfied. It may help to turn wireframe mode on so you can see the seams on all sides of the model.<br/>[[Image:Astep6.PNG]]<br />
#In the 3D viewport press the a key to select all.<br/>[[Image:Astep7.PNG]]<br />
#On the tool shelf to the left of the 3D viewport under UV mapping select Unwrap > Unwrap. The unfolded version of your cube should appear in the UV editor on the left.<br/>[[Image:Astep8a.PNG]][[Image:Astep8b.PNG]]<br />
#On the menu bar immediately to the right of the help menu is the layout dropdown box. Change the layout to Default.<br/>[[Image:Astep9.PNG]]<br />
#The seams are no longer needed. You may clear them by selecting all with the a key followed by clicking the clear seams button on the toolbar to the left of the 3D viewport under UV mapping.<br/>[[Image:Astep10.PNG]]<br />
<br />
===Applying a Material===<br />
<br />
Applying a material is important as well as it's where the export script learns what material shader to apply to each object.<br />
<br />
#Change back to object mode using the mode selection box.<br/>[[Image:Aastep1.PNG]]<br />
#Ensure the cube is selected and open the material properties on the right.<br/>[[Image:Aastep2.PNG]]<br />
#Add a new material to the object.<br/>[[Image:Aastep3.PNG]]<br />
#Open the texture properties and select the first texture channel.<br/>[[Image:Aastep4.PNG]]<br />
#Change the type to image.<br/>[[Image:Aastep5.PNG]]<br />
#Scroll down to the image properties and add a new image.<br/>[[Image:Aastep6.PNG]]<br />
#Change the source to file.<br/>[[Image:Aastep7.PNG]]<br />
#In the file name text box type the full material shader name.<br/>[[Image:Aastep8.PNG]]<br />
<br />
At this point the object should be ready for export. If you have multiple objects you'd like to export as an .ASE you'll need to uv map and apply a material to them separately.<br />
<br />
=Appendix B. Preparing Vertex Blended or Colored Material Shaders=<br />
<br />
Generally this is a matter of opening up one or multiple material shader(s), mixing and matching portions of them, making a few modifications, and saving the newly created material shader with a unique name.<br />
<br />
In section four I outlined the difference between vertex blended and vertex colored material shaders. I'm going to assume you've grasped the concept and know which of the two you're after.<br />
<br />
It would also be of great benefit if you studied the texturing documentation available here along with a few existing materials that make use of vertex colors like textures/rock/dirt03_sharprock3.<br />
<br />
===Vertex Blended===<br />
<br />
#Open DarkRadiant along with a plain text editor like notepad.<br />
#In the media browser identify the first material you'd like to use.<br/>[[Image:Bstep2.PNG|800px]]<br />
#Right click it and select show shader definition.<br/>[[Image:Bstep3.PNG]]<br />
#Copy the text that makes up the material shader into your text editor.<br/>[[Image:Bstep4.PNG|800px]]<br />
#Repeat this process for a second material adding the additional text to the bottom.<br />
#In your text editor break any diffusemap, bumpmap, or specularmap keywords into stages.<br/>[[Image:Bstep6a.PNG|400px]][[Image:Bstep6b.PNG|400px]]<br />
#Remove any image processing keywords like addheightmap if present so only the most logical image reference remains.<br />
#In the first material shader, add the keyword vertexColor to each stage.<br/>[[Image:Bstep8.PNG]]<br />
#In the second material shader, add the keyword inverseVertexColor to each stage.<br/>[[Image:Bstep9.PNG]]<br />
#Cut and paste the stages from the second material shader into the end of the first.<br/>[[Image:Bstep10.PNG]]<br />
#Delete the remnants of the second material shader.<br />
#Rename the remaining material shader so that it has a unique name.<br/>[[Image:Bstep12.PNG]]<br />
#Save it as an .mtr file.<br/>[[Image:Bstep13.PNG]]<br />
#Place it in the materials subfolder within your mod directory.<br />
<br />
===Vertex Colored===<br />
<br />
#Open DarkRadiant along with a text editor.<br />
#In the media browser identify the material you'd like to use.<br/>[[Image:Bbstep2.PNG|800px]]<br />
#Right click it and select show shader definition.<br/>[[Image:Bbstep3.PNG]]<br />
#Copy the material shader into your text editor.<br/>[[Image:Bbstep4.PNG|800px]]<br />
#In your text editor break the diffusemap keyword if present, into a stage.<br/>[[Image:Bbstep5a.PNG|400px]][[Image:Bbstep5b.PNG|400px]]<br />
#Add the keyword vertexColor to the diffuse stage.<br/>[[Image:Bbstep6.PNG]]<br />
#Rename the modified material shader so that it has a unique name.<br/>[[Image:Bbstep7.PNG]]<br />
#Save it as an .mtr file.<br/>[[Image:Bbstep8.PNG]]<br />
#Place it in the materials subfolder within your mod directory.<br />
<br />
[[Category:Editing]]<br />
[[Category:DarkRadiant]]<br />
[[Category:Documentation]]<br />
[[Category:Models]]<br />
[[Category:Texture Tutorials]]<br />
[[Category:Tutorial]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Textures&diff=11849Textures2010-12-27T13:23:41Z<p>Stifu: </p>
<hr />
<div>{{index-page|category=Textures|topic=textures}}<br />
This page contains articles and links related to making/importing textures, editing .mtr files and others related to the mod.<br />
<br />
== Making Textures ==<br />
* [[Texture Creation - Basic Tutorial]]<br />
* [[DDS creation]]<br />
* '''[[How to add Textures to The Dark Mod]]''' ''-- (Overall Information and Guides)''<br />
* '''[[Texture Guidelines]]''' ''-- (Info on our hi-res repository, and what sizes to use for textures)''<br />
* '''[[Texture Folder Structure]]''' ''-- (Where to save new textures)''<br />
* Basic Texture Information: http://www.modwiki.net/wiki/Texturing<br />
* [[Common Texture Mistakes]]<br />
* [[Texture Sources]] ''-- (Good places to find source textures and photos)''<br />
* [[How to give Textures a nice Glow]]<br />
=== Diffusemaps ===<br />
* [[Advanced Tips for Creating Diffusemaps]]<br />
* [[Remove Shadows in Source Images]]<br />
=== Normalmaps ===<br />
* [[Normalmaps, How to Make Good Ones]]<br />
* [[No more Heightmaps]] ''-- (Basic info for turning a heightmap into a normalmap)''<br />
* [[Wall Texture Tutorial]] ''-- (How to make good normalmaps with Maya)''<br />
* [[Creating Textures with Normals out of Models]] ''-- (More info on using modeling software to make normalmaps)''<br />
* [[Inverse Normalmaps]] ''-- (A way to check if your normalmaps are correct)''<br />
* [[Inverting Normalmaps]] ''-- (How to fix them if they aren't correct)''<br />
<br />
== Material Files ==<br />
''(Material files tell D3 what to do with your texture images. Without one, your texture will not work)''<br />
* [[Basic Material File]] ''-- (How to get a new texture in game)''<br />
* [[Surface Types]] ''-- (How to tell the engine whether your surface is stone, wood, grass, etc)''<br />
* [[Making Semi-transparent textures]]<br />
* [[Detail Textures]]<br />
* [[Virtual Ambient Light Textures]] ''-- (Information about the required ambient stages of materials)''<br />
* [[TDM Material Batch Conversion]] ''-- (Automatically convert materials to support the changes of TDM 1.03)''<br />
<br />
== Textures for Models ==<br />
* [[Creating Multiple Skins For A Model]] ''-- (How to swap different textures on the same model)''<br />
* [[DrVertexBlend (tutorial)]] ''-- (How to create smooth transitions between textures: Vertex Blending)''<br />
* [[Turning Shadows Off]] '' -- (How to turn shadows off to varying degrees)''<br />
<br />
== Other ==<br />
* [[Fast Re-Texturing of your Map]]<br />
* [[Grey Border Around Transparent GUI]] ''-- (sometimes transparent .tgas have an unwanted grey border)''<br />
* [[How To Make Your Own Visportal-texture]]<br />
<br />
{{textures}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=TDM_Material_Batch_Conversion&diff=11848TDM Material Batch Conversion2010-12-27T13:21:49Z<p>Stifu: </p>
<hr />
<div>Some of the ambient rendering methods available in TDM require ambient stages in all the material definitions (see [[Virtual Ambient Light Textures]]). Since TDM 1.03, there is a command that automatically converts materials to be compatible with all the ambient methods. This command is called '''tdm_batchConvertMaterials'''.<br />
<br />
=Explanation of the command=<br />
The command ''tdm_batchConvertMaterials'' analyses a defined number of materials and alters them according to the requirements imposed by TDM 1.03. Its console explanation reads:<br />
<pre><br />
Usage: tdm_batchConvertMaterials <StartIndex> <nMaterials> [forceUpdateAll]<br />
</pre><br />
''StartIndex'' is a number that defines at what material the command is supposed to start processing and ''nMaterials'' defines how many successive materials should be processed. TDM currently consists of about 9000+ materials, so one would probably go ahead and just run the command with the parameters: tdm_batchConvertMaterials 0 10000. The problem is that all materials are parsed into RAM which will eventually lead to '''malloc errors, when the RAM is full'''.<br />
<br />
If ''forceUpdateAll'' is also set, the command will update all materials, independent of the results of the analysis.<br />
<br />
=Proper usage of the command=<br />
In order to run the command without running into malloc errors, one has to successively execute it on different partitions of the materials. If you choose ''nMaterials=1000'' (which appears to be a good value), you'll have to start the command multiple times while increasing the ''StartIndex'' and restarting TDM after each execution (in order to free the memory again). Here is an example:<br />
<br />
tdm_batchConvertMaterials 0 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 1000 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 2000 1000<br />
...<br />
<br />
<br />
Eventually the console will say "0 Materials processed and changed in total.", which means you're done.<br />
<br />
==I followed the above instructions but still ran into malloc errors==<br />
It may occur that you run into malloc errors, although the first executions of the command were successful. This is due to the fact that some materials are more complex than others and require more RAM for that reason. Remember the last ''StartIndex'' and re-execute the command with that index, but a decreased ''nMaterials''. Say for example, you received a malloc error after executing "tdm_batchConvertMaterials 4000 1000". You would now go ahead and do the following:<br />
tdm_batchConvertMaterials 4000 <b>500</b><br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials <b>4500 500</b><br />
...<br />
After those two executions, you can actually try to raise ''nMaterials'' again to a higher value, in order to reduce the required user-input.<br />
<br />
=Known issues=<br />
* Can result in malloc errors. See section [[#Proper Usage of the command|Proper Usage of the command]].<br />
* Can produce undesired results on [[DrVertexBlend (tutorial)|vertex blended materials]], e.g. one of the old ambient stages is not removed. Please double check respective materials.</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=TDM_Material_Batch_Conversion&diff=11847TDM Material Batch Conversion2010-12-27T13:19:25Z<p>Stifu: New page: Some of the ambient rendering methods available in TDM require ambient stages in all the material definitions (see Virtual Ambient Light Textures). Since TDM 1.03 there is a command th...</p>
<hr />
<div>Some of the ambient rendering methods available in TDM require ambient stages in all the material definitions (see [[Virtual Ambient Light Textures]]). Since TDM 1.03 there is a command that automatically converts materials to be compatible with all the ambient methods. This command is called '''tdm_batchConvertMaterials'''.<br />
<br />
=Explanation of the command=<br />
The command ''tdm_batchConvertMaterials'' analyses a defined number of materials and alters them according to the requirements imposed by TDM 1.03. Its console explanation reads:<br />
<pre><br />
Usage: tdm_batchConvertMaterials <StartIndex> <nMaterials> [forceUpdateAll]<br />
</pre><br />
''StartIndex'' is a number that defines at what material the command is supposed to start processing and ''nMaterials'' defines how many successive materials should be processed. TDM currently consists of about 9000+ materials, so one would probably go ahead and just run the command with the parameters: tdm_batchConvertMaterials 0 10000. The problem is that all materials are parsed into RAM which will eventually lead to '''malloc errors, when the RAM is full'''.<br />
<br />
If ''forceUpdateAll'' is also set, the command will update all materials, independent of the results of the analysis.<br />
<br />
=Proper usage of the command=<br />
In order to run the command without running into malloc errors, one has to successively execute it on different partitions of the materials. If you choose ''nMaterials=1000'' (which appears to be a good value), you'll have to start the command multiple times while increasing the ''StartIndex'' and restarting TDM after each execution (in order to free the memory again). Here is an example:<br />
<br />
tdm_batchConvertMaterials 0 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 1000 1000<br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials 2000 1000<br />
...<br />
<br />
<br />
Eventually the console will say "0 Materials processed and changed in total.", which means you're done.<br />
<br />
==I followed the above instructions but still ran into malloc errors==<br />
It may occur that you run into malloc errors, although the first executions of the command were successful. This is due to the fact that some materials are more complex than others and require more RAM for that reason. Remember the last ''StartIndex'' and re-execute the command with that index, but a decreased ''nMaterials''. Say for example, you received a malloc error after executing "tdm_batchConvertMaterials 4000 1000". You would now go ahead and do the following:<br />
tdm_batchConvertMaterials 4000 <b>500</b><br />
<i>*Wait for finish and restart TDM*</i><br />
tdm_batchConvertMaterials <b>4500 500</b><br />
...<br />
After those two executions, you can actually try to raise ''nMaterials'' again to a higher value, in order to reduce the required user-input.<br />
<br />
=Known issues=<br />
* Can result in malloc errors. See section [[#Proper Usage of the command|Proper Usage of the command]].<br />
* Can produce undesired results on vertex blended materials, e.g. one of the old ambient stages is not removed. Please double check respective materials.</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Modeling&diff=11846Modeling2010-12-27T12:37:38Z<p>Stifu: </p>
<hr />
<div>{{index-page|category=Models|topic=models}}<br />
== Basic Modeling ==<br />
<br />
* '''[[Starting to Model for TDM]]''' ''-- (Instructions for new team members)''<br />
* '''[[Model Folder Structure]]''' ''-- (Instructions on where to save your new model)''<br />
* [[Modeling - Basic Tutorial]] ''-- (Using Blender)''<br />
* [[Using Blender for Doom 3 Modeling]]<br />
* [[Creating an ASE model using multiple Materials]]<br />
* [[Meshes from Lightwave to D3 with Normal Maps]]<br />
* [[Model/Texture Guidelines]]<br />
* [[Problematic Paths in Models]] ''-- (if your .ase models are showing black, check here)''<br />
* [[Modeling Tools: Unfold3D]]<br />
<br />
== AI ==<br />
<br />
* [[Swapping Heads on AI Models]] ''-- (For mappers who want to put different heads on their AI)''<br />
* [[Adding Heads and Weapons to AI]] ''-- (How to modify AI def files to add newly modelled heads or weapons)''<br />
* [[Multiple Head Definitions for AI]] ''-- (Accurate but redundant)''<br />
* [[An AI consists of 6 Models]]<br />
* [[Getting Characters and their Anims into Doom]]<br />
* [[Setting up Ragdolls for Custom Joint Hierarchies]]<br />
* [[Scaling And Rotating AI Meshes]]<br />
* [[How to Make Your AI Unique]] '' -- (how to use skins and attachments to add variety to AI) ''<br />
* [[AI Skins--List of Available Choices]]<br />
* [[Heads Available for AI]] ''-- (A list of heads you can attach to AI in your map)''<br />
<br />
== Textures and skins for models ==<br />
<br />
* [[Creating Textures with Normals out of Models]]<br />
* [[Creating Multiple Skins For A Model]]<br />
* [[DrVertexBlend (tutorial)]] ''--(How to create smooth transitions between textures: Vertex Blending)''<br />
* [[Turning Shadows Off]] ''-- (How (and why) to turn shadows off to varying degrees) ''<br />
<br />
== Other ==<br />
<br />
* [[.def files]] ''-- (How to turn your model into an entity in game)''<br />
* [[AI Attachment Ingame Editing]] ''-- (Console commands for def_attaching models during game)''<br />
* [[Trees and how to make custom ones]]<br />
* [[Nonsolid models]]<br />
* [[ASE to TDM]]<br />
<br />
{{models}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Textures&diff=11845Textures2010-12-27T12:36:10Z<p>Stifu: </p>
<hr />
<div>{{index-page|category=Textures|topic=textures}}<br />
This page contains articles and links related to making/importing textures, editing .mtr files and others related to the mod.<br />
<br />
== Making Textures ==<br />
* [[Texture Creation - Basic Tutorial]]<br />
* [[DDS creation]]<br />
* '''[[How to add Textures to The Dark Mod]]''' ''-- (Overall Information and Guides)''<br />
* '''[[Texture Guidelines]]''' ''-- (Info on our hi-res repository, and what sizes to use for textures)''<br />
* '''[[Texture Folder Structure]]''' ''-- (Where to save new textures)''<br />
* Basic Texture Information: http://www.modwiki.net/wiki/Texturing<br />
* [[Common Texture Mistakes]]<br />
* [[Texture Sources]] ''-- (Good places to find source textures and photos)''<br />
* [[How to give Textures a nice Glow]]<br />
=== Diffusemaps ===<br />
* [[Advanced Tips for Creating Diffusemaps]]<br />
* [[Remove Shadows in Source Images]]<br />
=== Normalmaps ===<br />
* [[Normalmaps, How to Make Good Ones]]<br />
* [[No more Heightmaps]] ''-- (Basic info for turning a heightmap into a normalmap)''<br />
* [[Wall Texture Tutorial]] ''-- (How to make good normalmaps with Maya)''<br />
* [[Creating Textures with Normals out of Models]] ''-- (More info on using modeling software to make normalmaps)''<br />
* [[Inverse Normalmaps]] ''-- (A way to check if your normalmaps are correct)''<br />
* [[Inverting Normalmaps]] ''-- (How to fix them if they aren't correct)''<br />
<br />
== Material Files ==<br />
''(Material files tell D3 what to do with your texture images. Without one, your texture will not work)''<br />
* [[Basic Material File]] ''-- (How to get a new texture in game)''<br />
* [[Surface Types]] ''-- (How to tell the engine whether your surface is stone, wood, grass, etc)''<br />
* [[Making Semi-transparent textures]]<br />
* [[Detail Textures]]<br />
* [[Virtual Ambient Light Textures]] ''-- (Information about the required ambient stages of materials)''<br />
<br />
== Textures for Models ==<br />
* [[Creating Multiple Skins For A Model]] ''-- (How to swap different textures on the same model)''<br />
* [[DrVertexBlend (tutorial)]] ''--(How to create smooth transitions between textures: Vertex Blending)''<br />
* [[Turning Shadows Off]] '' -- (How to turn shadows off to varying degrees)''<br />
<br />
== Other ==<br />
* [[Fast Re-Texturing of your Map]]<br />
* [[Grey Border Around Transparent GUI]] ''-- (sometimes transparent .tgas have an unwanted grey border)''<br />
* [[How To Make Your Own Visportal-texture]]<br />
<br />
{{textures}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Texture_Creation_-_Basic_Tutorial&diff=11844Texture Creation - Basic Tutorial2010-12-27T12:34:01Z<p>Stifu: </p>
<hr />
<div>{{tutorial-textures}} {{Original_Reference|SneaksieDave|3814}}<br />
A game like this needs a TON of textures. So I wanted to try to learn how to do this mysterious, wonderous, magick...<br />
<br />
Erm, well, it's not magick. Far from it, in fact. This tutorial isn't for those of you who already know how to do this*, and already know it's not magick. This tutorial is for the rest of us, those who have been too scared or lazy to even bother asking "how do I?", like me. (It's the former, honest!)<br />
<br />
== Prerequisites ==<br />
<br />
You can use Gimp or Photoshop on Windows, for Linux you should use Gimp. So you'll need either of the two programs Gimp/Photoshop and the corresponding set of plugins:<br />
<br />
=== Photoshop ===<br />
<br />
* [http://developer.nvidia.com/object/photoshop_dds_plugins.html Nvidia normal map plugin]<br />
<br />
=== Gimp ===<br />
<br />
* [http://nifelheim.dyndns.org/~cocidius/normalmap/ GIMP normalmap plugin]<br />
* [http://www.manucornet.net/Informatique/Texturize.php#download GIMP texturize plugin]<br />
* [http://registry.gimp.org/plugin?id=4816 Gimp DDS plugin]<br />
<br />
If you are using Kubuntu/Ubuntu, you can also install the <code>gimp-texturize</code> and <code>gimp-resynthesizer</code> packages.<br />
<br />
To compile Gimp plugins from source, install the following packages and their dependecies:<br />
<br />
* libgimp2.0-dev<br />
* libgtk1.2-dev<br />
* libglut3-dev (for the DDS plugin)<br />
<br />
== Get your source picture ==<br />
<br />
This could be anything from a photograph you took, to a free texture download from the internet (see [[Texture Sources]]), to a hand drawn picture, if you're one of those fortunate enough to possess that skill - though we generally prefer to work from photo-reference when possible.<br />
<br />
If you do want to take photos, some tips:<br />
* try to shoot on an overcast day; the diffuse light will remove most unwanted shadows<br />
* try to take the photo as perfectly face-on to the surface as you can manage. <br />
If your end result isn't perfect, don't worry, there are ways to fix it (transform->skew, to name one)<br />
* Make sure that all parts of your photo you want to use as texture are in focus (e.g. sharp). Unsharp parts cannot be fixed later, at least not without a big quality loss!<br />
* try to select an area that will be tile-able (if that's what you want)<br />
* try to capture a large area such that you'll have enough to work with, but not so big that your resolution on the final product will suffer<br />
<br />
== Create the diffuse map ==<br />
<br />
The diffuse map is a tilable (usally) image which gives the color infomation, but does not contain lighting or height information for the texture. It is stored as dds with dxt1 or dxt3 compression for use in Doom 3 and as 24 bit TGA (with or without RLE) for the hires repository.<br />
<br />
If your image has lighting baked in (shadows/highlights), you should remove it: [[Remove Shadows in Source Images]].<br />
<br />
This is just a basic tutorial for creating textures. For further information about creating Diffusemaps, read [[Advanced Tips for Creating Diffusemaps]].<br />
<br />
=== Photoshop ===<br />
<br />
Inspect the source image. If you're going to tile it, try to find a regular repeating area. This is only to make your job easier. You can tile anything, really, but it depends on how much work you want to give yourself. If you don't know what I mean here, at the next step you will.<br />
<br />
After you've chosen a rough tile-able area (from here forward I'm going to assume you are doing a tiled texture), crop that area out, and size your image to the desired size ratio. I wouldn't go lower than 1024 resolution at this stage of the work, or you'll start losing picture quality quickly. So set it to 2048X1024, or 1024X1024, etc. The reason we need to fix the size ratio (not the final size) at this stage is for the next step.<br />
<br />
==== Set the offset ====<br />
<br />
Go to Filter->Other->Offset. You want to set the horizontal and vertical to be exactly half of your cropped picture's width and height. That will make the opposite edges of the texture meet each other in the middle of the view, so you can make it really tile-able.<br />
<br />
==== Make the seams disappear ====<br />
See those seams running right down the middle of the pic, vertically and horizontally? You have to make them disappear. Get to know the clone tool. (Google...) There are many other ways to shuffle pixels too, but I'll leave the specifics up to you. This is usually the hardest, most time consuming step.<br />
<br />
Once you've blended the lines away, run the Offset filter again to restore the correct layout of your pic, and save it out in a nice high quality (but not too big to manage) format. This is the "diffuse" image. We're using 24bit TGA for TDM.<br />
<br />
=== Gimp ===<br />
<br />
Use the <code>texturizer</code> or the <code>resynthezier</code> plugin - these are very easy to work with and make manual work almost needless.<br />
<br />
== Create a normal map ==<br />
<br />
The Normalmap tells the renderer in which direction a corresponding place on the diffusemap is facing, so that it can be shaded according to the present lightsources in the scene. It is stored as uncompressed 24 bit TGA (no RLE!) for use in Doom 3. You will learn the basics about creating Normalmaps here. For further information: [[Normalmaps, How to Make Good Ones]].<br />
<br />
=== Photoshop ===<br />
<br />
Now that the diffuse is done, using that same pic, open Filter->Nvidia Tools->NormalMapFilter. You'll probably have to play with the values for a while to get a feel for it, and to get a normal map you are happy with. This is a rough approximation method, by no means as accurate as actually modelling a texture (see [[Wall Texture Tutorial]] or [[Creating Textures with Normals out of Models]]), but it works pretty good in most cases. Basically, it will make light areas "high" and dark areas "low". Learn how to manipulate color levels in Photoshop, and you'll be making good normal maps with the Nvidia filter in no time. Generally, use values of 3 or 4 for simple things like woodgrain or nails. Values of 12 or higher can be used for more 3d effects.<br />
<br />
If you think about it, there are countless ways to adjust the image (in fact, you're not even restricted to using the diffuse image as the base of the normal map...) to get desired results - inverting colors, brightness and contrast controls, painting over areas, gradients, etc. It's a "feel" thing, so you'll have to develop that for yourself. After creating your desired normal map (try not to make it too blurry, or too sharp, or too bumpy - yuck), save it out as you did with the diffuse image, with "_local" appended.<br />
<br />
=== Gimp ===<br />
<br />
This is a rough guide by a non-expert as I (fidcal) do it so at least there is something here. It assumes you have made a temporary greyscale image file saved as say nameGrey.tga with the brighter areas representing the high ground and darker means low as described elsewhere ready to make your make normal map. It assumes you've just downloaded Gimp and its Normalmap plugin (ESSENTIAL!), maybe configured it a bit so don't know much about it but just want a dumb list to follow.<br />
<br />
* Open Gimp<br />
* Gimp consists of separate floating windows with no main window so select the toolbar window > file menu > and open your greyscale image file.<br />
* You can enlarge/maximize the window and zoom with the mouse wheel if you want.<br />
* Menu > filters > map > normalmap<br />
* On the normal map dialog, Click 3D map preview; it will make more sense then.<br />
* On the normal map dialog, in the 'scale' box there is zero by default which is useless as a default as this seems to be the scale of depth. Enter 50 for a start.<br />
* On the 3D preview dialog there is a window with a panel in it. Grab the panel with your left mouse button and drag it around. Now you should see a rough 3D impression of your image.<br />
* If you have no idea what you're doing (like me) leave the scale at 50 as a reasonable value, otherwise adjust it according to your knowledge. Maybe come back here later if you feel your final result is not deep enough or too deep. Similarly leave the other controls or adjust if you know what you are doing.<br />
* On the normal map dialog click OK.<br />
* On Gimp's image window you should now see your greyscale image has been converted probably blue looking with depressions, eg inverted the heights; that's OK.<br />
* Save as name_local.tga in the correct dark mod texture folder where your main texture is.<br />
* A mini dialog pops up : RLE compression - set this UNchecked, and 'origin at bottom left' - leave this checked. Click OK.<br />
* I had a lot of programs open including Doom so it seemed to hang a long time but eventually saved.<br />
* You close Gimp by closing that toolbar window so I guess that's its nearest thing to a main window.<br />
<br />
That's it.<br />
<br />
== Create an editor image ==<br />
As the diffusemap is very large it takes some time loading it into the editor, this is why DarkRadiant/DoomEd support the display of lowres editor images replacements. Just resize the diffusemap down to max. 256 pixels and save it in JPG format, but be sure to attach the '''_ed''' suffix.<br />
<br />
== Add a specular map ==<br />
The specularmap tells the renderer how shiny a corresponding place on the diffusemap is. It is stored as dds and its dimensions are typically scaled down to be half as big as those of the diffusemap.<br />
<br />
If you want a specular map, the process is even more subjective. There are countless ways in Photoshop to adjust color and light level and even invert everything or parts or mask out areas. Specular maps work as such: Darker is rendered as dull, lighter is rendered as shiny. Get it? Think of the possibilities, and have fun with it. You can get some pretty amazing results with just minutes of work. Save that image out as you did the diffuse, '''with "_s" appended'''.<br />
<br />
Note that most surface types don't need a specular map. Only shiny surfaces, like metal or wet stone, really need one, while wood, cobbles, canvas, leaves, dirt etc. should not have a specular map.<br />
<br />
== Create your material file ==<br />
<br />
Create a material for the texture (see [[Basic Material File]]). In the materials folder, locate the material file where you texture fits in best. Then add the following:<br />
<br />
<pre><br />
textures/your_desired_editor_texture_folder/your_texture_name<br />
{<br />
// Use one of the predefined surface types like stone, glass, wood<br />
stone<br />
// or use this:<br />
// surfaceType 15<br />
// and make the first word in the description below your texture type,<br />
// like so:<br />
// description "foliage" (This is a grass texture)<br />
<br />
description "Add here a little description of your texture"<br />
qer_editorimage textures/your_file_folder/your_texture_name_ed<br />
<br />
bumpmap textures/your_file_folder/your_texture_name_local<br />
diffusemap textures/your_file_folder/your_texture_name<br />
specularmap textures/your_file_folder/your_texture_name_s<br />
<br />
// This is the code required for frob highlighting this texture<br />
{<br />
if ( parm11 > 0 )<br />
blend gl_dst_color, gl_one<br />
map _white.tga<br />
rgb 0.40 * parm11<br />
}<br />
{<br />
if ( parm11 > 0 )<br />
blend add<br />
map textures/your_file_folder/your_texture_name<br />
rgb 0.15 * parm11<br />
}<br />
<br />
// The following two blocks are required for the ambient shading:<br />
// TDM Ambient Method Related<br />
{<br />
if (global5 == 1)<br />
blend add<br />
map textures/your_file_folder/your_texture_name<br />
scale 1, 1<br />
red global2<br />
green global3<br />
blue global4<br />
}<br />
{<br />
if (global5 == 2)<br />
blend add<br />
program ambientEnvironment.vfp<br />
vertexParm 0 1, 1, 1, 1 // UV Scales for Diffuse and Bump<br />
vertexParm 1 1, 1, 1, 1 // (X,Y) UV Scale for specular<br />
vertexParm 2 global2, global3, global4, 1<br />
<br />
fragmentMap 0 cubeMap env/gen1<br />
fragmentMap 1 textures/your_file_folder/your_texture_name_local // Bump<br />
fragmentMap 2 textures/your_file_folder/your_texture_name // Diffuse<br />
fragmentMap 3 _black // Specular<br />
}<br />
}<br />
</pre><br />
<br />
Oh, and on Windows, use Wordpad, not Notepad. That's it. Your new texture should appear in both the editor and in-game.<br />
<br />
== Summary ==<br />
So you see, it's really quite simple:<br />
* Crop the desired area<br />
* Make it tileable if necessary<br />
* Generate a normal map<br />
* Generate an editor image<br />
* Create a specular map if you want one<br />
* Include it in a material file<br />
* DONE<br />
<br />
The most important thing though, is to obey the [[Texture Guidelines]].<br />
<br />
== Further Information ==<br />
<br />
* [[Common Texture Mistakes]]<br />
* [[How to add Textures to The Dark Mod]]<br />
* [[Texture Folder Structure]]<br />
* [[Basic Material File]]<br />
<br />
== Links ==<br />
<br />
=== Photoshop ===<br />
<br />
* [http://developer.nvidia.com/object/photoshop_dds_plugins.html nVidia Normal Map PlugIn]<br />
<br />
=== Gimp ===<br />
<br />
* [http://nifelheim.dyndns.org/~cocidius/normalmap/ GIMP normalmap plugin]<br />
* [http://www.manucornet.net/Informatique/Texturize.php#download GIMP texturize plugin *THIS IS AMAZING*]<br />
* [http://registry.gimp.org/plugin?id=4816 Gimp DDS plugin]<br />
<br />
=== Assorted tutorials ===<br />
<br />
* [http://www.doom3world.org/phpbb2/viewtopic.php?t=11893 Doom3World texture tutorials]<br />
* [http://www.quake3bits.com/htm/tutorials/creating_bumpmaps_from_images.htm Kat's normal-map making tutorial]<br />
* [http://www.gimp.org/tutorials/Tileable_Textures/ Quick GIMP tutorial for tileable textures]<br />
* [http://www.stormvision.net/index.cfm/act/tutorials/tutorial_ID/1 Another tileable texture tutorial]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Textures&diff=11843Textures2010-12-27T12:30:18Z<p>Stifu: </p>
<hr />
<div>{{index-page|category=Textures|topic=textures}}<br />
This page contains articles and links related to making/importing textures, editing .mtr files and others related to the mod.<br />
<br />
== Making Textures ==<br />
* [[Texture Creation - Basic Tutorial]]<br />
* [[DDS creation]]<br />
* '''[[How to add Textures to The Dark Mod]]''' ''-- (Overall Information and Guides)''<br />
* '''[[Texture Guidelines]]''' ''-- (Info on our hi-res repository, and what sizes to use for textures)''<br />
* '''[[Texture Folder Structure]]''' ''-- (Where to save new textures)''<br />
* Basic Texture Information: http://www.modwiki.net/wiki/Texturing<br />
* [[Common Texture Mistakes]]<br />
* [[Texture Sources]] ''-- (Good places to find source textures and photos)''<br />
* [[How to give Textures a nice Glow]]<br />
=== Diffusemaps ===<br />
* [[Advanced Tips for Creating Diffusemaps]]<br />
* [[Remove Shadows in Source Images]]<br />
=== Normalmaps ===<br />
* [[Normalmaps, How to Make Good Ones]]<br />
* [[No more Heightmaps]] ''-- (Basic info for turning a heightmap into a normalmap)''<br />
* [[Wall Texture Tutorial]] ''-- (How to make good normalmaps with Maya)''<br />
* [[Creating Textures with Normals out of Models]] ''-- (More info on using modeling software to make normalmaps)''<br />
* [[Inverse Normalmaps]] ''-- (A way to check if your normalmaps are correct)''<br />
* [[Inverting Normalmaps]] ''-- (How to fix them if they aren't correct)''<br />
<br />
== Material Files ==<br />
''(Material files tell D3 what to do with your texture images. Without one, your texture will not work)''<br />
* [[Basic Material File]] ''-- (How to get a new texture in game)''<br />
* [[Surface Types]] ''-- (How to tell the engine whether your surface is stone, wood, grass, etc)''<br />
* [[Making Semi-transparent textures]]<br />
* [[Detail Textures]]<br />
<br />
== Textures for Models ==<br />
* [[Creating Multiple Skins For A Model]] ''-- (How to swap different textures on the same model)''<br />
* [[DrVertexBlend (tutorial)]] ''--(How to create smooth transitions between textures: Vertex Blending)''<br />
* [[Turning Shadows Off]] '' -- (How to turn shadows off to varying degrees)''<br />
<br />
== Other ==<br />
* [[Fast Re-Texturing of your Map]]<br />
* [[Grey Border Around Transparent GUI]] ''-- (sometimes transparent .tgas have an unwanted grey border)''<br />
* [[How To Make Your Own Visportal-texture]]<br />
<br />
{{textures}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=DrVertexBlend_(tutorial)&diff=11842DrVertexBlend (tutorial)2010-12-27T12:26:01Z<p>Stifu: </p>
<hr />
<div><span style="color:red">Please note that images displaying material definitions are outdated. Consult the article [[Virtual Ambient Light Textures]] for correct information.</span><br />
<br />
[[Image:VertexBlendExample.jpg|400px|thumb|right|Example: Vertex blending in NHAT3]]<br />
<br />
This tutorial explains how to add vertex blending to your level-geometry with the help of Blender. Vertex blending is a technique that enables the leveldesigner create smooth transitions between two different textures as shown on the example image on the right. In order to achieve this effect, the level-geometry built in DarkRadiant is exported to Blender and the vertices are colored according to the desired blending behavior. Afterwards the object can be used as a model.<br />
<br />
=Vertex Painted ASE Models with DarkRadiant and Blender 2.53=<br />
<br />
For the level designer who is not comfortable in a modeling package I've written a series of ASE import and export plugins so that you might benefit from vertex blending or coloring in your maps.<br />
<br />
These plugins will not absolve you of a modeling application completely however they will spare you from modeling and uv mapping. Essentially the entire process has been reduced to four steps.<br />
<br />
#Export map geometry from DarkRadiant<br />
#Import resulting .ASE into Blender<br />
#Switch to vertex paint mode and paint<br />
#Export object(s) from Blender<br />
<br />
It is assumed you already have DarkRadiant 1.4 and Blender 2.53 installed.<br />
<br />
===Required Plugins===<br />
*DarkRadiant ASE Export<br />
*[https://docs.google.com/leaf?id=0B3KUZe06PPyDM2FhMGQ1YjYtNDVhYy00Y2I4LWI5OWEtMWE1Njg3ZTYzZmVh&hl=en Blender 2.53 ASE Import]<br />
*[https://docs.google.com/leaf?id=0B3KUZe06PPyDYjI2ZDAxYmYtN2I3NS00MjFkLTkyNTAtOGFjYTI4MzQ3MzQ5&hl=en Blender 2.53 ASE Export]<br />
<br />
The DarkRadiant ASE Export plugin is bundled with DarkRadiant and will not need to be installed.<br />
<br />
==Plugin Installation==<br />
<br />
Due to discrepancies that arise depending on what operating system you are using, whether you are using the 32-bit or 64-bit versions of Blender, and installation options, the full path for installation may vary.<br />
<br />
===Blender 2.53===<br />
<br />
The Blender 2.53 ASE Import and Export plugins (import_ase.py and export_ase.py) should be placed in the relative path below.<br />
<br />
...\scripts\io<br />
<br />
If you have difficulty finding this location on your system you can perform a search for any of the following files.<br />
<br />
engine_render_pov.py<br />
export_3ds.py<br />
export_fbx.py<br />
export_mdd.py<br />
export_obj.py<br />
export_ply.py<br />
export_x3d.py<br />
import_anim_bvh.py<br />
import_scene_3ds.py<br />
import_scene_obj.py<br />
import_shape_mdd.py<br />
<br />
Once you have placed '''import_ase.py''' and '''export_ase.py''' in the location described above you can verify installation by starting Blender 2.53. If '''Ascii Scene Export (.ASE)''' is available in the '''File > Import''' and '''File > Export''' menus, installation was successful.<br />
<br />
==Exporting Geometry From DarkRadiant==<br />
<br />
Only brushes and patches may be exported using '''Export ASE...''' from DarkRadiant. This excludes entities comprised of brushes and patches. If you intend to export such an entity please revert it to worldspawn first.<br />
<br />
Also it should be mentioned that at the time of this writing, The Dark Mod does not appear to come with many if any vertex blended or vertex colored material shaders. If you intend to use such a material, you'll need to use one from Doom 3 or create a new one before you reach this step.<br />
<br />
If you don't know how to create such a material you'll find a brief description of the process in Appendix B at the end of this document.<br />
<br />
Assuming you have DarkRadiant open, you have created or loaded the map geometry you intend to export, and vertex blended or colored material shaders are applied to your satisfaction, perform the following steps.<br />
<br />
#Select the brushes and patches for export.<br/>[[Image:Step2.1.PNG]]<br />
#Select Scripts > Export ASE...<br/>[[Image:Step2.2.PNG]]<br />
#In the filename textbox enter a filename.<br/>[[Image:Step2.3.PNG]]<br />
#In the path textbox enter the path or use the elipsis button on the right side of the text box to browse for a folder.<br/>[[Image:Step2.4.PNG]]<br />
#Click the OK button.<br/><br />
<br />
If export was successful you will find a file with the name you've specified at the location specified. If you attempt to overwrite the file you will be prompted to confirm or cancel the operation.<br />
<br />
If for some reason there was a problem no file will be exported and an error message will be present in the console.<br />
<br />
==Importing the .ASE into Blender 2.53==<br />
<br />
When starting Blender you will be presented with the default layout which includes a scene with a camera, light, and cube primative in the main viewport.<br />
<br />
[[Image:Step3general1.PNG|800px]]<br />
<br />
The cube should be highlighted in orange to identify it as being selected. If not right click it. Press x to delete it from the scene.<br />
<br />
[[Image:Step3general2.PNG]]<br />
<br />
With the cube removed, perform the following steps.<br />
<br />
#Click File > Import > Ascii Scene Export (.ASE) to open the file browser.<br/>[[Image:Step3.1.PNG]]<br />
#Navigate to the location of the .ASE exported in the previous section and select the file.<br/>[[Image:Step3.2.PNG]]<br />
#Click the Import ASE button in the top right corner.<br/>[[Image:Step3.3.PNG]]<br />
<br />
If import was successful familiar geometry should appear in the main viewport and be reflected in the outliner. Take care that if you were to switch to textured mode, no texture would appear on the model. But rest assured that the material shaders applied in DarkRadiant have been preserved.<br />
<br />
[[Image:Step3general3.PNG]]<br />
<br />
The reason for this is because a material shader as used in the idTech 4 engine is not an image as Blender expects all textures to be. Instead, it is a declaration which references several images along side other game assets. Take note that in the image below, the texture panel is making reference to a non-existant image texture. This reference "textures/rock/newdarkrockblend" does not represent a file named newdarkrockblend in a folder called textures/rock. This is in fact the full name of a material shader.<br />
<br />
[[Image:Step3general4.PNG]]<br />
<br />
While it is theoretically possible to give the script the ability to read the contents of .pk4 files, load the contents of .mtr files, identify the specified material shader, and extract/convert the required image files so that they may be loaded into Blender, it is not required for vertex painting.<br />
<br />
In the future such functionality may be incoorporated into the script but as it stands, it is not too much to ask that you refrain from playing with texture settings within Blender unless you know what you are doing.<br />
<br />
It is important to note that brushes with multiple textures are exported as separate objects within a single .ASE file. Although the .ASE format supports unique textures per-face, idTech 4 does not so spliting faces into separate objects is required.<br />
<br />
If there were any problems during import or it appears parts of the model are missing, check the console which would be the DOS or BASH terminal running in the background for error messages. If you encounter a problem please share the full contents of the console and the .ASE so that I can fix it.<br />
<br />
[[Image:Step3general5.PNG]]<br />
<br />
==Vertex Painting Each Object==<br />
<br />
For each mesh object in your scene you plan to vertex paint, perform the following steps.<br />
<br />
#Right click the object to select it.<br/>[[Image:Step4.1.PNG]]<br />
#Press the period key on your numpad to focus the viewport on the selection.<br/>[[Image:Step4.2.PNG]]<br />
#Select Vertex Paint mode from the mode selection box at the bottom of the main viewport.<br/>[[Image:Step4.3.PNG]]<br />
#Using the following controls, paint the vertices of the selected object.<br />
#*the middle mouse button to rotate<br />
#*the shift key and middle mouse button to pan<br />
#*the mouse wheel to zoom<br />
#*the color wheel on the left for color selection<br />
#*the left mouse button to paint<br />
[[Image:Step4general2.PNG]][[Image:Step4general1.PNG]]<br />
<br />
Vertex blending is when two textures are blended based on the color of the underlying vertices. idTech 4 dictates that you use white to represent one texture and black to represent the other. Gray values are used to gradually blend between the two.<br />
<br />
Vertex coloring is when one texture is tinted based on the color of the underlying vertices. You are not restricted in color usage although I am hard pressed to find a use for this. Technically you could paint shadows and the like on a mesh provided the geometry was dense enough.<br />
<br />
==Exporting Objects from Blender 2.53==<br />
<br />
If you've created any new geometry within Blender it must be uv mapped and assigned a material before you can export. A brief explanation will be covered in Appendix A at the end of this document.<br />
<br />
That said, if you've been following the tutorial and the objects in the scene are vertex painted to your satisfaction you are ready to export.<br />
<br />
To make your selection visible it's best to change the mode from vertex paint to object mode. Right click each mesh object in your scene and choose object mode from the mode selection box.<br />
<br />
[[Image:Step5general1.PNG]] <br />
<br />
Now you are prepared to export a group selection of objects.<br />
<br />
#Right click to select a mesh object.<br/>[[Image:Step5.1.PNG]]<br />
#Hold shift and right click each mesh object to add it to the selection.<br />
#With everything you intend to export selected, click File > Export > Ascii Scene Export (.ASE)<br/>[[Image:Step5.3.PNG]]<br />
#Navigate to the location you wish to export and type a unique filename in the filename text box.<br/>[[Image:Step5.4.PNG]]<br />
#Click the Export ASE button in the top right corner.<br/>[[Image:Step5.5.PNG]]<br />
<br />
If export was successful a file with the name specified will appear in the location specified. If you attempt to overwrite an existing file the plugin will abort.<br />
<br />
If no file exists check the console to ensure no problems were encountered during export. Now you should be able to copy the resulting .ASE file into the appropriate location along with your mod assets and use it in your map(s).<br />
<br />
[[Image:Step5general2.PNG]]<br />
<br />
=Appendix A. Preparing a Native Object for Export=<br />
<br />
If you've created objects within Blender, it is not enough to simply export them as you would with something you've imported from DarkRadiant.<br />
<br />
The distinction is in the fact that brushes and patches exported to .ase from DarkRadiant are already UV mapped and have a material applied while objects created within Blender do not.<br />
<br />
===UV Mapping===<br />
<br />
[[Image:Cube Representative UV Unwrapping.png|800px]]<br />
<br />
UV mapping is best explained through an analogy. Imagine you have a box and you want to lay it flat and run it through your printer to apply a texture to it. Obviously the box isn't going to lay flat unless you pull it apart at the seams.<br />
<br />
UV mapping is the process of marking the seams on your object and commanding Blender to unwrap it. Once an object has been UV mapped, you've essentially given Blender and more importantly idTech 4 instructions on where parts of a 2D texture should appear on the 3D model.<br />
<br />
For the purposes of this section the example object will be a cube.<br />
<br />
#On the menu bar immediately to the right of the help menu is the layout dropdown box. Change the layout to UV editing.<br/>[[Image:Astep1.PNG]]<br />
#Right click your object in the 3D viewport to select it and toggle edit mode.<br/>[[Image:Astep2.PNG]]<br />
#Change the selection mode to edge and press the a key to deselect everything.<br/>[[Image:Astep3.PNG]]<br />
#Use right click followed by shift and right click to select a few edges to designate as seams.<br/>[[Image:Astep4.PNG]]<br />
#On the tool shelf to the left of the 3D viewport under UV mapping select Mark Seams.<br/>[[Image:Astep5.PNG]]<br />
#Repeat this process until you are satisfied. It may help to turn wireframe mode on so you can see the seams on all sides of the model.<br/>[[Image:Astep6.PNG]]<br />
#In the 3D viewport press the a key to select all.<br/>[[Image:Astep7.PNG]]<br />
#On the tool shelf to the left of the 3D viewport under UV mapping select Unwrap > Unwrap. The unfolded version of your cube should appear in the UV editor on the left.<br/>[[Image:Astep8a.PNG]][[Image:Astep8b.PNG]]<br />
#On the menu bar immediately to the right of the help menu is the layout dropdown box. Change the layout to Default.<br/>[[Image:Astep9.PNG]]<br />
#The seams are no longer needed. You may clear them by selecting all with the a key followed by clicking the clear seams button on the toolbar to the left of the 3D viewport under UV mapping.<br/>[[Image:Astep10.PNG]]<br />
<br />
===Applying a Material===<br />
<br />
Applying a material is important as well as it's where the export script learns what material shader to apply to each object.<br />
<br />
#Change back to object mode using the mode selection box.<br/>[[Image:Aastep1.PNG]]<br />
#Ensure the cube is selected and open the material properties on the right.<br/>[[Image:Aastep2.PNG]]<br />
#Add a new material to the object.<br/>[[Image:Aastep3.PNG]]<br />
#Open the texture properties and select the first texture channel.<br/>[[Image:Aastep4.PNG]]<br />
#Change the type to image.<br/>[[Image:Aastep5.PNG]]<br />
#Scroll down to the image properties and add a new image.<br/>[[Image:Aastep6.PNG]]<br />
#Change the source to file.<br/>[[Image:Aastep7.PNG]]<br />
#In the file name text box type the full material shader name.<br/>[[Image:Aastep8.PNG]]<br />
<br />
At this point the object should be ready for export. If you have multiple objects you'd like to export as an .ASE you'll need to uv map and apply a material to them separately.<br />
<br />
=Appendix B. Preparing Vertex Blended or Colored Material Shaders=<br />
<br />
Generally this is a matter of opening up one or multiple material shader(s), mixing and matching portions of them, making a few modifications, and saving the newly created material shader with a unique name.<br />
<br />
In section four I outlined the difference between vertex blended and vertex colored material shaders. I'm going to assume you've grasped the concept and know which of the two you're after.<br />
<br />
It would also be of great benefit if you studied the texturing documentation available here along with a few existing materials that make use of vertex colors like textures/rock/dirt03_sharprock3.<br />
<br />
===Vertex Blended===<br />
<br />
#Open DarkRadiant along with a plain text editor like notepad.<br />
#In the media browser identify the first material you'd like to use.<br/>[[Image:Bstep2.PNG|800px]]<br />
#Right click it and select show shader definition.<br/>[[Image:Bstep3.PNG]]<br />
#Copy the text that makes up the material shader into your text editor.<br/>[[Image:Bstep4.PNG|800px]]<br />
#Repeat this process for a second material adding the additional text to the bottom.<br />
#In your text editor break any diffusemap, bumpmap, or specularmap keywords into stages.<br/>[[Image:Bstep6a.PNG|400px]][[Image:Bstep6b.PNG|400px]]<br />
#Remove any image processing keywords like addheightmap if present so only the most logical image reference remains.<br />
#In the first material shader, add the keyword vertexColor to each stage.<br/>[[Image:Bstep8.PNG]]<br />
#In the second material shader, add the keyword inverseVertexColor to each stage.<br/>[[Image:Bstep9.PNG]]<br />
#Cut and paste the stages from the second material shader into the end of the first.<br/>[[Image:Bstep10.PNG]]<br />
#Delete the remnants of the second material shader.<br />
#Rename the remaining material shader so that it has a unique name.<br/>[[Image:Bstep12.PNG]]<br />
#Save it as an .mtr file.<br/>[[Image:Bstep13.PNG]]<br />
#Place it in the materials subfolder within your mod directory.<br />
<br />
===Vertex Colored===<br />
<br />
#Open DarkRadiant along with a text editor.<br />
#In the media browser identify the material you'd like to use.<br/>[[Image:Bbstep2.PNG|800px]]<br />
#Right click it and select show shader definition.<br/>[[Image:Bbstep3.PNG]]<br />
#Copy the material shader into your text editor.<br/>[[Image:Bbstep4.PNG|800px]]<br />
#In your text editor break the diffusemap keyword if present, into a stage.<br/>[[Image:Bbstep5a.PNG|400px]][[Image:Bbstep5b.PNG|400px]]<br />
#Add the keyword vertexColor to the diffuse stage.<br/>[[Image:Bbstep6.PNG]]<br />
#Rename the modified material shader so that it has a unique name.<br/>[[Image:Bbstep7.PNG]]<br />
#Save it as an .mtr file.<br/>[[Image:Bbstep8.PNG]]<br />
#Place it in the materials subfolder within your mod directory.<br />
<br />
[[Category:Editing]]<br />
[[Category:DarkRadiant]]<br />
[[Category:Documentation]]<br />
[[Category:Models]]<br />
[[Category:Texture Tutorials]]<br />
[[Category:Tutorial]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=DrVertexBlend_(tutorial)&diff=11841DrVertexBlend (tutorial)2010-12-27T12:22:29Z<p>Stifu: Added an example image, a note about outdated material definitions and a short summary to explain vertex blending</p>
<hr />
<div><span style="color:red">Please note that images displaying material definitions are outdated. Consult the article [[Virtual Ambient Light Textures]] for correct information.</span><br />
<br />
[[Image:VertexBlendExample.jpg|right|Example: Vertex blending in NHAT3]]<br />
<br />
This tutorial explains how to add vertex blending to your level-geometry with the help of Blender. Vertex blending is a technique that enables the leveldesigner create smooth transitions between two different textures as shown on the example image on the right. In order to achieve this effect, the level-geometry built in DarkRadiant is exported to Blender and the vertices are colored according to the desired blending behavior. Afterwards the object can be used as a model.<br />
<br />
=Vertex Painted ASE Models with DarkRadiant and Blender 2.53=<br />
<br />
For the level designer who is not comfortable in a modeling package I've written a series of ASE import and export plugins so that you might benefit from vertex blending or coloring in your maps.<br />
<br />
These plugins will not absolve you of a modeling application completely however they will spare you from modeling and uv mapping. Essentially the entire process has been reduced to four steps.<br />
<br />
#Export map geometry from DarkRadiant<br />
#Import resulting .ASE into Blender<br />
#Switch to vertex paint mode and paint<br />
#Export object(s) from Blender<br />
<br />
It is assumed you already have DarkRadiant 1.4 and Blender 2.53 installed.<br />
<br />
===Required Plugins===<br />
*DarkRadiant ASE Export<br />
*[https://docs.google.com/leaf?id=0B3KUZe06PPyDM2FhMGQ1YjYtNDVhYy00Y2I4LWI5OWEtMWE1Njg3ZTYzZmVh&hl=en Blender 2.53 ASE Import]<br />
*[https://docs.google.com/leaf?id=0B3KUZe06PPyDYjI2ZDAxYmYtN2I3NS00MjFkLTkyNTAtOGFjYTI4MzQ3MzQ5&hl=en Blender 2.53 ASE Export]<br />
<br />
The DarkRadiant ASE Export plugin is bundled with DarkRadiant and will not need to be installed.<br />
<br />
==Plugin Installation==<br />
<br />
Due to discrepancies that arise depending on what operating system you are using, whether you are using the 32-bit or 64-bit versions of Blender, and installation options, the full path for installation may vary.<br />
<br />
===Blender 2.53===<br />
<br />
The Blender 2.53 ASE Import and Export plugins (import_ase.py and export_ase.py) should be placed in the relative path below.<br />
<br />
...\scripts\io<br />
<br />
If you have difficulty finding this location on your system you can perform a search for any of the following files.<br />
<br />
engine_render_pov.py<br />
export_3ds.py<br />
export_fbx.py<br />
export_mdd.py<br />
export_obj.py<br />
export_ply.py<br />
export_x3d.py<br />
import_anim_bvh.py<br />
import_scene_3ds.py<br />
import_scene_obj.py<br />
import_shape_mdd.py<br />
<br />
Once you have placed '''import_ase.py''' and '''export_ase.py''' in the location described above you can verify installation by starting Blender 2.53. If '''Ascii Scene Export (.ASE)''' is available in the '''File > Import''' and '''File > Export''' menus, installation was successful.<br />
<br />
==Exporting Geometry From DarkRadiant==<br />
<br />
Only brushes and patches may be exported using '''Export ASE...''' from DarkRadiant. This excludes entities comprised of brushes and patches. If you intend to export such an entity please revert it to worldspawn first.<br />
<br />
Also it should be mentioned that at the time of this writing, The Dark Mod does not appear to come with many if any vertex blended or vertex colored material shaders. If you intend to use such a material, you'll need to use one from Doom 3 or create a new one before you reach this step.<br />
<br />
If you don't know how to create such a material you'll find a brief description of the process in Appendix B at the end of this document.<br />
<br />
Assuming you have DarkRadiant open, you have created or loaded the map geometry you intend to export, and vertex blended or colored material shaders are applied to your satisfaction, perform the following steps.<br />
<br />
#Select the brushes and patches for export.<br/>[[Image:Step2.1.PNG]]<br />
#Select Scripts > Export ASE...<br/>[[Image:Step2.2.PNG]]<br />
#In the filename textbox enter a filename.<br/>[[Image:Step2.3.PNG]]<br />
#In the path textbox enter the path or use the elipsis button on the right side of the text box to browse for a folder.<br/>[[Image:Step2.4.PNG]]<br />
#Click the OK button.<br/><br />
<br />
If export was successful you will find a file with the name you've specified at the location specified. If you attempt to overwrite the file you will be prompted to confirm or cancel the operation.<br />
<br />
If for some reason there was a problem no file will be exported and an error message will be present in the console.<br />
<br />
==Importing the .ASE into Blender 2.53==<br />
<br />
When starting Blender you will be presented with the default layout which includes a scene with a camera, light, and cube primative in the main viewport.<br />
<br />
[[Image:Step3general1.PNG|800px]]<br />
<br />
The cube should be highlighted in orange to identify it as being selected. If not right click it. Press x to delete it from the scene.<br />
<br />
[[Image:Step3general2.PNG]]<br />
<br />
With the cube removed, perform the following steps.<br />
<br />
#Click File > Import > Ascii Scene Export (.ASE) to open the file browser.<br/>[[Image:Step3.1.PNG]]<br />
#Navigate to the location of the .ASE exported in the previous section and select the file.<br/>[[Image:Step3.2.PNG]]<br />
#Click the Import ASE button in the top right corner.<br/>[[Image:Step3.3.PNG]]<br />
<br />
If import was successful familiar geometry should appear in the main viewport and be reflected in the outliner. Take care that if you were to switch to textured mode, no texture would appear on the model. But rest assured that the material shaders applied in DarkRadiant have been preserved.<br />
<br />
[[Image:Step3general3.PNG]]<br />
<br />
The reason for this is because a material shader as used in the idTech 4 engine is not an image as Blender expects all textures to be. Instead, it is a declaration which references several images along side other game assets. Take note that in the image below, the texture panel is making reference to a non-existant image texture. This reference "textures/rock/newdarkrockblend" does not represent a file named newdarkrockblend in a folder called textures/rock. This is in fact the full name of a material shader.<br />
<br />
[[Image:Step3general4.PNG]]<br />
<br />
While it is theoretically possible to give the script the ability to read the contents of .pk4 files, load the contents of .mtr files, identify the specified material shader, and extract/convert the required image files so that they may be loaded into Blender, it is not required for vertex painting.<br />
<br />
In the future such functionality may be incoorporated into the script but as it stands, it is not too much to ask that you refrain from playing with texture settings within Blender unless you know what you are doing.<br />
<br />
It is important to note that brushes with multiple textures are exported as separate objects within a single .ASE file. Although the .ASE format supports unique textures per-face, idTech 4 does not so spliting faces into separate objects is required.<br />
<br />
If there were any problems during import or it appears parts of the model are missing, check the console which would be the DOS or BASH terminal running in the background for error messages. If you encounter a problem please share the full contents of the console and the .ASE so that I can fix it.<br />
<br />
[[Image:Step3general5.PNG]]<br />
<br />
==Vertex Painting Each Object==<br />
<br />
For each mesh object in your scene you plan to vertex paint, perform the following steps.<br />
<br />
#Right click the object to select it.<br/>[[Image:Step4.1.PNG]]<br />
#Press the period key on your numpad to focus the viewport on the selection.<br/>[[Image:Step4.2.PNG]]<br />
#Select Vertex Paint mode from the mode selection box at the bottom of the main viewport.<br/>[[Image:Step4.3.PNG]]<br />
#Using the following controls, paint the vertices of the selected object.<br />
#*the middle mouse button to rotate<br />
#*the shift key and middle mouse button to pan<br />
#*the mouse wheel to zoom<br />
#*the color wheel on the left for color selection<br />
#*the left mouse button to paint<br />
[[Image:Step4general2.PNG]][[Image:Step4general1.PNG]]<br />
<br />
Vertex blending is when two textures are blended based on the color of the underlying vertices. idTech 4 dictates that you use white to represent one texture and black to represent the other. Gray values are used to gradually blend between the two.<br />
<br />
Vertex coloring is when one texture is tinted based on the color of the underlying vertices. You are not restricted in color usage although I am hard pressed to find a use for this. Technically you could paint shadows and the like on a mesh provided the geometry was dense enough.<br />
<br />
==Exporting Objects from Blender 2.53==<br />
<br />
If you've created any new geometry within Blender it must be uv mapped and assigned a material before you can export. A brief explanation will be covered in Appendix A at the end of this document.<br />
<br />
That said, if you've been following the tutorial and the objects in the scene are vertex painted to your satisfaction you are ready to export.<br />
<br />
To make your selection visible it's best to change the mode from vertex paint to object mode. Right click each mesh object in your scene and choose object mode from the mode selection box.<br />
<br />
[[Image:Step5general1.PNG]] <br />
<br />
Now you are prepared to export a group selection of objects.<br />
<br />
#Right click to select a mesh object.<br/>[[Image:Step5.1.PNG]]<br />
#Hold shift and right click each mesh object to add it to the selection.<br />
#With everything you intend to export selected, click File > Export > Ascii Scene Export (.ASE)<br/>[[Image:Step5.3.PNG]]<br />
#Navigate to the location you wish to export and type a unique filename in the filename text box.<br/>[[Image:Step5.4.PNG]]<br />
#Click the Export ASE button in the top right corner.<br/>[[Image:Step5.5.PNG]]<br />
<br />
If export was successful a file with the name specified will appear in the location specified. If you attempt to overwrite an existing file the plugin will abort.<br />
<br />
If no file exists check the console to ensure no problems were encountered during export. Now you should be able to copy the resulting .ASE file into the appropriate location along with your mod assets and use it in your map(s).<br />
<br />
[[Image:Step5general2.PNG]]<br />
<br />
=Appendix A. Preparing a Native Object for Export=<br />
<br />
If you've created objects within Blender, it is not enough to simply export them as you would with something you've imported from DarkRadiant.<br />
<br />
The distinction is in the fact that brushes and patches exported to .ase from DarkRadiant are already UV mapped and have a material applied while objects created within Blender do not.<br />
<br />
===UV Mapping===<br />
<br />
[[Image:Cube Representative UV Unwrapping.png|800px]]<br />
<br />
UV mapping is best explained through an analogy. Imagine you have a box and you want to lay it flat and run it through your printer to apply a texture to it. Obviously the box isn't going to lay flat unless you pull it apart at the seams.<br />
<br />
UV mapping is the process of marking the seams on your object and commanding Blender to unwrap it. Once an object has been UV mapped, you've essentially given Blender and more importantly idTech 4 instructions on where parts of a 2D texture should appear on the 3D model.<br />
<br />
For the purposes of this section the example object will be a cube.<br />
<br />
#On the menu bar immediately to the right of the help menu is the layout dropdown box. Change the layout to UV editing.<br/>[[Image:Astep1.PNG]]<br />
#Right click your object in the 3D viewport to select it and toggle edit mode.<br/>[[Image:Astep2.PNG]]<br />
#Change the selection mode to edge and press the a key to deselect everything.<br/>[[Image:Astep3.PNG]]<br />
#Use right click followed by shift and right click to select a few edges to designate as seams.<br/>[[Image:Astep4.PNG]]<br />
#On the tool shelf to the left of the 3D viewport under UV mapping select Mark Seams.<br/>[[Image:Astep5.PNG]]<br />
#Repeat this process until you are satisfied. It may help to turn wireframe mode on so you can see the seams on all sides of the model.<br/>[[Image:Astep6.PNG]]<br />
#In the 3D viewport press the a key to select all.<br/>[[Image:Astep7.PNG]]<br />
#On the tool shelf to the left of the 3D viewport under UV mapping select Unwrap > Unwrap. The unfolded version of your cube should appear in the UV editor on the left.<br/>[[Image:Astep8a.PNG]][[Image:Astep8b.PNG]]<br />
#On the menu bar immediately to the right of the help menu is the layout dropdown box. Change the layout to Default.<br/>[[Image:Astep9.PNG]]<br />
#The seams are no longer needed. You may clear them by selecting all with the a key followed by clicking the clear seams button on the toolbar to the left of the 3D viewport under UV mapping.<br/>[[Image:Astep10.PNG]]<br />
<br />
===Applying a Material===<br />
<br />
Applying a material is important as well as it's where the export script learns what material shader to apply to each object.<br />
<br />
#Change back to object mode using the mode selection box.<br/>[[Image:Aastep1.PNG]]<br />
#Ensure the cube is selected and open the material properties on the right.<br/>[[Image:Aastep2.PNG]]<br />
#Add a new material to the object.<br/>[[Image:Aastep3.PNG]]<br />
#Open the texture properties and select the first texture channel.<br/>[[Image:Aastep4.PNG]]<br />
#Change the type to image.<br/>[[Image:Aastep5.PNG]]<br />
#Scroll down to the image properties and add a new image.<br/>[[Image:Aastep6.PNG]]<br />
#Change the source to file.<br/>[[Image:Aastep7.PNG]]<br />
#In the file name text box type the full material shader name.<br/>[[Image:Aastep8.PNG]]<br />
<br />
At this point the object should be ready for export. If you have multiple objects you'd like to export as an .ASE you'll need to uv map and apply a material to them separately.<br />
<br />
=Appendix B. Preparing Vertex Blended or Colored Material Shaders=<br />
<br />
Generally this is a matter of opening up one or multiple material shader(s), mixing and matching portions of them, making a few modifications, and saving the newly created material shader with a unique name.<br />
<br />
In section four I outlined the difference between vertex blended and vertex colored material shaders. I'm going to assume you've grasped the concept and know which of the two you're after.<br />
<br />
It would also be of great benefit if you studied the texturing documentation available here along with a few existing materials that make use of vertex colors like textures/rock/dirt03_sharprock3.<br />
<br />
===Vertex Blended===<br />
<br />
#Open DarkRadiant along with a plain text editor like notepad.<br />
#In the media browser identify the first material you'd like to use.<br/>[[Image:Bstep2.PNG|800px]]<br />
#Right click it and select show shader definition.<br/>[[Image:Bstep3.PNG]]<br />
#Copy the text that makes up the material shader into your text editor.<br/>[[Image:Bstep4.PNG|800px]]<br />
#Repeat this process for a second material adding the additional text to the bottom.<br />
#In your text editor break any diffusemap, bumpmap, or specularmap keywords into stages.<br/>[[Image:Bstep6a.PNG|400px]][[Image:Bstep6b.PNG|400px]]<br />
#Remove any image processing keywords like addheightmap if present so only the most logical image reference remains.<br />
#In the first material shader, add the keyword vertexColor to each stage.<br/>[[Image:Bstep8.PNG]]<br />
#In the second material shader, add the keyword inverseVertexColor to each stage.<br/>[[Image:Bstep9.PNG]]<br />
#Cut and paste the stages from the second material shader into the end of the first.<br/>[[Image:Bstep10.PNG]]<br />
#Delete the remnants of the second material shader.<br />
#Rename the remaining material shader so that it has a unique name.<br/>[[Image:Bstep12.PNG]]<br />
#Save it as an .mtr file.<br/>[[Image:Bstep13.PNG]]<br />
#Place it in the materials subfolder within your mod directory.<br />
<br />
===Vertex Colored===<br />
<br />
#Open DarkRadiant along with a text editor.<br />
#In the media browser identify the material you'd like to use.<br/>[[Image:Bbstep2.PNG|800px]]<br />
#Right click it and select show shader definition.<br/>[[Image:Bbstep3.PNG]]<br />
#Copy the material shader into your text editor.<br/>[[Image:Bbstep4.PNG|800px]]<br />
#In your text editor break the diffusemap keyword if present, into a stage.<br/>[[Image:Bbstep5a.PNG|400px]][[Image:Bbstep5b.PNG|400px]]<br />
#Add the keyword vertexColor to the diffuse stage.<br/>[[Image:Bbstep6.PNG]]<br />
#Rename the modified material shader so that it has a unique name.<br/>[[Image:Bbstep7.PNG]]<br />
#Save it as an .mtr file.<br/>[[Image:Bbstep8.PNG]]<br />
#Place it in the materials subfolder within your mod directory.<br />
<br />
[[Category:Editing]]<br />
[[Category:DarkRadiant]]<br />
[[Category:Documentation]]<br />
[[Category:Models]]<br />
[[Category:Texture Tutorials]]<br />
[[Category:Tutorial]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=File:VertexBlendExample.jpg&diff=11840File:VertexBlendExample.jpg2010-12-27T12:16:20Z<p>Stifu: An example image for vertex blending. A shot from the FM "No Honor Among Anyone", the third and final part of the "No Honor Among Thieves" campaign.</p>
<hr />
<div>An example image for vertex blending. A shot from the FM "No Honor Among Anyone", the third and final part of the "No Honor Among Thieves" campaign.</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Virtual_Ambient_Light_Textures&diff=11839Virtual Ambient Light Textures2010-12-27T11:52:08Z<p>Stifu: Added further explanations and ambient stages for vertex-blended Materials</p>
<hr />
<div>To improve performance on some low-end systems, Dark Mod textures can simulate the main ambient light. This feature pre-calculates how much textures should be illuminated once only instead of continuously. Players can select between three methods for ambient rendering, so those with faster machines can use the true ambient light which gives better quality.<br />
<br />
'''So all textures should include these two stages:'''<br />
<br />
''Please note that there is also a command for automatically converting all materials to fulfill the TDM 1.03 requirements called tdm_batchConvertMaterials (see [[TDM Material Batch Conversion]])''<br />
<br />
<pre><br />
// TDM Ambient Method Related<br />
{<br />
if (global5 == 1)<br />
blend add<br />
map textures/darkmod/yourname // Diffuse<br />
scale 1, 1<br />
red global2<br />
green global3<br />
blue global4<br />
}<br />
{<br />
if (global5 == 2)<br />
blend add<br />
program ambientEnvironment.vfp<br />
vertexParm 0 1, 1, 1, 1 // UV Scales for Diffuse and Bump<br />
vertexParm 1 1, 1, 1, 1 // (X,Y) UV Scale for specular<br />
vertexParm 2 global2, global3, global4, 1<br />
<br />
fragmentMap 0 cubeMap env/gen1<br />
fragmentMap 1 textures/darkmod/yourname_local // Bump<br />
fragmentMap 2 textures/darkmod/yourname // Diffuse<br />
fragmentMap 3 textures/darkmod/yourname_s // Specular<br />
}<br />
</pre><br />
<br />
The first stage is for the simple ambient method, whereas the second one is for enhanced ambient rendering, which obviously also processes the normal- and specularmap of the material.<br />
<br />
If a material does not contain a specularmap, the fragmentMap parameter 3 in the enhanced ambient rendering stage has to be changed to _black, e.g. "textures/darkmod/yourname_s" becomes "_black". If on the contrary a material does not contain a normalmap, the proper replacement is "_flat", meaning a flat surface, e.g. "textures/darkmod/yourname_local" becomes "_flat".<br />
<br />
'''For [[DrVertexBlend (tutorial)|vertex-blended materials]], the ambient stages have to be altered in the following way:'''<br />
<pre><br />
// TDM Ambient Method Related <br />
{ <br />
if (global5 == 1) <br />
blend add <br />
map textures/darkmod/materialA // Diffuse A<br />
scale 1, 1 <br />
red global2 <br />
green global3 <br />
blue global4 <br />
vertexColor <br />
} <br />
{ <br />
if (global5 == 1) <br />
blend add <br />
map textures/darkmod/materialB // Diffuse B<br />
scale 1, 1 <br />
red global2 <br />
green global3 <br />
blue global4 <br />
inverseVertexColor <br />
} <br />
{ <br />
if (global5 == 2) <br />
blend add <br />
program ambientEnvVertexBlend.vfp <br />
vertexParm 0 1, 1, 1, 1 // UV Scales for Diffuse A and Bump A resp. <br />
vertexParm 1 1, 1, 1, 1 // UV Scale for specular A and Diffuse B resp.<br />
vertexParm 2 1, 1, 1, 1 // UV Scale for Bump B and specular B resp. <br />
vertexParm 3 global2, global3, global4, 1 <br />
//----------- VertexColored ------------------- <br />
fragmentMap 0 cubeMap env/gen1 <br />
fragmentMap 1 textures/darkmod/materialA_local // Bump A <br />
fragmentMap 2 textures/darkmod/materialA // Diffuse A<br />
fragmentMap 3 textures/darkmod/materialA_s // Specular A <br />
//----------- InverseVertexColored ------------ <br />
fragmentMap 4 textures/darkmod/materialB_local // Bump B <br />
fragmentMap 5 textures/darkmod/materialB // Diffuse B <br />
fragmentMap 6 textures/darkmod/materialB_s // Specular B<br />
}<br />
</pre><br />
<br />
[[Category:Textures]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=FAQ&diff=11833FAQ2010-12-26T20:22:53Z<p>Stifu: Updated to reflect the changes in TDM 1.03: Mostly removed references to bloom and replaced them with HDR-Lite Post-Processing</p>
<hr />
<div>{{important|headline=Important|text=This FAQ relates to the full TDM release version only. For players of the pre-release demos such as '''[[Thief's Den]]''' and '''[[Saint_Lucia|Tears of Saint Lucia]]''' please refer to the '''[[FAQ (Demo Releases)|Demo FAQ]]'''.'''}}<br />
<br />
== What Doom versions are supported? ==<br />
<br />
=== Can I use the Demo version of Doom 3? ===<br />
<br />
No, sorry.<br />
<br />
<br />
=== Can I use it with the Doom 3 expansion Resurrection of Evil? ===<br />
<br />
<br />
No, sorry.<br />
<br />
<br />
<br />
=== Does it run with the Steam version of Doom 3? ===<br />
<br />
Yes :) You need to install the mod into the directory where Steam put Doom3, this might be under:<br />
<br />
C:\Program Files\Steam\steamapps\common\doom 3<br />
<br />
or a similiar folder.<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
== Patching Doom 3 to verson 1.3.1.1304 ==<br />
<br />
=== How can I check whether my Doom 3 is correctly patched? ===<br />
<br />
Open Doom 3 and hit {{key|Ctrl}}+{{key|Alt}}+{{key|~}} (tilde, {{key|^}} on German keyboards) to open the console. You'll see the version printed in the lower left corner of the console. It should read '''1.3.1.1304'''. If your version is ending on 1302, you've got the wrong patch installed.<br />
<br />
=== Where can I get the right patch? ===<br />
<br />
We have the patch hosted on our FTP. See the [[Installation]] article to find a link to it.<br />
<br />
If you have version 1.3.1.1302, you may need to uninstall and reinstall before patch 1.3.1.1304 will let you apply it.<br />
<br />
=== What's that issue with the 1.3.1 patch? ===<br />
<br />
When the 1.3.1 patch was released by Id, they released it a bit too early. Some download sites picked it up quite fast though and started to distribute it. The problem is, that Id replaced that patch with a different one, and, probably thinking that it hadn't spread yet, didn't bother to change the version number. However, you can still find "wrong" 1.3.1 patches and these will not work with the mod. That's why it is important to check the version number in the console to make sure that the right 1.3.1 patch is installed if the mod doesn't work. The link provided here on our own page points to the correct patch, so if you downloaded it from here you don't need to worry about it.<br />
<br />
== Supported Operating Systems ==<br />
<br />
=== Which Windows versions can I use? ===<br />
<br />
The following versions of windows have been tested and are known to work : Windows 2000, Windows XP, Windows Vista, Windows 7, Windows Server 2008, Windows Server 2003 in both 32bit and 64bit flavours.<br />
<br />
=== Does it run in Linux? ===<br />
Yes, Linux is supported.<br />
<br />
=== Does it run in 64 Bit Linux? ===<br />
Yes, Linux 64 bit is supported. In addition to the steps above, you need 32 bit compatibility libraries, since Doom3 is 32 bit only:<br />
* On '''SuSE''', they should be included.<br />
* On Ubuntu/Kubuntu, install the package '''ia32'''.<br />
<br />
For TDM after 1.0, this step should be '''no''' longer neccessary:<br />
<br />
* Since you cannot install 32 bit libraries on a 64 bit system with the normal package manager, you should use [http://ubuntuforums.org/showthread.php?t=474790 getlibs] to install '''libmng''' and the boost filesystem lib:<br />
:<code>getlibs libmng.so.1</code><br />
:<code>getlibs -l libboost-filesystem1.34.1</code><br />
<br />
=== What about Gentoo? ===<br />
Yes. It's not "officially" supported (the team doesn't test it specifically), however several users have reported success running TDM under Gentoo.<br />
<br />
=== What about Ubuntu 8.10? ===<br />
Yes. As of this writing you will need to install the '''libboost-filesystem''' package.<br />
<br />
=== GLIBCXX_3.4.9 errors ===<br />
<br />
If you receive an error about <tt>GLIBCXX_3.4.9</tt>, delete or rename the files <code>/usr/local/games/doom3/libstdc++.so.6</code> and <code>/usr/local/games/doom3/libgcc_s.so.1.</code><br />
<br />
If this doesn't resolve the error and you have an old version of GCC, then you may have to upgrade. It has been [http://modetwo.net/darkmod/index.php?/topic/9982-the-dark-mod-doom3-in-linux/ confirmed] that, at least under Gentoo, GCC 4.1 does not work with TDM but GCC 4.3 and GCC 4.4 are compatible.<br />
<br />
=== Does it run on Mac OS X?===<br />
No. Or at least not yet. The Doom 3 game itself does support Mac OS X, but The Dark Mod currently does not because we don't have any developers who use Macs. If you can help us getting it to run on OS X, please [http://modetwo.net/darkmod/index.php?showforum=11 let us know on the forum].<br />
<br />
Since TDM works on Linux already, getting it working on OS X should not be too difficult for anyone with experience programming for that platform. In theory it's just a question of figuring out how to build the mod, sorting out dependencies, and writing a few pieces of platform-specific code.<br />
<br />
== Graphics ==<br />
<br />
=== Does TDM support widescreen resolutions? ===<br />
<br />
Yes. Choose "16:9" or "16:10" in the in-game ''Settings'' menu, and select the appropriate resolution. Note that you need to restart the game to have the new setting in effect.<br />
<br />
If the native resolution of your wide screen monitor is not listed, you can enter it into '''DoomConfig.cfg''' by changing the following entries like so:<br />
<br />
set r_mode -1<br />
set r_customwidth 1280<br />
set r_customheight 800<br />
<br />
Note that if you get performance problems, please consider using a lower resolution and taking a look at [[Performance Tweaks]].<br />
<br />
== Troubleshooting ==<br />
<br />
It is hard to answer question on why something fails, because wildly different systems cause wildy different symptoms. If the following section does not help you, please ask at out our [http://www.modetwo.net/darkmod forums].<br />
<br />
=== Updater (tdm_update.exe) closes almost as soon as it's started ===<br />
<br />
See the [[Tdm_update#Updater_closes_almost_as_soon_as_it.27s_started|main article on tdm_update]].<br />
<br />
=== Windows 2000: freeaddrinfo cannot be found in WS2_32.DLL ===<br />
Please refer to the main article [[TDM in Windows 2000]] to work around this problem.<br />
<br />
===FM won't install manually===<br />
<br />
If you are running Dark Mod under Linux and have edited the file darkmod/currentfm.txt this might prevent the FM from installing. This may be fixed in an update but apparently editing using notepad under Wine works OK.<br />
<br />
=== FMs downloaded but don't show in menu list===<br />
<br />
You have download some FMs but they don't show on Dark Mod's New Missions list. Possible causes:<br />
<br />
* You must not extract the pk4s or zip files but put them into the darkmod/fms folder (or alternatively you can create the FM folder in there eg, darkmod/fms/chalice for chalice.pk4 or chalice.zip.<br />
* Early versions of Dark Mod cannot handle zip suffixes. Solution: rename to .pk4 or run tdm_update to get the latest version of Dark Mod.<br />
* If you are running Linux then Doom 3 MUST be installed in a .doom3 folder. Note the dot before .doom3.<br />
<br />
<br />
=== FM downloaded but won't play ===<br />
<br />
If you have downloaded an FM you might see it in the New Missions List but can't get it to play. These are almost always an install problem. These are some of the causes and cures:<br />
<br />
FMs (fan missions) are archives and in early versions of Dark Mod MUST be suffixed .pk4 not zip. Apparently Internet Explorer 8 may change it from pk4 to zip during download without telling you. You need to rename it back if running an early version of Dark Mod else run tdm_update to update and then zip files are OK.<br />
<br />
You MUST use doom3\darkmod\tdmlauncher.exe to run Dark Mod in Windows and NOT Doom3.exe.<br />
<br />
You do NOT need to extract the pk4 archives to install or play. Just download into or move the pk4 into the darkmod\fms folder. Optionally you can create a folder of the same name as the map and put it in there, eg, darkmod\fms\chalice but there is no need because Dark Mod will create that automatically. Just make sure your pk4 goes, unopened, into the fms folder then run tdmlauncher.exe<br />
<br />
If you have done the above but see for example, a blank objectives screen and no briefing then it is still almost certainly an install error. I recommend you do a clean sweep if in doubt:<br />
* Exit Dark Mod<br />
* Delete doom3\darkmod\currentfm.txt (this just uninstalls any FM)<br />
* Delete the map game folder (if any) This is NOT the folder in fms but the folder in doom3 of the same name as the FM, eg, doom3\chalice. Note: this has savegames and screenshots in so check and move them out if you want to preserve them. However, if you can't get the game to play it's likely you don't have any yet. If you can't see the folder don't worry. The folder name is normally the same as the pk4 but it might not be. Strictly speaking it must be the same as the name in startingmap.txt inside the pk4 archive. You might see this file in fms.<br />
* Move the pk4 into the darkmod\fms folder if it is not already there.<br />
* Delete the darkmod\fms\FMname folder if any, eg, darkmod\fms\chalice. Don't worry if there isn't one; it will be created automatically later.<br />
<br />
So all that is left is the pk4 in the fms folder. Now run tdmlauncher.exe. The FM should be in the list in the New Missions menu. Re-install it and you should now be able to play it.<br />
<br />
=== The game crashes on load ===<br />
Make sure that:<br />
* You installed [[#Patching_Doom_3_to_verson_1.3.1.1304|the correct version]] of the Doom 3 1.3.1 patch.<br />
* Your system meets at least the minimum system specs.<br />
* You have enough free main memory. Try closing a few running programs like Outlook, Anti-Virus or torrent clients.<br />
<br />
==== Unknown event 'moveToCoverFrom'" ====<br />
If you get a message like:<br />
<br />
ERROR: Error: file script\doom_events.script, line 1038: Unknown event 'moveToCoverFrom'<br />
<br />
or see this in the log:<br />
<br />
found DLL in pak file: C:\Program Files\Doom 3\darkmod\tdm_game01.pk4/gamex86.dll<br />
copy gamex86.dll to C:\Program Files\Doom 3\darkmod\gamex86.dll<br />
could not create destination file<br />
<br />
Try extracting that gamex86.dll manually from '''tdm_game01.pk4''' with Winzip or a similiar program into that folder.<br />
<br />
The reason is very probably that you installed Doom3 into a folder with a space in it, and it seems Doom3 does not like that. Sorry.<br />
<br />
=== Unknown event 'setEntityRelation' ===<br />
The game is crashing to a small blue screen on startup:<br />
<br />
[[Image:ErrorSetEntityRelation.jpg]]<br />
<br />
The reason for this error is most likely an old version of gamex86.dll (or gamex86.so) lying around in your Doom 3 folder. Delete that file and try again.<br />
<br />
=== Textures are missing, screen mostly black ===<br />
<br />
[[Image:Tdm missing textures.jpg|right|240px|Black textures]]<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "0"<br />
seta image_preload "1"<br />
</pre><br />
<br />
=== Textures are missing, shadows are pitch black ===<br />
<br />
Try disabling the AGP surface accelerator in DXDIAG<br />
<br />
=== Graphic Corruption ===<br />
<br />
One report we had was for a Radeon ATI HD 4650, catalyst 10.9. This screen corruption as I understand it was heavy pixelation even on the menus. Closing down Xfire fixed it so clearly to do with that. "I fiddled with the xfire Doom 3 configuration through the xfire_games.ini, and determined it has to do with InGameFlags portion.. For some reason the settings in that were interfering with doom 3, and after I removed some things from there, I was still able to run xfire, and doom 3 was still able to look proper"<br />
<br />
<br />
=== The briefing is very fuzzy ===<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the following settings are like shown below:<br />
<br />
seta image_roundDown "1"<br />
seta image_forceDownSize "0"<br />
seta image_downSize "0"<br />
<br />
=== The sky is corrupted ===<br />
<br />
You either see black sky, or fragments of other textures. This seems only to happen on Geforce 6800 cards.<br />
<br />
There are two fixes for this:<br />
<br />
As a quick fix you can rename the following folder:<br />
<br />
env/skyboxes/skybox_darkland_ne<br />
<br />
to an different name. That will result in black sky.<br />
<br />
Alternatively, edit the file <tt>materials/tdm_sky.mtr</tt> with '''Wordpad''' or a different editor and<br />
find the sky material named '''textures/darkmod/nature/skybox/skybox_darkland_NE''':<br />
<br />
<pre><br />
//Author: Dram<br />
//skybox_ocean with ocean replaced with dark land<br />
//Moon moved to north east by Fidcal<br />
textures/darkmod/nature/skybox/skybox_darkland_NE<br />
{<br />
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed<br />
noFragment<br />
noshadows<br />
noimpact<br />
nooverlays<br />
forceOpaque<br />
{<br />
forceHighQuality<br />
blend add<br />
cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE<br />
texgen skybox<br />
texgen wobblesky .0 .0 .0<br />
}<br />
}<br />
</pre><br />
<br />
In this declaration, comment out the line that reads '''forceHighQuality''' by adding <tt>//</tt> in front of it:<br />
<br />
// forceHighQuality<br />
<br />
That should fix the sky and make it render correctly.<br />
<br />
=== The Sky rotates ===<br />
<br />
This problem only affects FMs with a dynamic sky (eg, moving clouds etc.)<br />
<br />
If you see the sky spinning it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also gives better loading times and cures [[#HDR-Lite Post-Processing problems|HDR-Lite Post-Processing Problems]].<br />
<br />
If that doesn't fix it then try this. Note that it replaces dynamic sky with a static clear one so might look odd in a stormy FM for example but better than a spinning sky:<br />
<br />
* Create a new folder in your darkmod folder called materials.<br />
* Within it create a plain text file named no_skybox.mtr<br />
* Paste in the following:<br />
<br />
textures/smf/portal_sky<br />
{<br />
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed<br />
noFragment<br />
<br />
noimpact<br />
nooverlays<br />
forceOpaque<br />
noShadows<br />
{<br />
forceHighQuality<br />
blend add<br />
cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE<br />
texgen skybox<br />
texgen wobblesky .0 .0 .0<br />
}<br />
}<br />
<br />
=== HDR-Lite Post-Processing problems ===<br />
<br />
Some owners of ATI graphics cards reported various artifacts when HDR-Lite Post-Processing was enabled. Among these artifacts are a distorted or upside-down screen and spinning sky. These can usually be fixed by disabling Catalyst AI, which also gives better loading times.<br />
<br />
To turn off Catalyst AI, open your Catalyst control panel, go to 'graphics' up the top left, select '3d' from the dropdown list and on the new menu below, select the 'AI'<br />
Now select the 'Disable Catalyst A.I.' checkbox.<br />
<br />
It has also been supported that HDR-Lite Post-Processing may lead to [[#Underwater performance poor|poor performance underwater]].<br />
<br />
===Underwater performance poor===<br />
<br />
Some people suffer from very low framerates underwater with HDR-Lite Post-Processing enabled. Currently, the only known fix to this problem is to set g_doubleVision to 0 in the console. This however disables the doubleVision effect completely, so that there is no underwater-blur anymore. The murkiness still remains though.<br />
<br />
===Upside-down screen===<br />
<br />
If you get an upside-down screen, you can either turn off Catalyst AI if you have an ATI card or try turning off HDR-Lite Post-Processing in the advanced video options.<br />
<br />
To turn off Catalyst AI, open your Catalyst control panel, go to 'graphics' up the top left, select '3d' from the dropdown list and on the new menu below, select the 'AI'<br />
Now select the 'Disable Catalyst A.I.' checkbox.<br />
<br />
=== The game is '''very''' slow! ===<br />
<br />
If you get less than 10 FPS, or the game even stutters, please try this:<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the<br />
following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "1"<br />
seta image_preload "1"<br />
</pre><br />
<br />
If that doesn't help, your system might run out of memory. Either upgrade to more than 1 Gbyte memory,<br />
or try to close some other applications before playing.<br />
<br />
Please see also the article about [[Performance Tweaks]] to improve the performance.<br />
<br />
=== Slow loading times ===<br />
<br />
If you find an FM is very slow to load it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also cures [[#HDR-Lite Post-Processing problems|HDR-Lite Post-Processing Problems]].<br />
<br />
Changing the following settings to 0 will also reduce loading time, but be warned...if you have a lower end system, poor graphics card, or low ram...you will likely notice a performance hit ingame since you will now be using uncompressed textures.<br />
<pre style="max-width:35em"><br />
seta image_useNormalCompression "0"<br />
seta image_useCompression "0"<br />
</pre><br />
<br />
===Game freezes for several seconds when opening doors===<br />
The following problems :<br />
<br />
A) "game freezes and loads some data from hard drive while opening doors"<br />
B) "while loading mission you are returned to the menu and need to restart loading"<br />
<br />
Are often resolved by disabling EAX 4.0 HD in Audio Settings menu.<br />
<br />
===Game exits to menu after mission load, with renderpipe error in console===<br />
<br />
'''Symptoms:''' Missions are installed properly and will load, but after they reach 100% you are returned to the main menu or objectives screen. If you open the console (Ctrl-Alt-~ on US keyboards), you see one/both of these errors:<br />
<br />
ERROR: Failed to open \\.\pipe\dm_renderpipe<br />
<br />
or<br />
<br />
ERROR: idRenderSystemLocal::uncrop currentcrop <1<br />
<br />
'''Solution:''' Some firewalls, notably ''Sunbelt Firewall'' (aka ''Kerio Firewall'') are known to interfere with TDM's lightgem, ''even when "disabled"''. To fix this problem, completely uninstall the firewall, and get a different one instead.<br />
<br />
==="COULD NOT FIND TDMLAUNCHER" when installing an FM===<br />
<br />
If you receive this error message you should check the start-arguments of DOOM3.exe / tdmlauncher.exe. Arguments are stored in darkmod/dmargs.txt and a faulty syntax e.g. a missing "+" before a "set"-command, will lead to this error message. Steam-users are advised to remove any launch-options from Doom.<br />
<br />
===The sound lags behind the picture===<br />
<br />
This seems to happen on Linux with certain ALSA drivers. You can try to disable "Dolby Surround" (switch to "Stereo") or just use OSS instead:<br />
<br />
Put the following setting on your tdmlauncher.linux command line:<br />
<br />
+set s_driver oss<br />
<br />
and use "Stereo".<br />
<br />
On some Ubuntu systems, applications using ALSA are re-directed to "pulseaudio" which causes a lack of syncrony between sound and image. Simply removing "pulseaudio" should get your sound back in syncrony:<br />
<br />
sudo apt-get purge pulseaudio<br />
<br />
=== Changing the screen resolution/aspect ratio does nothing!? ===<br />
<br />
These changes require a restart of Doom to work. Alternatively the command vid_restart can be issued to the console. It can take quite some time to execute this command, depending on whether or not you're already ingame. It will still be a lot faster than restarting and reloading the game though.<br />
<br />
=== Steam launches D3, not TDM ===<br />
<br />
Whenever you start Steam and it does launch vanilla Doom instead of TDM, make sure you<br />
follow this advice:<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
== Known bugs ==<br />
See article [[Known Bugs]].<br />
<br />
[[Category:General]] [[Category:Installation]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=FAQ&diff=11829FAQ2010-12-26T20:00:31Z<p>Stifu: /* Changing the screen resolution/aspect ratio does nothing!? */ - Added vid_restart information</p>
<hr />
<div>{{important|headline=Important|text=This FAQ relates to the full TDM release version only. For players of the pre-release demos such as '''[[Thief's Den]]''' and '''[[Saint_Lucia|Tears of Saint Lucia]]''' please refer to the '''[[FAQ (Demo Releases)|Demo FAQ]]'''.'''}}<br />
<br />
== What Doom versions are supported? ==<br />
<br />
=== Can I use the Demo version of Doom 3? ===<br />
<br />
No, sorry.<br />
<br />
<br />
=== Can I use it with the Doom 3 expansion Resurrection of Evil? ===<br />
<br />
<br />
No, sorry.<br />
<br />
<br />
<br />
=== Does it run with the Steam version of Doom 3? ===<br />
<br />
Yes :) You need to install the mod into the directory where Steam put Doom3, this might be under:<br />
<br />
C:\Program Files\Steam\steamapps\common\doom 3<br />
<br />
or a similiar folder.<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
== Patching Doom 3 to verson 1.3.1.1304 ==<br />
<br />
=== How can I check whether my Doom 3 is correctly patched? ===<br />
<br />
Open Doom 3 and hit {{key|Ctrl}}+{{key|Alt}}+{{key|~}} (tilde, {{key|^}} on German keyboards) to open the console. You'll see the version printed in the lower left corner of the console. It should read '''1.3.1.1304'''. If your version is ending on 1302, you've got the wrong patch installed.<br />
<br />
=== Where can I get the right patch? ===<br />
<br />
We have the patch hosted on our FTP. See the [[Installation]] article to find a link to it.<br />
<br />
If you have version 1.3.1.1302, you may need to uninstall and reinstall before patch 1.3.1.1304 will let you apply it.<br />
<br />
=== What's that issue with the 1.3.1 patch? ===<br />
<br />
When the 1.3.1 patch was released by Id, they released it a bit too early. Some download sites picked it up quite fast though and started to distribute it. The problem is, that Id replaced that patch with a different one, and, probably thinking that it hadn't spread yet, didn't bother to change the version number. However, you can still find "wrong" 1.3.1 patches and these will not work with the mod. That's why it is important to check the version number in the console to make sure that the right 1.3.1 patch is installed if the mod doesn't work. The link provided here on our own page points to the correct patch, so if you downloaded it from here you don't need to worry about it.<br />
<br />
== Supported Operating Systems ==<br />
<br />
=== Which Windows versions can I use? ===<br />
<br />
The following versions of windows have been tested and are known to work : Windows 2000, Windows XP, Windows Vista, Windows 7, Windows Server 2008, Windows Server 2003 in both 32bit and 64bit flavours.<br />
<br />
=== Does it run in Linux? ===<br />
Yes, Linux is supported.<br />
<br />
=== Does it run in 64 Bit Linux? ===<br />
Yes, Linux 64 bit is supported. In addition to the steps above, you need 32 bit compatibility libraries, since Doom3 is 32 bit only:<br />
* On '''SuSE''', they should be included.<br />
* On Ubuntu/Kubuntu, install the package '''ia32'''.<br />
<br />
For TDM after 1.0, this step should be '''no''' longer neccessary:<br />
<br />
* Since you cannot install 32 bit libraries on a 64 bit system with the normal package manager, you should use [http://ubuntuforums.org/showthread.php?t=474790 getlibs] to install '''libmng''' and the boost filesystem lib:<br />
:<code>getlibs libmng.so.1</code><br />
:<code>getlibs -l libboost-filesystem1.34.1</code><br />
<br />
=== What about Gentoo? ===<br />
Yes. It's not "officially" supported (the team doesn't test it specifically), however several users have reported success running TDM under Gentoo.<br />
<br />
=== What about Ubuntu 8.10? ===<br />
Yes. As of this writing you will need to install the '''libboost-filesystem''' package.<br />
<br />
=== GLIBCXX_3.4.9 errors ===<br />
<br />
If you receive an error about <tt>GLIBCXX_3.4.9</tt>, delete or rename the files <code>/usr/local/games/doom3/libstdc++.so.6</code> and <code>/usr/local/games/doom3/libgcc_s.so.1.</code><br />
<br />
If this doesn't resolve the error and you have an old version of GCC, then you may have to upgrade. It has been [http://modetwo.net/darkmod/index.php?/topic/9982-the-dark-mod-doom3-in-linux/ confirmed] that, at least under Gentoo, GCC 4.1 does not work with TDM but GCC 4.3 and GCC 4.4 are compatible.<br />
<br />
=== Does it run on Mac OS X?===<br />
No. Or at least not yet. The Doom 3 game itself does support Mac OS X, but The Dark Mod currently does not because we don't have any developers who use Macs. If you can help us getting it to run on OS X, please [http://modetwo.net/darkmod/index.php?showforum=11 let us know on the forum].<br />
<br />
Since TDM works on Linux already, getting it working on OS X should not be too difficult for anyone with experience programming for that platform. In theory it's just a question of figuring out how to build the mod, sorting out dependencies, and writing a few pieces of platform-specific code.<br />
<br />
== Graphics ==<br />
<br />
=== Does TDM support widescreen resolutions? ===<br />
<br />
Yes. Choose "16:9" or "16:10" in the in-game ''Settings'' menu, and select the appropriate resolution. Note that you need to restart the game to have the new setting in effect.<br />
<br />
If the native resolution of your wide screen monitor is not listed, you can enter it into '''DoomConfig.cfg''' by changing the following entries like so:<br />
<br />
set r_mode -1<br />
set r_customwidth 1280<br />
set r_customheight 800<br />
<br />
Note that if you get performance problems, please consider using a lower resolution and taking a look at [[Performance Tweaks]].<br />
<br />
== Troubleshooting ==<br />
<br />
It is hard to answer question on why something fails, because wildly different systems cause wildy different symptoms. If the following section does not help you, please ask at out our [http://www.modetwo.net/darkmod forums].<br />
<br />
=== Updater (tdm_update.exe) closes almost as soon as it's started ===<br />
<br />
See the [[Tdm_update#Updater_closes_almost_as_soon_as_it.27s_started|main article on tdm_update]].<br />
<br />
=== Windows 2000: freeaddrinfo cannot be found in WS2_32.DLL ===<br />
Please refer to the main article [[TDM in Windows 2000]] to work around this problem.<br />
<br />
===FM won't install manually===<br />
<br />
If you are running Dark Mod under Linux and have edited the file darkmod/currentfm.txt this might prevent the FM from installing. This may be fixed in an update but apparently editing using notepad under Wine works OK.<br />
<br />
=== FMs downloaded but don't show in menu list===<br />
<br />
You have download some FMs but they don't show on Dark Mod's New Missions list. Possible causes:<br />
<br />
* You must not extract the pk4s or zip files but put them into the darkmod/fms folder (or alternatively you can create the FM folder in there eg, darkmod/fms/chalice for chalice.pk4 or chalice.zip.<br />
* Early versions of Dark Mod cannot handle zip suffixes. Solution: rename to .pk4 or run tdm_update to get the latest version of Dark Mod.<br />
* If you are running Linux then Doom 3 MUST be installed in a .doom3 folder. Note the dot before .doom3.<br />
<br />
<br />
=== FM downloaded but won't play ===<br />
<br />
If you have downloaded an FM you might see it in the New Missions List but can't get it to play. These are almost always an install problem. These are some of the causes and cures:<br />
<br />
FMs (fan missions) are archives and in early versions of Dark Mod MUST be suffixed .pk4 not zip. Apparently Internet Explorer 8 may change it from pk4 to zip during download without telling you. You need to rename it back if running an early version of Dark Mod else run tdm_update to update and then zip files are OK.<br />
<br />
You MUST use doom3\darkmod\tdmlauncher.exe to run Dark Mod in Windows and NOT Doom3.exe.<br />
<br />
You do NOT need to extract the pk4 archives to install or play. Just download into or move the pk4 into the darkmod\fms folder. Optionally you can create a folder of the same name as the map and put it in there, eg, darkmod\fms\chalice but there is no need because Dark Mod will create that automatically. Just make sure your pk4 goes, unopened, into the fms folder then run tdmlauncher.exe<br />
<br />
If you have done the above but see for example, a blank objectives screen and no briefing then it is still almost certainly an install error. I recommend you do a clean sweep if in doubt:<br />
* Exit Dark Mod<br />
* Delete doom3\darkmod\currentfm.txt (this just uninstalls any FM)<br />
* Delete the map game folder (if any) This is NOT the folder in fms but the folder in doom3 of the same name as the FM, eg, doom3\chalice. Note: this has savegames and screenshots in so check and move them out if you want to preserve them. However, if you can't get the game to play it's likely you don't have any yet. If you can't see the folder don't worry. The folder name is normally the same as the pk4 but it might not be. Strictly speaking it must be the same as the name in startingmap.txt inside the pk4 archive. You might see this file in fms.<br />
* Move the pk4 into the darkmod\fms folder if it is not already there.<br />
* Delete the darkmod\fms\FMname folder if any, eg, darkmod\fms\chalice. Don't worry if there isn't one; it will be created automatically later.<br />
<br />
So all that is left is the pk4 in the fms folder. Now run tdmlauncher.exe. The FM should be in the list in the New Missions menu. Re-install it and you should now be able to play it.<br />
<br />
=== The game crashes on load ===<br />
Make sure that:<br />
* You installed [[#Patching_Doom_3_to_verson_1.3.1.1304|the correct version]] of the Doom 3 1.3.1 patch.<br />
* Your system meets at least the minimum system specs.<br />
* You have enough free main memory. Try closing a few running programs like Outlook, Anti-Virus or torrent clients.<br />
<br />
==== Unknown event 'moveToCoverFrom'" ====<br />
If you get a message like:<br />
<br />
ERROR: Error: file script\doom_events.script, line 1038: Unknown event 'moveToCoverFrom'<br />
<br />
or see this in the log:<br />
<br />
found DLL in pak file: C:\Program Files\Doom 3\darkmod\tdm_game01.pk4/gamex86.dll<br />
copy gamex86.dll to C:\Program Files\Doom 3\darkmod\gamex86.dll<br />
could not create destination file<br />
<br />
Try extracting that gamex86.dll manually from '''tdm_game01.pk4''' with Winzip or a similiar program into that folder.<br />
<br />
The reason is very probably that you installed Doom3 into a folder with a space in it, and it seems Doom3 does not like that. Sorry.<br />
<br />
=== Unknown event 'setEntityRelation' ===<br />
The game is crashing to a small blue screen on startup:<br />
<br />
[[Image:ErrorSetEntityRelation.jpg]]<br />
<br />
The reason for this error is most likely an old version of gamex86.dll (or gamex86.so) lying around in your Doom 3 folder. Delete that file and try again.<br />
<br />
=== Textures are missing, screen mostly black ===<br />
<br />
[[Image:Tdm missing textures.jpg|right|240px|Black textures]]<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "0"<br />
seta image_preload "1"<br />
</pre><br />
<br />
=== Textures are missing, shadows are pitch black ===<br />
<br />
Try disabling the AGP surface accelerator in DXDIAG<br />
<br />
=== Graphic Corruption ===<br />
<br />
One report we had was for a Radeon ATI HD 4650, catalyst 10.9. This screen corruption as I understand it was heavy pixelation even on the menus. Closing down Xfire fixed it so clearly to do with that. "I fiddled with the xfire Doom 3 configuration through the xfire_games.ini, and determined it has to do with InGameFlags portion.. For some reason the settings in that were interfering with doom 3, and after I removed some things from there, I was still able to run xfire, and doom 3 was still able to look proper"<br />
<br />
<br />
=== The briefing is very fuzzy ===<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the following settings are like shown below:<br />
<br />
seta image_roundDown "1"<br />
seta image_forceDownSize "0"<br />
seta image_downSize "0"<br />
<br />
=== The sky is corrupted ===<br />
<br />
You either see black sky, or fragments of other textures. This seems only to happen on Geforce 6800 cards.<br />
<br />
There are two fixes for this:<br />
<br />
As a quick fix you can rename the following folder:<br />
<br />
env/skyboxes/skybox_darkland_ne<br />
<br />
to an different name. That will result in black sky.<br />
<br />
Alternatively, edit the file <tt>materials/tdm_sky.mtr</tt> with '''Wordpad''' or a different editor and<br />
find the sky material named '''textures/darkmod/nature/skybox/skybox_darkland_NE''':<br />
<br />
<pre><br />
//Author: Dram<br />
//skybox_ocean with ocean replaced with dark land<br />
//Moon moved to north east by Fidcal<br />
textures/darkmod/nature/skybox/skybox_darkland_NE<br />
{<br />
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed<br />
noFragment<br />
noshadows<br />
noimpact<br />
nooverlays<br />
forceOpaque<br />
{<br />
forceHighQuality<br />
blend add<br />
cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE<br />
texgen skybox<br />
texgen wobblesky .0 .0 .0<br />
}<br />
}<br />
</pre><br />
<br />
In this declaration, comment out the line that reads '''forceHighQuality''' by adding <tt>//</tt> in front of it:<br />
<br />
// forceHighQuality<br />
<br />
That should fix the sky and make it render correctly.<br />
<br />
=== The Sky rotates ===<br />
<br />
This problem only affects FMs with a dynamic sky (eg, moving clouds etc.)<br />
<br />
If you see the sky spinning it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also gives better loading times and cures bloom problem.<br />
<br />
If that doesn't fix it then try this. Note that it replaces dynamic sky with a static clear one so might look odd in a stormy FM for example but better than a spinning sky:<br />
<br />
* Create a new folder in your darkmod folder called materials.<br />
* Within it create a plain text file named no_skybox.mtr<br />
* Paste in the following:<br />
<br />
textures/smf/portal_sky<br />
{<br />
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed<br />
noFragment<br />
<br />
noimpact<br />
nooverlays<br />
forceOpaque<br />
noShadows<br />
{<br />
forceHighQuality<br />
blend add<br />
cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE<br />
texgen skybox<br />
texgen wobblesky .0 .0 .0<br />
}<br />
}<br />
<br />
=== Bloom problems ===<br />
<br />
Bloom has been removed as a default option, if you wish to use it try using r_bloom 1/0; The reasoning behind the change is that it creates lighting situations which are unintended and result in over-bright lights or problems with water textures etc - It is strongly discouraged to use it and should be disabled if you are running an old build from when it was a default. If have a problem with bloom it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also gives better loading times and cures spinning sky problem.<br />
<br />
===Underwater performance poor===<br />
<br />
Some people suffer from very low framerates underwater with HDR-Lite Post-Processing enabled. Currently, the only known fix to this problem is to set g_doubleVision to 0 in the console. This however disables the doubleVision effect completely, so that there is no underwater-blur anymore. The murkiness still remains though.<br />
<br />
===Upside-down screen===<br />
<br />
If you get an upside-down screen, you can either turn off Catalyst AI if you have an ati card or try turning off bloom.<br />
<br />
To turn off Catalyst AI, open your Catylist control panel, go to 'graphics' up the top left, select '3d' from the dropdown list and on the new menu below, select the 'AI'<br />
Now select the 'Disable Catalyst A.I.' checkbox.<br />
<br />
To turn off bloom, enter the console and type "set r_bloom 0" (remove quotes)<br />
Then type "vid_restart" (remove quotes) to refresh the graphics.<br />
<br />
=== The game is '''very''' slow! ===<br />
<br />
If you get less than 10 FPS, or the game even stutters, please try this:<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the<br />
following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "1"<br />
seta image_preload "1"<br />
</pre><br />
<br />
If that doesn't help, your system might run out of memory. Either upgrade to more than 1 Gbyte memory,<br />
or try to close some other applications before playing.<br />
<br />
Please see also the article about [[Performance Tweaks]] to improve the performance.<br />
<br />
=== Slow loading times ===<br />
<br />
If you find an FM is very slow to load it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also cures bloom and spinning sky problem.<br />
<br />
Changing the following settings to 0 will also reduce loading time, but be warned...if you have a lower end system, poor graphics card, or low ram...you will likely notice a performance hit ingame since you will now be using uncompressed textures.<br />
<pre style="max-width:35em"><br />
seta image_useNormalCompression "0"<br />
seta image_useCompression "0"<br />
</pre><br />
<br />
===Game freezes for several seconds when opening doors===<br />
The following problems :<br />
<br />
A) "game freezes and loads some data from hard drive while opening doors"<br />
B) "while loading mission you are returned to the menu and need to restart loading"<br />
<br />
Are often resolved by disabling EAX 4.0 HD in Audio Settings menu.<br />
<br />
===Game exits to menu after mission load, with renderpipe error in console===<br />
<br />
'''Symptoms:''' Missions are installed properly and will load, but after they reach 100% you are returned to the main menu or objectives screen. If you open the console (Ctrl-Alt-~ on US keyboards), you see one/both of these errors:<br />
<br />
ERROR: Failed to open \\.\pipe\dm_renderpipe<br />
<br />
or<br />
<br />
ERROR: idRenderSystemLocal::uncrop currentcrop <1<br />
<br />
'''Solution:''' Some firewalls, notably ''Sunbelt Firewall'' (aka ''Kerio Firewall'') are known to interfere with TDM's lightgem, ''even when "disabled"''. To fix this problem, completely uninstall the firewall, and get a different one instead.<br />
<br />
==="COULD NOT FIND TDMLAUNCHER" when installing an FM===<br />
<br />
If you receive this error message you should check the start-arguments of DOOM3.exe / tdmlauncher.exe. Arguments are stored in darkmod/dmargs.txt and a faulty syntax e.g. a missing "+" before a "set"-command, will lead to this error message. Steam-users are advised to remove any launch-options from Doom.<br />
<br />
===The sound lags behind the picture===<br />
<br />
This seems to happen on Linux with certain ALSA drivers. You can try to disable "Dolby Surround" (switch to "Stereo") or just use OSS instead:<br />
<br />
Put the following setting on your tdmlauncher.linux command line:<br />
<br />
+set s_driver oss<br />
<br />
and use "Stereo".<br />
<br />
On some Ubuntu systems, applications using ALSA are re-directed to "pulseaudio" which causes a lack of syncrony between sound and image. Simply removing "pulseaudio" should get your sound back in syncrony:<br />
<br />
sudo apt-get purge pulseaudio<br />
<br />
=== Changing the screen resolution/aspect ratio does nothing!? ===<br />
<br />
These changes require a restart of Doom to work. Alternatively the command vid_restart can be issued to the console. It can take quite some time to execute this command, depending on whether or not you're already ingame. It will still be a lot faster than restarting and reloading the game though.<br />
<br />
=== Steam launches D3, not TDM ===<br />
<br />
Whenever you start Steam and it does launch vanilla Doom instead of TDM, make sure you<br />
follow this advice:<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
== Known bugs ==<br />
See article [[Known Bugs]].<br />
<br />
[[Category:General]] [[Category:Installation]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=FAQ&diff=11828FAQ2010-12-26T19:51:43Z<p>Stifu: /* Underwater performance poor */ - Information was outdated</p>
<hr />
<div>{{important|headline=Important|text=This FAQ relates to the full TDM release version only. For players of the pre-release demos such as '''[[Thief's Den]]''' and '''[[Saint_Lucia|Tears of Saint Lucia]]''' please refer to the '''[[FAQ (Demo Releases)|Demo FAQ]]'''.'''}}<br />
<br />
== What Doom versions are supported? ==<br />
<br />
=== Can I use the Demo version of Doom 3? ===<br />
<br />
No, sorry.<br />
<br />
<br />
=== Can I use it with the Doom 3 expansion Resurrection of Evil? ===<br />
<br />
<br />
No, sorry.<br />
<br />
<br />
<br />
=== Does it run with the Steam version of Doom 3? ===<br />
<br />
Yes :) You need to install the mod into the directory where Steam put Doom3, this might be under:<br />
<br />
C:\Program Files\Steam\steamapps\common\doom 3<br />
<br />
or a similiar folder.<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
== Patching Doom 3 to verson 1.3.1.1304 ==<br />
<br />
=== How can I check whether my Doom 3 is correctly patched? ===<br />
<br />
Open Doom 3 and hit {{key|Ctrl}}+{{key|Alt}}+{{key|~}} (tilde, {{key|^}} on German keyboards) to open the console. You'll see the version printed in the lower left corner of the console. It should read '''1.3.1.1304'''. If your version is ending on 1302, you've got the wrong patch installed.<br />
<br />
=== Where can I get the right patch? ===<br />
<br />
We have the patch hosted on our FTP. See the [[Installation]] article to find a link to it.<br />
<br />
If you have version 1.3.1.1302, you may need to uninstall and reinstall before patch 1.3.1.1304 will let you apply it.<br />
<br />
=== What's that issue with the 1.3.1 patch? ===<br />
<br />
When the 1.3.1 patch was released by Id, they released it a bit too early. Some download sites picked it up quite fast though and started to distribute it. The problem is, that Id replaced that patch with a different one, and, probably thinking that it hadn't spread yet, didn't bother to change the version number. However, you can still find "wrong" 1.3.1 patches and these will not work with the mod. That's why it is important to check the version number in the console to make sure that the right 1.3.1 patch is installed if the mod doesn't work. The link provided here on our own page points to the correct patch, so if you downloaded it from here you don't need to worry about it.<br />
<br />
== Supported Operating Systems ==<br />
<br />
=== Which Windows versions can I use? ===<br />
<br />
The following versions of windows have been tested and are known to work : Windows 2000, Windows XP, Windows Vista, Windows 7, Windows Server 2008, Windows Server 2003 in both 32bit and 64bit flavours.<br />
<br />
=== Does it run in Linux? ===<br />
Yes, Linux is supported.<br />
<br />
=== Does it run in 64 Bit Linux? ===<br />
Yes, Linux 64 bit is supported. In addition to the steps above, you need 32 bit compatibility libraries, since Doom3 is 32 bit only:<br />
* On '''SuSE''', they should be included.<br />
* On Ubuntu/Kubuntu, install the package '''ia32'''.<br />
<br />
For TDM after 1.0, this step should be '''no''' longer neccessary:<br />
<br />
* Since you cannot install 32 bit libraries on a 64 bit system with the normal package manager, you should use [http://ubuntuforums.org/showthread.php?t=474790 getlibs] to install '''libmng''' and the boost filesystem lib:<br />
:<code>getlibs libmng.so.1</code><br />
:<code>getlibs -l libboost-filesystem1.34.1</code><br />
<br />
=== What about Gentoo? ===<br />
Yes. It's not "officially" supported (the team doesn't test it specifically), however several users have reported success running TDM under Gentoo.<br />
<br />
=== What about Ubuntu 8.10? ===<br />
Yes. As of this writing you will need to install the '''libboost-filesystem''' package.<br />
<br />
=== GLIBCXX_3.4.9 errors ===<br />
<br />
If you receive an error about <tt>GLIBCXX_3.4.9</tt>, delete or rename the files <code>/usr/local/games/doom3/libstdc++.so.6</code> and <code>/usr/local/games/doom3/libgcc_s.so.1.</code><br />
<br />
If this doesn't resolve the error and you have an old version of GCC, then you may have to upgrade. It has been [http://modetwo.net/darkmod/index.php?/topic/9982-the-dark-mod-doom3-in-linux/ confirmed] that, at least under Gentoo, GCC 4.1 does not work with TDM but GCC 4.3 and GCC 4.4 are compatible.<br />
<br />
=== Does it run on Mac OS X?===<br />
No. Or at least not yet. The Doom 3 game itself does support Mac OS X, but The Dark Mod currently does not because we don't have any developers who use Macs. If you can help us getting it to run on OS X, please [http://modetwo.net/darkmod/index.php?showforum=11 let us know on the forum].<br />
<br />
Since TDM works on Linux already, getting it working on OS X should not be too difficult for anyone with experience programming for that platform. In theory it's just a question of figuring out how to build the mod, sorting out dependencies, and writing a few pieces of platform-specific code.<br />
<br />
== Graphics ==<br />
<br />
=== Does TDM support widescreen resolutions? ===<br />
<br />
Yes. Choose "16:9" or "16:10" in the in-game ''Settings'' menu, and select the appropriate resolution. Note that you need to restart the game to have the new setting in effect.<br />
<br />
If the native resolution of your wide screen monitor is not listed, you can enter it into '''DoomConfig.cfg''' by changing the following entries like so:<br />
<br />
set r_mode -1<br />
set r_customwidth 1280<br />
set r_customheight 800<br />
<br />
Note that if you get performance problems, please consider using a lower resolution and taking a look at [[Performance Tweaks]].<br />
<br />
== Troubleshooting ==<br />
<br />
It is hard to answer question on why something fails, because wildly different systems cause wildy different symptoms. If the following section does not help you, please ask at out our [http://www.modetwo.net/darkmod forums].<br />
<br />
=== Updater (tdm_update.exe) closes almost as soon as it's started ===<br />
<br />
See the [[Tdm_update#Updater_closes_almost_as_soon_as_it.27s_started|main article on tdm_update]].<br />
<br />
=== Windows 2000: freeaddrinfo cannot be found in WS2_32.DLL ===<br />
Please refer to the main article [[TDM in Windows 2000]] to work around this problem.<br />
<br />
===FM won't install manually===<br />
<br />
If you are running Dark Mod under Linux and have edited the file darkmod/currentfm.txt this might prevent the FM from installing. This may be fixed in an update but apparently editing using notepad under Wine works OK.<br />
<br />
=== FMs downloaded but don't show in menu list===<br />
<br />
You have download some FMs but they don't show on Dark Mod's New Missions list. Possible causes:<br />
<br />
* You must not extract the pk4s or zip files but put them into the darkmod/fms folder (or alternatively you can create the FM folder in there eg, darkmod/fms/chalice for chalice.pk4 or chalice.zip.<br />
* Early versions of Dark Mod cannot handle zip suffixes. Solution: rename to .pk4 or run tdm_update to get the latest version of Dark Mod.<br />
* If you are running Linux then Doom 3 MUST be installed in a .doom3 folder. Note the dot before .doom3.<br />
<br />
<br />
=== FM downloaded but won't play ===<br />
<br />
If you have downloaded an FM you might see it in the New Missions List but can't get it to play. These are almost always an install problem. These are some of the causes and cures:<br />
<br />
FMs (fan missions) are archives and in early versions of Dark Mod MUST be suffixed .pk4 not zip. Apparently Internet Explorer 8 may change it from pk4 to zip during download without telling you. You need to rename it back if running an early version of Dark Mod else run tdm_update to update and then zip files are OK.<br />
<br />
You MUST use doom3\darkmod\tdmlauncher.exe to run Dark Mod in Windows and NOT Doom3.exe.<br />
<br />
You do NOT need to extract the pk4 archives to install or play. Just download into or move the pk4 into the darkmod\fms folder. Optionally you can create a folder of the same name as the map and put it in there, eg, darkmod\fms\chalice but there is no need because Dark Mod will create that automatically. Just make sure your pk4 goes, unopened, into the fms folder then run tdmlauncher.exe<br />
<br />
If you have done the above but see for example, a blank objectives screen and no briefing then it is still almost certainly an install error. I recommend you do a clean sweep if in doubt:<br />
* Exit Dark Mod<br />
* Delete doom3\darkmod\currentfm.txt (this just uninstalls any FM)<br />
* Delete the map game folder (if any) This is NOT the folder in fms but the folder in doom3 of the same name as the FM, eg, doom3\chalice. Note: this has savegames and screenshots in so check and move them out if you want to preserve them. However, if you can't get the game to play it's likely you don't have any yet. If you can't see the folder don't worry. The folder name is normally the same as the pk4 but it might not be. Strictly speaking it must be the same as the name in startingmap.txt inside the pk4 archive. You might see this file in fms.<br />
* Move the pk4 into the darkmod\fms folder if it is not already there.<br />
* Delete the darkmod\fms\FMname folder if any, eg, darkmod\fms\chalice. Don't worry if there isn't one; it will be created automatically later.<br />
<br />
So all that is left is the pk4 in the fms folder. Now run tdmlauncher.exe. The FM should be in the list in the New Missions menu. Re-install it and you should now be able to play it.<br />
<br />
=== The game crashes on load ===<br />
Make sure that:<br />
* You installed [[#Patching_Doom_3_to_verson_1.3.1.1304|the correct version]] of the Doom 3 1.3.1 patch.<br />
* Your system meets at least the minimum system specs.<br />
* You have enough free main memory. Try closing a few running programs like Outlook, Anti-Virus or torrent clients.<br />
<br />
==== Unknown event 'moveToCoverFrom'" ====<br />
If you get a message like:<br />
<br />
ERROR: Error: file script\doom_events.script, line 1038: Unknown event 'moveToCoverFrom'<br />
<br />
or see this in the log:<br />
<br />
found DLL in pak file: C:\Program Files\Doom 3\darkmod\tdm_game01.pk4/gamex86.dll<br />
copy gamex86.dll to C:\Program Files\Doom 3\darkmod\gamex86.dll<br />
could not create destination file<br />
<br />
Try extracting that gamex86.dll manually from '''tdm_game01.pk4''' with Winzip or a similiar program into that folder.<br />
<br />
The reason is very probably that you installed Doom3 into a folder with a space in it, and it seems Doom3 does not like that. Sorry.<br />
<br />
=== Unknown event 'setEntityRelation' ===<br />
The game is crashing to a small blue screen on startup:<br />
<br />
[[Image:ErrorSetEntityRelation.jpg]]<br />
<br />
The reason for this error is most likely an old version of gamex86.dll (or gamex86.so) lying around in your Doom 3 folder. Delete that file and try again.<br />
<br />
=== Textures are missing, screen mostly black ===<br />
<br />
[[Image:Tdm missing textures.jpg|right|240px|Black textures]]<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "0"<br />
seta image_preload "1"<br />
</pre><br />
<br />
=== Textures are missing, shadows are pitch black ===<br />
<br />
Try disabling the AGP surface accelerator in DXDIAG<br />
<br />
=== Graphic Corruption ===<br />
<br />
One report we had was for a Radeon ATI HD 4650, catalyst 10.9. This screen corruption as I understand it was heavy pixelation even on the menus. Closing down Xfire fixed it so clearly to do with that. "I fiddled with the xfire Doom 3 configuration through the xfire_games.ini, and determined it has to do with InGameFlags portion.. For some reason the settings in that were interfering with doom 3, and after I removed some things from there, I was still able to run xfire, and doom 3 was still able to look proper"<br />
<br />
<br />
=== The briefing is very fuzzy ===<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the following settings are like shown below:<br />
<br />
seta image_roundDown "1"<br />
seta image_forceDownSize "0"<br />
seta image_downSize "0"<br />
<br />
=== The sky is corrupted ===<br />
<br />
You either see black sky, or fragments of other textures. This seems only to happen on Geforce 6800 cards.<br />
<br />
There are two fixes for this:<br />
<br />
As a quick fix you can rename the following folder:<br />
<br />
env/skyboxes/skybox_darkland_ne<br />
<br />
to an different name. That will result in black sky.<br />
<br />
Alternatively, edit the file <tt>materials/tdm_sky.mtr</tt> with '''Wordpad''' or a different editor and<br />
find the sky material named '''textures/darkmod/nature/skybox/skybox_darkland_NE''':<br />
<br />
<pre><br />
//Author: Dram<br />
//skybox_ocean with ocean replaced with dark land<br />
//Moon moved to north east by Fidcal<br />
textures/darkmod/nature/skybox/skybox_darkland_NE<br />
{<br />
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed<br />
noFragment<br />
noshadows<br />
noimpact<br />
nooverlays<br />
forceOpaque<br />
{<br />
forceHighQuality<br />
blend add<br />
cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE<br />
texgen skybox<br />
texgen wobblesky .0 .0 .0<br />
}<br />
}<br />
</pre><br />
<br />
In this declaration, comment out the line that reads '''forceHighQuality''' by adding <tt>//</tt> in front of it:<br />
<br />
// forceHighQuality<br />
<br />
That should fix the sky and make it render correctly.<br />
<br />
=== The Sky rotates ===<br />
<br />
This problem only affects FMs with a dynamic sky (eg, moving clouds etc.)<br />
<br />
If you see the sky spinning it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also gives better loading times and cures bloom problem.<br />
<br />
If that doesn't fix it then try this. Note that it replaces dynamic sky with a static clear one so might look odd in a stormy FM for example but better than a spinning sky:<br />
<br />
* Create a new folder in your darkmod folder called materials.<br />
* Within it create a plain text file named no_skybox.mtr<br />
* Paste in the following:<br />
<br />
textures/smf/portal_sky<br />
{<br />
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed<br />
noFragment<br />
<br />
noimpact<br />
nooverlays<br />
forceOpaque<br />
noShadows<br />
{<br />
forceHighQuality<br />
blend add<br />
cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE<br />
texgen skybox<br />
texgen wobblesky .0 .0 .0<br />
}<br />
}<br />
<br />
=== Bloom problems ===<br />
<br />
Bloom has been removed as a default option, if you wish to use it try using r_bloom 1/0; The reasoning behind the change is that it creates lighting situations which are unintended and result in over-bright lights or problems with water textures etc - It is strongly discouraged to use it and should be disabled if you are running an old build from when it was a default. If have a problem with bloom it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also gives better loading times and cures spinning sky problem.<br />
<br />
===Underwater performance poor===<br />
<br />
Some people suffer from very low framerates underwater with HDR-Lite Post-Processing enabled. Currently, the only known fix to this problem is to set g_doubleVision to 0 in the console. This however disables the doubleVision effect completely, so that there is no underwater-blur anymore. The murkiness still remains though.<br />
<br />
===Upside-down screen===<br />
<br />
If you get an upside-down screen, you can either turn off Catalyst AI if you have an ati card or try turning off bloom.<br />
<br />
To turn off Catalyst AI, open your Catylist control panel, go to 'graphics' up the top left, select '3d' from the dropdown list and on the new menu below, select the 'AI'<br />
Now select the 'Disable Catalyst A.I.' checkbox.<br />
<br />
To turn off bloom, enter the console and type "set r_bloom 0" (remove quotes)<br />
Then type "vid_restart" (remove quotes) to refresh the graphics.<br />
<br />
=== The game is '''very''' slow! ===<br />
<br />
If you get less than 10 FPS, or the game even stutters, please try this:<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the<br />
following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "1"<br />
seta image_preload "1"<br />
</pre><br />
<br />
If that doesn't help, your system might run out of memory. Either upgrade to more than 1 Gbyte memory,<br />
or try to close some other applications before playing.<br />
<br />
Please see also the article about [[Performance Tweaks]] to improve the performance.<br />
<br />
=== Slow loading times ===<br />
<br />
If you find an FM is very slow to load it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also cures bloom and spinning sky problem.<br />
<br />
Changing the following settings to 0 will also reduce loading time, but be warned...if you have a lower end system, poor graphics card, or low ram...you will likely notice a performance hit ingame since you will now be using uncompressed textures.<br />
<pre style="max-width:35em"><br />
seta image_useNormalCompression "0"<br />
seta image_useCompression "0"<br />
</pre><br />
<br />
===Game freezes for several seconds when opening doors===<br />
The following problems :<br />
<br />
A) "game freezes and loads some data from hard drive while opening doors"<br />
B) "while loading mission you are returned to the menu and need to restart loading"<br />
<br />
Are often resolved by disabling EAX 4.0 HD in Audio Settings menu.<br />
<br />
===Game exits to menu after mission load, with renderpipe error in console===<br />
<br />
'''Symptoms:''' Missions are installed properly and will load, but after they reach 100% you are returned to the main menu or objectives screen. If you open the console (Ctrl-Alt-~ on US keyboards), you see one/both of these errors:<br />
<br />
ERROR: Failed to open \\.\pipe\dm_renderpipe<br />
<br />
or<br />
<br />
ERROR: idRenderSystemLocal::uncrop currentcrop <1<br />
<br />
'''Solution:''' Some firewalls, notably ''Sunbelt Firewall'' (aka ''Kerio Firewall'') are known to interfere with TDM's lightgem, ''even when "disabled"''. To fix this problem, completely uninstall the firewall, and get a different one instead.<br />
<br />
==="COULD NOT FIND TDMLAUNCHER" when installing an FM===<br />
<br />
If you receive this error message you should check the start-arguments of DOOM3.exe / tdmlauncher.exe. Arguments are stored in darkmod/dmargs.txt and a faulty syntax e.g. a missing "+" before a "set"-command, will lead to this error message. Steam-users are advised to remove any launch-options from Doom.<br />
<br />
===The sound lags behind the picture===<br />
<br />
This seems to happen on Linux with certain ALSA drivers. You can try to disable "Dolby Surround" (switch to "Stereo") or just use OSS instead:<br />
<br />
Put the following setting on your tdmlauncher.linux command line:<br />
<br />
+set s_driver oss<br />
<br />
and use "Stereo".<br />
<br />
On some Ubuntu systems, applications using ALSA are re-directed to "pulseaudio" which causes a lack of syncrony between sound and image. Simply removing "pulseaudio" should get your sound back in syncrony:<br />
<br />
sudo apt-get purge pulseaudio<br />
<br />
=== Changing the screen resolution/aspect ratio does nothing!? ===<br />
<br />
These changes require a restart of Doom to work.<br />
<br />
=== Steam launches D3, not TDM ===<br />
<br />
Whenever you start Steam and it does launch vanilla Doom instead of TDM, make sure you<br />
follow this advice:<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
== Known bugs ==<br />
See article [[Known Bugs]].<br />
<br />
[[Category:General]] [[Category:Installation]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_1.04&diff=11747What's new in TDM 1.042010-12-12T11:40:48Z<p>Stifu: Texture added</p>
<hr />
<div><!-- keywords whats new --><br />
<!-- See also the changelog on our bugtracker page: [http://bugs.angua.at/changelog_page.php?version_id=43 Changelog] <-- '''FIX THE LINK!''' --><br />
<br />
== Release Date ==<br />
Version 1.04 of The Dark Mod has '''not yet''' been released.<br />
<br />
== Changes / Features / Issues fixed ==<br />
<br />
<!-- * [http://bugs.angua.at/view.php?id=837 #837]: Arrows don't stick into attachments on living AI (Coding) --><br />
<br />
== AI ==<br />
<br />
<br />
<br />
== GUI ==<br />
<br />
<br />
<br />
== Sounds ==<br />
<br />
<br />
== Textures/Skins ==<br />
* New material marble_flower_mosaic_cracked (STiFU)<br />
<br />
<br />
<br />
== Models ==<br />
<br />
<br />
<br />
== Physics ==<br />
<br />
<br />
<br />
<br />
{{whatsnew}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_1.02&diff=9992What's new in TDM 1.022010-05-25T17:37:42Z<p>Stifu: </p>
<hr />
<div>See also the changelog on our bugtracker page: [http://bugs.angua.at/changelog_page.php?version_id=39 Changelog].<br />
<br />
== Release Date ==<br />
Version 1.02 of The Dark Mod has been released May 25th, 2010. <br />
<br />
== Changes / Features / Issues fixed ==<br />
* [http://bugs.angua.at/view.php?id=2151 #2151]: replaceInvItem() script event didn't accept $null_entity <br />
* [http://bugs.angua.at/view.php?id=2174 #2174]: "snd_alert3hc" was not used by the code due to a typo<br />
* [http://bugs.angua.at/view.php?id=2172 #2172]: attachToPos scriptevent not working<br />
* [http://bugs.angua.at/view.php?id=2145 #2145]: New objective components to detect readable open/close/page_reached events.<br />
* [http://bugs.angua.at/view.php?id=2190 #2190]: Moss patches can spawn on players head and is mantleable.<br />
* [http://bugs.angua.at/view.php?id=2074 #2074]: Crash in idPVS::FreeCurrentPVS<br />
* [http://bugs.angua.at/view.php?id=2205 #2205]: Crash at shutdown in idEntity::UnbindNotify() of AI<br />
<br />
== Textures ==<br />
Fixed missing ''crystal_light'' shader.<br />
Added frob-highlight stage to ''textures/darkmod/metal/grate/trans_grating01''.<br />
<br />
List of new and improved textures:<br />
<br />
* textures/darkmod/nature/skybox/mountain_sunset<br />
* Several building facades<br />
* Selflit gleam added to several windows that were missing it<br />
* A few new door textures<br />
<br />
== Models ==<br />
<br />
* Several new models, including a cart, tree, windmill, toolbox, playing cards, etc.<br />
* New skins added to several models<br />
* added a prop winebottle that AI will hold and drink from<br />
<br />
== AI ==<br />
<br />
* added a couple new animations<br />
* some specialized idle animations for beggar<br />
* special animations and definitions for "sitting and playing cards"<br />
* fixed some animations so torch-wielders don't burn themselves<br />
* zombie foot-drag sound reduced<br />
* "sleeping" behaviour added to revenant<br />
* "Lantern Bot" AI added<br />
<br />
== Animations ==<br />
<br />
New [[frame commands]]:<br />
<br />
* attach - spawn and attach an entity of the given class<br />
* destroy - detach and destroy the entity at the named attachment position<br />
* drop - detach (to world) the entity at the named attachment position<br />
* pickup - teleport and attach to the named pos the named entity<br />
<br />
These new commands enable sophisticated animations that create temp. objects, or make the AI able to "transport" one entity from A to B (via "pickup", "walk", "drop").<br />
<br />
== Sounds ==<br />
<br />
* new candle-pinch sounds (less loud than before)<br />
* new Vocal Set: "Average Jack"<br />
<br />
== Other ==<br />
<br />
* AI don't ramp down quite so quickly from minor alerts, and ramp down a little sooner from major alerts.<br />
<br />
<br />
== See also ==<br />
<br />
* [http://thedarkmod.com/downloads.php Download TDM]<br />
* [[What's new in TDM 1.01]]<br />
<br />
{{whatsnew}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=FAQ&diff=9831FAQ2010-03-24T11:59:50Z<p>Stifu: "Could not find tdmlauncher"</p>
<hr />
<div>{{important|headline=Important|text=This FAQ relates to the full TDM release version only. For players of the pre-release demos such as '''[[Thief's Den]]''' and '''[[Saint_Lucia|Tears of Saint Lucia]]''' please refer to the '''[[FAQ (Demo Releases)|Demo FAQ]]'''.'''}}<br />
<br />
== What Doom versions are supported? ==<br />
<br />
=== Can I use the Demo version of Doom 3? ===<br />
<br />
No, sorry.<br />
<br />
=== Does it run with the Steam version of Doom 3? ===<br />
<br />
Yes :) You need to install the mod into the directory where Steam put Doom3, this might be under:<br />
<br />
C:\Program Files\Steam\steamapps\common\doom 3<br />
<br />
or a similiar folder.<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
== Patching Doom 3 to verson 1.3.1.1304 ==<br />
<br />
=== How can I check whether my Doom 3 is correctly patched? ===<br />
<br />
Open Doom 3 and hit {{key|Ctrl}}+{{key|Alt}}+{{key|~}} (tilde, {{key|^}} on German keyboards) to open the console. You'll see the version printed in the lower left corner of the console. It should read '''1.3.1.1304'''. If your version is ending on 1302, you've got the wrong patch installed.<br />
<br />
=== Where can I get the right patch? ===<br />
<br />
We have the patch hosted on our FTP. See the [[Installation]] article to find a link to it.<br />
<br />
If you have version 1.3.1.1302, you may need to uninstall and reinstall before patch 1.3.1.1304 will let you apply it.<br />
<br />
=== What's that issue with the 1.3.1 patch? ===<br />
<br />
When the 1.3.1 patch was released by Id, they released it a bit too early. Some download sites picked it up quite fast though and started to distribute it. The problem is, that Id replaced that patch with a different one, and, probably thinking that it hadn't spread yet, didn't bother to change the version number. However, you can still find "wrong" 1.3.1 patches and these will not work with the mod. That's why it is important to check the version number in the console to make sure that the right 1.3.1 patch is installed if the mod doesn't work. The link provided here on our own page points to the correct patch, so if you downloaded it from here you don't need to worry about it.<br />
<br />
== Supported Operating Systems ==<br />
<br />
=== Which Windows versions can I use? ===<br />
<br />
Doom 3 needs at least Windows XP or Windows 2000. Saint Lucia was successfully run under Windows XP and Vista. Support for 64 bit Windows or Windows 2000 was not tested.<br />
<br />
=== Does it run in Linux? ===<br />
Yes, Linux is supported. <br />
=== Does it run in 64 Bit Linux? ===<br />
Yes, Linux 64 bit is supported. In addition to the steps above, you need 32 bit compatibility libraries, since Doom3 is 32 bit only:<br />
* On '''SuSE''', they should be included.<br />
* On Ubuntu/Kubuntu, install the package '''ia32'''.<br />
<br />
For TDM after 1.0, this step should be '''no''' longer neccessary:<br />
<br />
* Since you cannot install 32 bit libraries on a 64 bit system with the normal package manager, you should use [http://ubuntuforums.org/showthread.php?t=474790 getlibs] to install '''libmng''' and the boost filesystem lib:<br />
:<code>getlibs libmng.so.1</code><br />
:<code>getlibs -l libboost-filesystem1.34.1</code><br />
<br />
=== What about Gentoo? ===<br />
Yes. It's not "officially" supported (the team doesn't test it specifically), however several users have reported success running TDM under Gentoo.<br />
<br />
=== What about Ubuntu 8.10? ===<br />
Yes. As of this writing you will need to install the '''libboost-filesystem''' package.<br />
<br />
=== GLIBCXX_3.4.9 errors ===<br />
<br />
If you receive an error about <tt>GLIBCXX_3.4.9</tt>, delete or rename the files <code>/usr/local/games/doom3/libstdc++.so.6</code> and <code>/usr/local/games/doom3/libgcc_s.so.1.</code><br />
<br />
If this doesn't resolve the error and you have an old version of GCC, then you may have to upgrade. It has been [http://modetwo.net/darkmod/index.php?/topic/9982-the-dark-mod-doom3-in-linux/ confirmed] that, at least under Gentoo, GCC 4.1 does not work with TDM but GCC 4.3 and GCC 4.4 are compatible.<br />
<br />
=== Does it run on Mac OS X?===<br />
No. Or at least not yet. The Doom 3 game itself does support Mac OS X, but The Dark Mod currently does not because we don't have any developers who use Macs. If you can help us getting it to run on OS X, please [http://modetwo.net/darkmod/index.php?showforum=11 let us know on the forum].<br />
<br />
Since TDM works on Linux already, getting it working on OS X should not be too difficult for anyone with experience programming for that platform. In theory it's just a question of figuring out how to build the mod, sorting out dependencies, and writing a few pieces of platform-specific code.<br />
<br />
== Graphics ==<br />
<br />
=== Does TDM support widescreen resolutions? ===<br />
<br />
Yes. Choose "16:9" or "16:10" in the in-game ''Settings'' menu, and select the appropriate resolution. Note that you need to restart the game to have the new setting in effect.<br />
<br />
If the native resolution of your wide screen monitor is not listed, you can enter it into '''DoomConfig.cfg''' by changing the following entries like so:<br />
<br />
set r_mode -1<br />
set r_customwidth 1280<br />
set r_customheight 800 <br />
<br />
Note that if you get performance problems, it might be better to halve the resolution in both directions. Please see also [[Performance Tweaks]].<br />
<br />
== Troubleshooting ==<br />
<br />
It is hard to answer question on why something fails, because wildly different systems cause wildy different symptoms. If the following section does not help you, please ask at out our [http://www.modetwo.net/darkmod forums].<br />
<br />
=== Updater (tdm_update.exe) closes almost as soon as it's started ===<br />
<br />
See the [[Tdm_update#Updater_closes_almost_as_soon_as_it.27s_started|main article on tdm_update]].<br />
<br />
=== FM downloaded but won't play ===<br />
<br />
If you have downloaded an FM you might see it in the New Missions List but can't get it to play. These are almost always an install problem. These are some of the causes and cures:<br />
<br />
FMs (fan missions) are archives and MUST be suffixed .pk4 not zip. Apparently Internet Explorer 8 may change it from pk4 to zip during download without telling you. You need to rename it back.<br />
<br />
You MUST use doom3\darkmod\tdmlauncher.exe to run Dark Mod in Windows and NOT Doom3.exe.<br />
<br />
You do NOT need to extract the pk4 archives to install or play. Just download into or move the pk4 into the darkmod\fms folder. Optionally you can create a folder of the same name as the map and put it in there, eg, darkmod\fms\chalice but there is no need because Dark Mod will create that automatically. Just make sure your pk4 goes, unopened, into the fms folder then run tdmlauncher.exe<br />
<br />
If you have done the above but see for example, a blank objectives screen and no briefing then it is still almost certainly an install error. I recommend you do a clean sweep if in doubt:<br />
* exit Dark Mod<br />
* delete doom3\darkmod\currentfm.txt (this just uninstalls any FM)<br />
* Delete the map game folder (if any) This is NOT the folder in fms but the folder in doom3 of the same name as the FM, eg, doom3\chalice. Note: this has savegames and screenshots in so check and move them out if you want to preserve them. However, if you can't get the game to play it's likely you don't have any yet. If you can't see the folder don't worry. The folder name is normally the same as the pk4 but it might not be. Strictly speaking it must be the same as the name in startingmap.txt inside the pk4 archive. You might see this file in fms.<br />
* Move the pk4 into the darkmod\fms folder if it is not already there.<br />
* Delete the darkmod\fms\FMname folder if any, eg, darkmod\fms\chalice. Don't worry if there isn't one; it will be created automatically later.<br />
<br />
So all that is left is the pk4 in the fms folder. Now run tdmlauncher.exe. The FM should be in the list in the New Missions menu. Re-install it and you should now be able to play it.<br />
<br />
=== The game crashes on load ===<br />
Make sure that:<br />
* You installed [[#Patching_Doom_3_to_verson_1.3.1.1304|the correct version]] of the Doom 3 1.3.1 patch.<br />
* Your system meets at least the minimum system specs. <br />
* You have enough free main memory. Try closing a few running programs like Outlook, Anti-Virus or torrent clients.<br />
<br />
==== Unknown event 'moveToCoverFrom'" ====<br />
If you get a message like:<br />
<br />
ERROR: Error: file script\doom_events.script, line 1038: Unknown event 'moveToCoverFrom'<br />
<br />
or see this in the log:<br />
<br />
found DLL in pak file: C:\Program Files\Doom 3\darkmod\tdm_game01.pk4/gamex86.dll<br />
copy gamex86.dll to C:\Program Files\Doom 3\darkmod\gamex86.dll<br />
could not create destination file<br />
<br />
then try extracting that gamex86.dll manually from '''tdm_game01.pk4''' with Winzip or a similiar program into that folder.<br />
<br />
The reason is very probably that you installed Doom3 into a folder with a space in it, and it seems Doom3 does not like that. Sorry.<br />
<br />
=== Unknown event 'setEntityRelation' ===<br />
The game is crashing to a small blue screen on startup:<br />
<br />
[[Image:ErrorSetEntityRelation.jpg]]<br />
<br />
The reason for this error is most likely an old version of gamex86.dll (or gamex86.so) lying around in your Doom 3 folder. Delete that file and try again.<br />
<br />
=== Textures are missing, screen mostly black ===<br />
<br />
[[Image:Tdm missing textures.jpg|right|240px|Black textures]]<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the<br />
following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "0"<br />
seta image_preload "1"<br />
</pre><br />
<br />
=== The briefing is very fuzzy ===<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the<br />
following settings are like shown below:<br />
<br />
seta image_roundDown "1"<br />
seta image_forceDownSize "0"<br />
seta image_downSize "0"<br />
<br />
=== The sky is corrupted ===<br />
<br />
You either see black sky, or fragments of other textures. This seems only to happen on Geforce 6800 cards.<br />
<br />
There are two fixes for this:<br />
<br />
As a quick fix you can rename the following folder:<br />
<br />
env/skyboxes/skybox_darkland_ne<br />
<br />
to an different name. That will result in black sky.<br />
<br />
Alternatively, edit the file <tt>materials/tdm_sky.mtr</tt> with '''Wordpad''' or a different editor and<br />
find the sky material named '''textures/darkmod/nature/skybox/skybox_darkland_NE''':<br />
<br />
<pre><br />
//Author: Dram<br />
//skybox_ocean with ocean replaced with dark land<br />
//Moon moved to north east by Fidcal<br />
textures/darkmod/nature/skybox/skybox_darkland_NE<br />
{<br />
qer_editorimage env/skyboxes/skybox_ocean/ocean_ed<br />
noFragment<br />
noshadows<br />
noimpact<br />
nooverlays<br />
forceOpaque<br />
{<br />
forceHighQuality<br />
blend add<br />
cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE<br />
texgen skybox<br />
texgen wobblesky .0 .0 .0<br />
}<br />
}<br />
</pre><br />
<br />
In this declaration, comment out the line that reads '''forceHighQuality''' by adding <tt>//</tt> in front of it:<br />
<br />
// forceHighQuality<br />
<br />
That should fix the sky and make it render correctly.<br />
<br />
=== Sky rotates ===<br />
<br />
If you see the sky spinning it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also gives better loading times and cures bloom problem.<br />
<br />
<br />
=== Bloom problems ===<br />
<br />
If have a problem with bloom it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also gives better loading times and cures spinning sky problem.<br />
<br />
=== The game is '''very''' slow! ===<br />
<br />
If you get loading times of 5 minutes or more, less than 10 FPS, or the game even stutters, please try this:<br />
<br />
Look into your '''DoomConfig.cfg''' inside your <tt>darkmod</tt> folder and check that the<br />
following settings are like shown below:<br />
<br />
<pre style="max-width:35em"><br />
seta image_usePrecompressedTextures "1"<br />
seta image_useNormalCompression "2"<br />
seta image_useAllFormats "1"<br />
seta image_useCompression "1"<br />
seta image_preload "1"<br />
</pre><br />
<br />
If that doesn't help, your system might run out of memory. Either upgrade to more than 1 Gbyte memory,<br />
or try to close some other applications before playing.<br />
<br />
Please see also the article about [[Performance Tweaks]] to improve the performance.<br />
<br />
=== Slow loading times ===<br />
<br />
If you find an FM is very slow to load it may be an ATI graphics card problem. One report says this was cured by turning off Catalyst AI. Also cures bloom and spinning sky problem.<br />
<br />
<br />
===Underwater performance poor===<br />
<br />
If you get very low framerates underwater then try turning off bloom.<br />
<br />
===Upside-down screen===<br />
<br />
If you get an upside-down screen, try turning off bloom.<br />
<br />
===Game freezes for several seconds when opening doors===<br />
Solution to problems:<br />
<br />
A) "game freezes and loads some data from hard drive while opening doors"<br />
<br />
B) "while loading mission you are returned to the menu and need to restart loading"<br />
<br />
is<br />
DISABLE EAX 4.0 HD in Audio Settings menu.<br />
<br />
===Game exits to menu after mission load, with renderpipe error in console===<br />
<br />
'''Symptoms:''' Missions are installed properly and will load, but after they reach 100% you are returned to the main menu or objectives screen. If you open the console (Ctrl-Alt-~ on US keyboards), you see one/both of these errors:<br />
<br />
ERROR: Failed to open \\.\pipe\dm_renderpipe<br />
<br />
or<br />
<br />
ERROR: idRenderSystemLocal::uncrop currentcrop <1 <br />
<br />
'''Solution:''' Some firewalls, notably ''Sunbelt Firewall'' (aka ''Kerio Firewall'') are known to interfere with TDM's lightgem, ''even when "disabled"''. To fix this problem, completely uninstall the firewall, and get a different one instead.<br />
<br />
==="COULD NOT FIND TDMLAUNCHER" when installing an FM===<br />
<br />
If you receive this error message you should check the start-arguments of DOOM3.exe / tdmlauncher.exe. Arguments are stored in darkmod/dmargs.txt and a faulty syntax e.g. a missing "+" before a "set"-command, will lead to this error message. Steam-users are advised to remove any launch-options from Doom.<br />
<br />
== Known bugs ==<br />
See article [[Known Bugs]].<br />
<br />
=== Changing the screen resolution/aspect ratio does nothing!? ===<br />
These changes require a restart of Doom to work. <br />
<br />
=== Steam launches D3, not TDM ===<br />
<br />
Whenever you start Steam and it does launch vanilla Doom instead of TDM, make sure you<br />
follow this advice:<br />
<br />
'''Important:''' Create a shortcut on your desktop and set it to the following:<br />
<br />
steam.exe -applaunch 9050 +set fs_game_base darkmod<br />
<br />
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.<br />
<br />
[[Category:General]] [[Category:Installation]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Texture_Guidelines&diff=9830Texture Guidelines2010-03-24T11:41:18Z<p>Stifu: Added exception for skybox textures</p>
<hr />
<div>This should be a rough guideline for choosing the correct dimensions and format for your custom TDM texture.<br />
<br />
== Dimensions == <br />
* Diffusemap: '''max. 1024 pixels''' (when used for smaller areas: 512)<br />
* Normalmap: '''max. 1024 pixels'''<br />
* Specular: '''max. 512 pixels'''<br />
* Editor image: '''max. 256 pixels'''<br />
<br />
== Compression Standards ==<br />
* Diffusemaps: DDS (DXT1/DXT3)<br />
* Normalmap: TGA (uncompressed, no RLE)<br />
* Specularmap: DDS<br />
* Editor Image: JPG (medium quality (e.g. 85 in Photoshop), not over-compressed)<br />
<br />
* If the texture is to be included in TDM : A high res copy of the diffusemap (can be RLE)<br />
<br />
== Naming Conventions ==<br />
Assuming your texture is named '''rough_grey_dirty''', the names are<br />
* Diffusemap: '''rough_grey_dirty.dds'''<br />
* Normalmap: '''rough_grey_dirty_local.tga'''<br />
* Specularmap: '''rough_grey_dirty_s.dds'''<br />
* Editor Image: '''rough_grey_dirty_ed.jpg'''<br />
<br />
* Nontiling textures have the '''_nontiling_''' part in their name: '''rough_grey_dirty_nontiling_local.tga'''<br />
* Textures tiling into one dimension only get the '''_tiling1d_''' part added: '''rough_grey_dirty_tiling1d_local.tga'''<br />
<br />
* Heightmaps: '''rough_grey_dirty_h.tga'''<br />
* Alphamaps: '''rough_grey_dirty_a.tga'''<br />
* Occlusion maps: '''rough_grey_dirty_occ.tga'''<br />
<br />
== Exceptions ==<br />
* Skyboxes: Doom can't handle DDS for Skyboxes, so uncompressed TGA should be used here. If the dimensions of your skybox textures exceed 1024 Pixels, JPEG compression on maximum quality should be applied. (Uncompressed TGA on six 2048 x 2048 textures would result in 72 MB altogether, which is definitely too much and the high resolution will compensate the anyway negligible JPEG artifacts.)<br />
<br />
== Material File Conventions ==<br />
See here: [[Material File Naming Convention]]<br />
<br />
Remember: Do keep a backup of the ultra hi-res versions of your work as well as your working files (photoshop, gimp files). These should be added to the '''texture_src''' repository, which keeps all the "working" or "source files".<br />
<br />
== See also ==<br />
* [[DDS creation]]<br />
* [[How to add Textures to The Dark Mod]]<br />
<br />
{{tutorial-textures}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_1.02&diff=9820What's new in TDM 1.022010-03-22T09:07:07Z<p>Stifu: </p>
<hr />
<div>See also the changelog on our bugtracker page: [http://bugs.angua.at/changelog_page.php?project_id=2 Changelog].<br />
<br />
== Bugs fixed ==<br />
* [http://bugs.angua.at/view.php?id=2151 #2151]: replaceInvItem() script event didn't accept $null_entity <br />
* [http://bugs.angua.at/view.php?id=2174 #2174]: "snd_alert3hc" was not used by the code due to a typo<br />
* [http://bugs.angua.at/view.php?id=2172 #2172]: attachToPos scriptevent not working<br />
<br />
== Textures ==<br />
List of new and improved textures:<br />
<br />
STiFU:<br />
* textures/darkmod/nature/skybox/mountain_sunset<br />
<br />
== See also ==<br />
<br />
* [http://thedarkmod.com/downloads.php Download TDM]<br />
* [[What's new in TDM 1.01]]<br />
<br />
{{whatsnew}}</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Readable_Editor&diff=9788Readable Editor2010-03-12T11:30:37Z<p>Stifu: Advise for pure Translators extended</p>
<hr />
<div>--[[User:Stifu|Stifu]] 16:00, 10 March 2010 (UTC)<br />
[[Image:ReadableEditor.jpg|300px|thumb|right|The Readable Editor]]The ''Readable Editor'' is a [http://en.wikipedia.org/wiki/What_you_see_is_what_you_get WYSIWYG-Editor] for the readable entities in ''The Dark Mod'' and it is a feature of ''Dark Radiant'' since version 1.2.0 requiring at least version 1.01 of ''The Dark Mod''. Up until now, the workflow for creating readables was tiresome, especially because you had to keep ''Dark Mod'' running in the background in order to be able to check if linebreaks and pagebreaks look alright et cetera. But those days are over, as we decided to provide an easy-to-use graphical user interface for creating such texts.<br />
<br />
<br />
== The new workflow ==<br />
Setting up a readable is fairly easy. Just [[Readables|add a readable entity to your map]] and start the ''Readable Editor'' via the Entity-menu. Once you hit either one of the Save-buttons, the [[XData File Creation|XData]] and Inventory Name are stored on your selected entity and the newly written text is exported to an .xd file. If you open the ''Readable Editor'' on that entity again or any other entity which was already setup with an XData definition, the corresponding definition is of course imported automatically.<br />
<br />
=== Fine, but where is my new XData Definition stored? ===<br />
The title-bar of the ''Readable Editor'' holds the answer to this question. New XData definitions will be added to an .xd file that is named just like your current map. If you import an existing definition (or again, if you start the Readable Editor on a readable entity already setup with an XData definition) any alterations will be stored in the file the definition originated from. This approach prevents the creation of duplicated XData definitions. '''Important: As soon as you change the XData Name in the editor, a new definition will be created in the file, whose name is again derived from the name of your map.'''<br />
<br />
You can specify the storage folder for XData in the Preferences dialog of ''Dark Radiant'' under "Settings/Readable Editor". The pulldown menu offers options to store the files in the "xdata" subfolder of your Mod or Mod Base directory, as well as in a custom folder which can be specified below. Please note that while you can specify any folder you want for exporting, ''Dark Radiant'' and its ''Readable Editor'' can only import XData definitions that are contained in .xd files located somewhere in the "xdata" subfolder of the Base-, Mod- or Mod_Base-directory. Definitions in "base/xdata/myStuff/SomeXData.xd" for example can be found, but not if they are stored in "base/myStuff/SomeXData.xd".<br />
<br />
=== Is the Preview broken? My Title overlaps with my Body! ===<br />
No, it's not, the preview is very precise. The GUIs for readables have intentionally been laid out like this to allow the writing of continuous texts without titles. You just have to add some line-breaks to your body until it looks right. And since we are talking about presumably faulty previews here, please also note that some titles of GUIs do not support multiple lines, resulting in some parts of your title not being rendered.<br />
<br />
=== Features, Tips and Tricks ===<br />
The editing process itself is pretty straight forward. At this point I would just like to point out a few not so apparent features.<br />
<br />
* '''Appending and prepending pages''': If you're currently editing the first or the last page of your readable and you click on first/previous page respectively last/next page, a small convenient small popup will show up, allowing you to prepend or append a page.<br />
* '''Converting the Page Layout''': No content is discarded when you change the Page Layout of your readable. If you should realize that the letter you just wrote would be much more suitable as a diary entry, feel free to just convert it.<br />
* '''Choosing Guis''': Just like with XData definitions, you can use one gui per page. You can enter a gui by hand or choose one using the Gui-Browser, which directly previews the selected gui. The browser holds two tabs, one for OneSided- and one for Two-Sided guis. Switching the tab will also change the page layout of your readable and update the preview accordingly.<br />
* '''Inserting and deleting pages''': When you're writing a Two-sided readable, clicking on either one of these buttons will result in a popup, asking you whether the respective operation should be applied to the left or right side or the whole page.<br />
* '''Browsing XData definitions''': Well, there's not much to say about this one. Selected definitions are previewed and if you choose to import a definition, which has been defined in multiple files, another dialog will show up, allowing you to select the file to import. While the ''Readable Editor'' supports this duplicated definitions, ''The Dark Mod'' does not, so you should definitely go ahead and fix this by hand. You'd have to open the corresponding files by hand and delete the definition.<br />
* '''The Tools-menu''': When clicking the Tools-button a small popup menu offers you to display an import summary of the last XData import or the gui import, as well as a report of duplicated definitions found in the Virtual File System (All .xd files found in the .pk4 files or in actual folders).<br />
* '''Reloading Readable Guis''': All Readable Guis can be reloaded by clicking on "File/Reload Readable Guis" in the Main-menu. A similar option for XData definition is not necessary, because those are loaded completely afresh every time the ''Readable Editor'' is started.<br />
* '''Automatic Page Layout Determination''': When you start the ''Readable Editor'' on a newly create readable entity, its page layout will be determined automatically. However, the decision poses a rather greedy approach, as it's simply checked whether the entity name contains the string "book". So you might have to adjust the layout manually afterwards.<br />
<br />
== Known Issues ==<br />
The ''Readable Editor'' is still Work-In-Progress and there will likely be many changes in the future because of that. But it is pretty much in a very well usable state, so we decided to release it to the public already. Here are some of the issues the editor still has:<br />
* The Readable Editor seems to crash in certain circumstances when compatibility-mode is enabled on DarkRadiant.exe. Make sure to disable it if you run into any problems!<br />
* Some two-sided guis are not yet fully supported.<br />
* Some XData definitions can't be imported, specifically those that feature certain import-statements.<br />
<br />
== Planned Features / Ideas for the Future == <br />
* Notify the user when a character was typed that is not available in the font. Possibly even prevent adding it to the textfield.<br />
* If the end of a page is reached in the preview, the editor should automatically jump to the next textView field and somehow notify the user about the page-break.<br />
* Features for the Tools-menu:<br />
** Resolve conflicts on duplicated definitions.<br />
** Check XData Syntax of a specified file.<br />
* A Readable Editor Dialog specifically for Translators with two previews, one of them for the original.<br />
<br />
If you have any other good ideas, feel free to make a suggestion in the [http://modetwo.net/darkmod/index.php?/forum/54-tdm-editors-guild/ TDM Editors Guild].<br />
<br />
== Advise for pure Translators ==<br />
Here are some steps that will make your life easier:<br />
# '''Creating a .map file and setting up ''Dark Radiant''''':<br />
## In ''Dark Radiant'' right-click on one of the orthogonal views and choose "Create Entity...".<br />
## Browse to "darkmod/readables" and choose a readable entity to add. It basically doesn't matter which one you pick, but it's always useful to have one that is actually visible.<br />
## Move the entity directly in front of the camera by draging it on the orthogonal views. You can select an entity be shift+clicking it, deselect by pressing "Escape".<br />
## Save the map under a convenient filename like "MyAwesomeReadableTranslationMap.map". You will use this map for all your translations. No need to open the map file of the target FM.<br />
## Press "P" to bring up the preferences dialog of ''Dark Radiant'', go to "Settings/Map Files" and check "Open last map on startup". Now every time you start your ''Dark Radiant'', your map is loaded and you can directly jump into translating.<br />
# '''Making the original Readables available to ''Dark Radiant'' and starting the translation process''':<br />
## Open the .pk4 file of the FM using winrar or similar and extract the contained "xdata" folder into your "darkmod"-directory. It should say "darkmod/xdata" after that! The alterations you make to the texts will be stored directly in those files, if you don't change the XData Name (which you shouldn't in most cases!).<br />
## In ''Dark Radiant'' select the readable entity and click "Entity/Readable Editor" in the Main-menu.<br />
## Use the XData-browser accessed by the small button in the "XData Name"-row to import the XData definitions of the FM.<br />
## Start translating... It might be useful to cut and paste the original text-part you're going to edit into any random text editor beforehand.<br />
## When you're done, you can click on save and directly open the next definition.<br />
<br />
To verify your work, you can just start ''The Dark Mod'' in the end and load the corresponding FM. Because Doom 3 prefers files found in actual folders over files found in .pk4 files, your translation will be visible ingame, without destroying/altering the original FM-package.<br />
<br />
Some mappers don't use virtual folders in their XData names, e.g. "readables/MyFM/MyReadable". So, to make the browsing of the XData files easier and quicker, you can open the .xd file(s) of the FM in any texteditor and prepend for example "translation/" before any XData name. All readables you have to translate will then be listed in the virtual "translation" folder in the XData browser of the ''Readable Editor''. But if you want to see those translations ingame afterwards, you'll also have to delete that prefix in all those XData names later again or delete it within the ''Readable Editor''. Please note however, that those definitions will be stored under a different filename then, as explained above. This is no problem though, I just wanted to point it out.<br />
<br />
[[Category:Tutorial]]<br />
[[Category:Editing]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Readable_Editor&diff=9753Readable Editor2010-03-11T15:49:41Z<p>Stifu: </p>
<hr />
<div>--[[User:Stifu|Stifu]] 16:00, 10 March 2010 (UTC)<br />
[[Image:ReadableEditor.jpg|300px|thumb|right|The Readable Editor]]The ''Readable Editor'' is a [http://en.wikipedia.org/wiki/What_you_see_is_what_you_get WYSIWYG-Editor] for the readable entities in ''The Dark Mod'' and it is a feature of ''Dark Radiant'' since version 1.2.0 requiring at least version 1.01 of ''The Dark Mod''. Up until now, the workflow for creating readables was tiresome, especially because you had to keep ''Dark Mod'' running in the background in order to be able to check if linebreaks and pagebreaks look alright et cetera. But these days are over, as we decided to provide an easy-to-use graphical user interface for creating such texts.<br />
<br />
<br />
== The new workflow ==<br />
Setting up a readable is fairly easy. Just [[Readables|add a readable entity to your map]] and start the ''Readable Editor'' via the Entity-menu. Once you hit either one of the Save-buttons, the [[XData File Creation|XData]] and Inventory Name are stored on your selected entity and the newly written text is exported to an .xd file. If you open the ''Readable Editor'' on that entity again or any other entity which was already setup with an XData definition, the corresponding definition is of course imported automatically.<br />
<br />
=== Fine, but where is my new XData Definition stored? ===<br />
The title-bar of the ''Readable Editor'' holds the answer to this question. New XData definitions will be added to an .xd file that is named just like your current map. If you import an existing definition (or again, if you start the Readable Editor on a readable entity already setup with an XData definition) any alterations will be stored in the file the definition originated from. This approach prevents the creation of duplicated XData definitions. As soon as you change the XData Name in the editor - '''this is important''' - a new definition will be created in the file, whose name is again derived from the name of your map.<br />
<br />
You can specify the storage folder for XData in the Preferences dialog of ''Dark Radiant'' under "Settings/Readable Editor". The pulldown menu offers options to store the files in the "xdata" subfolder of your Mod or Mod Base directory, as well as in a custom folder which can be specified below. Please note that while you can specify any folder you want for exporting, ''Dark Radiant'' and its ''Readable Editor'' can only import XData definitions that are contained in .xd files located somewhere in the "xdata" subfolder of the Base-, Mod- or Mod_Base-directory. Definitions in "base/xdata/myStuff/SomeXData.xd" for example can be found, but not if they are stored in "base/myStuff/SomeXData.xd".<br />
<br />
=== Is the Preview broken? My Title overlaps with my Body! ===<br />
No, it's not, the preview is very precise. The guis for readables have intentionally been layouted like this to allow writing of continuous texts without titles. You just have to add some line-breaks to your body until it looks right. And since we are talking about presumably faulty previews here, please also note that some titles of guis don't support multiple lines, resulting in some parts of your title not being rendered.<br />
<br />
=== Features, Tips and Tricks ===<br />
The editing process itself is pretty much straight forward. At this point I would just like to point out a few features, those of which being not so apparent at first.<br />
* '''Appending and prepending pages''': If you're currently editing the first or the last page of your readable and you click on first/previous page respectively last/next page, a small convenient small popup will show up, allowing you to prepend or append a page.<br />
* '''Converting the Page Layout''': No content is discarded when you change the Page Layout of your readable. If you should once feel like the letter you just wrote would be much more suitable as a diary entry, feel free to just convert!<br />
* '''Choosing Guis''': Just like with XData definitions, you can use one gui per page. You can enter a gui by hand or choose one using the Gui-Browser, which directly previews the selected gui. The browser holds two tabs, one for OneSided- and one for Two-Sided guis. Switching the tab will also change the page layout of your readable and update the preview accordingly.<br />
* '''Inserting and deleting pages''': When you're writing a Two-sided readable, clicking on either one of these buttons will result in a popup, asking you whether the respective operation should be applied to the left or right side or the whole page.<br />
* '''Browsing XData definitions''': Well, there's not much to say about this one. Selected definitions are previewed and if you choose to import a definition, which has been defined in multiple files, another dialog will show up, allowing you to select the file to import. While the ''Readable Editor'' supports this duplicated definitions, ''The Dark Mod'' does not, so you should definitely go ahead and fix this by hand. You'd have to open the corresponding files by hand and delete the definition.<br />
* '''The Tools-menu''': When clicking the Tools-button a small popup menu offers you to display an import summary of the last XData import or the gui import, as well as a report of duplicated definitions found in the Virtual File System (All .xd files found in the .pk4 files or in actual folders).<br />
* '''Reloading Readable Guis''': All Readable Guis can be reloaded by clicking on "File/Reload Readable Guis" in the Main-menu. A similar option for XData definition is not necessary, because those are loaded completely afresh every time the ''Readable Editor'' is started.<br />
* '''Automatic Page Layout Determination''': When you start the ''Readable Editor'' on a newly create readable entity, its page layout will be determined automatically. However, the decision poses a rather greedy approach, as it's simply checked whether the entity name contains the string "book". So you might have to adjust the layout manually afterwards.<br />
<br />
== Known Issues ==<br />
The ''Readable Editor'' is still Work-In-Progress and there will likely be many changes in the future because of that. But it is pretty much in a very well usable state, so we decided to release it to the public already. Here are some of the issues the editor still has:<br />
* The Readable Editor seems to crash in certain circumstances when compatibility-mode is enabled on DarkRadiant.exe. Make sure to disable it if you run into any problems!<br />
* Some two-sided guis are not yet fully supported.<br />
* Some XData definitions can't be imported, specifically those that feature certain import-statements.<br />
<br />
== Planned Features / Ideas for the Future == <br />
* Notify the user when a character was typed that is not available in the font. Possibly even prevent adding it to the textfield.<br />
* If the end of a page is reached in the preview, the editor should automatically jump to the next textView field and somehow notify the user about the page-break.<br />
* Features for the Tools-menu:<br />
** Resolve conflicts on duplicated definitions.<br />
** Check XData Syntax of a specified file.<br />
* A Readable Editor Dialog specifically for Translators with two previews, one of them for the original.<br />
<br />
If you have any other good ideas, feel free to make a suggestion in the [http://modetwo.net/darkmod/index.php?/forum/54-tdm-editors-guild/ TDM Editors Guild].<br />
<br />
== Advise for pure Translators ==<br />
Here are some steps that will make your life easier:<br />
# '''Creating a .map file and setting up ''Dark Radiant''''':<br />
## In ''Dark Radiant'' right-click on one of the orthogonal views and choose "Create Entity...".<br />
## Browse to "darkmod/readables" and choose a readable entity to add. It basically doesn't matter which one you pick, but it's always useful to have one that is actually visible.<br />
## Move the entity directly in front of the camera by draging it on the orthogonal views. You can select an entity be shift+clicking it, deselect by pressing "Escape".<br />
## Save the map under a convenient filename like "MyAwesomeReadableTranslatingMap.map".<br />
## Press "P" to bring up the preferences dialog of ''Dark Radiant'', go to "Settings/Map Files" and check "Open last map on startup". Now every time you start your ''Dark Radiant'', your map is loaded and you can directly jump into translating.<br />
# '''Making the original Readables available to ''Dark Radiant'' and starting the translation process''':<br />
## Open the .pk4 file of the FM using winrar or similar and extract the contained "xdata" folder into your "darkmod"-directory. It should say "darkmod/xdata" after that! The alterations you make to the texts will be stored directly in those files, if you don't change the XData Name (which you shouldn't in most cases!).<br />
## In ''Dark Radiant'' select the readable entity and click "Entity/Readable Editor" in the Main-menu.<br />
## Use the XData-browser accessed by the small button in the "XData Name"-row to import the XData definitions of the FM.<br />
## Start translating... It might be useful to cut and paste the original text-part you're going to edit into any random text editor beforehand.<br />
## When you're done, you can click on save and directly open the next definition.<br />
<br />
To verify your work, you can just start ''The Dark Mod'' in the end and load the corresponding FM. Because Doom 3 prefers files found in actual folders over files found in .pk4 files, your translation will be visible ingame, without destroying/altering the original FM-package.<br />
<br />
Some mappers don't use virtual folders in their XData names, e.g. "readables/MyFM/MyReadable". So, to make the browsing of the XData files easier and quicker, you can open the .xd file(s) of the FM in any texteditor and prepend for example "translation/" before any XData name. All readables you have to translate will then be listed in the virtual "translation" folder in the XData browser of the ''Readable Editor''. But if you want to see those translations ingame afterwards, you'll also have to delete that prefix in all those XData names later again or delete it within the ''Readable Editor''. Please note however, that those definitions will be stored under a different filename then, as explained above. This is no problem though, I just wanted to point it out.<br />
<br />
[[Category:Tutorial]]<br />
[[Category:Editing]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Readable_Editor&diff=9752Readable Editor2010-03-11T15:46:34Z<p>Stifu: Added passage about titles overlapping bodies.</p>
<hr />
<div>--[[User:Stifu|Stifu]] 16:00, 10 March 2010 (UTC)<br />
[[Image:ReadableEditor.jpg|300px|thumb|right|The Readable Editor]]The ''Readable Editor'' is a [http://en.wikipedia.org/wiki/What_you_see_is_what_you_get WYSIWYG-Editor] for the readable entities in ''The Dark Mod'' and it is a feature of ''Dark Radiant'' since version 1.2.0 requiring at least version 1.01 of ''The Dark Mod''. Up until now, the workflow for creating readables was tiresome, especially because you had to keep ''Dark Mod'' running in the background in order to be able to check if linebreaks and pagebreaks look alright et cetera. But these days are over, as we decided to provide an easy-to-use graphical user interface for creating such texts.<br />
<br />
<br />
== The new workflow ==<br />
Setting up a readable is fairly easy. Just [[Readables|add a readable entity to your map]] and start the ''Readable Editor'' via the Entity-menu. Once you hit either one of the Save-buttons, the [[XData File Creation|XData]] and Inventory Name are stored on your selected entity and the newly written text is exported to an .xd file. If you open the ''Readable Editor'' on that entity again or any other entity which was already setup with an XData definition, the corresponding definition is of course imported automatically.<br />
<br />
=== Fine, but where is my new XData Definition stored? ===<br />
The title-bar of the ''Readable Editor'' holds the answer to this question. New XData definitions will be added to an .xd file that is named just like your current map. If you import an existing definition (or again, if you start the Readable Editor on a readable entity already setup with an XData definition) any alterations will be stored in the file the definition originated from. This approach prevents the creation of duplicated XData definitions. As soon as you change the XData Name in the editor - '''this is important''' - a new definition will be created in the file, whose name is again derived from the name of your map.<br />
<br />
You can specify the storage folder for XData in the Preferences dialog of ''Dark Radiant'' under "Settings/Readable Editor". The pulldown menu offers options to store the files in the "xdata" subfolder of your Mod or Mod Base directory, as well as in a custom folder which can be specified below. Please note that while you can specify any folder you want for exporting, ''Dark Radiant'' and its ''Readable Editor'' can only import XData definitions that are contained in .xd files located somewhere in the "xdata" subfolder of the Base-, Mod- or Mod_Base-directory. Definitions in "base/xdata/myStuff/SomeXData.xd" for example can be found, but not if they are stored in "base/myStuff/SomeXData.xd".<br />
<br />
=== Is the Preview broken? My Title overlaps with my Body! ===<br />
No, it's not, the preview is very precise. The guis for readables have intentionally been layouted like this to allow writing of continuous texts without titles. You just have to add some line-breaks to your body until it looks right. And since we are talking about the preview here anyway, please also note that some titles of guis don't support multiple lines.<br />
<br />
=== Features, Tips and Tricks ===<br />
The editing process itself is pretty much straight forward. At this point I would just like to point out a few features, those of which being not so apparent at first.<br />
* '''Appending and prepending pages''': If you're currently editing the first or the last page of your readable and you click on first/previous page respectively last/next page, a small convenient small popup will show up, allowing you to prepend or append a page.<br />
* '''Converting the Page Layout''': No content is discarded when you change the Page Layout of your readable. If you should once feel like the letter you just wrote would be much more suitable as a diary entry, feel free to just convert!<br />
* '''Choosing Guis''': Just like with XData definitions, you can use one gui per page. You can enter a gui by hand or choose one using the Gui-Browser, which directly previews the selected gui. The browser holds two tabs, one for OneSided- and one for Two-Sided guis. Switching the tab will also change the page layout of your readable and update the preview accordingly.<br />
* '''Inserting and deleting pages''': When you're writing a Two-sided readable, clicking on either one of these buttons will result in a popup, asking you whether the respective operation should be applied to the left or right side or the whole page.<br />
* '''Browsing XData definitions''': Well, there's not much to say about this one. Selected definitions are previewed and if you choose to import a definition, which has been defined in multiple files, another dialog will show up, allowing you to select the file to import. While the ''Readable Editor'' supports this duplicated definitions, ''The Dark Mod'' does not, so you should definitely go ahead and fix this by hand. You'd have to open the corresponding files by hand and delete the definition.<br />
* '''The Tools-menu''': When clicking the Tools-button a small popup menu offers you to display an import summary of the last XData import or the gui import, as well as a report of duplicated definitions found in the Virtual File System (All .xd files found in the .pk4 files or in actual folders).<br />
* '''Reloading Readable Guis''': All Readable Guis can be reloaded by clicking on "File/Reload Readable Guis" in the Main-menu. A similar option for XData definition is not necessary, because those are loaded completely afresh every time the ''Readable Editor'' is started.<br />
* '''Automatic Page Layout Determination''': When you start the ''Readable Editor'' on a newly create readable entity, its page layout will be determined automatically. However, the decision poses a rather greedy approach, as it's simply checked whether the entity name contains the string "book". So you might have to adjust the layout manually afterwards.<br />
<br />
== Known Issues ==<br />
The ''Readable Editor'' is still Work-In-Progress and there will likely be many changes in the future because of that. But it is pretty much in a very well usable state, so we decided to release it to the public already. Here are some of the issues the editor still has:<br />
* The Readable Editor seems to crash in certain circumstances when compatibility-mode is enabled on DarkRadiant.exe. Make sure to disable it if you run into any problems!<br />
* Some two-sided guis are not yet fully supported.<br />
* Some XData definitions can't be imported, specifically those that feature certain import-statements.<br />
<br />
== Planned Features / Ideas for the Future == <br />
* Notify the user when a character was typed that is not available in the font. Possibly even prevent adding it to the textfield.<br />
* If the end of a page is reached in the preview, the editor should automatically jump to the next textView field and somehow notify the user about the page-break.<br />
* Features for the Tools-menu:<br />
** Resolve conflicts on duplicated definitions.<br />
** Check XData Syntax of a specified file.<br />
* A Readable Editor Dialog specifically for Translators with two previews, one of them for the original.<br />
<br />
If you have any other good ideas, feel free to make a suggestion in the [http://modetwo.net/darkmod/index.php?/forum/54-tdm-editors-guild/ TDM Editors Guild].<br />
<br />
== Advise for pure Translators ==<br />
Here are some steps that will make your life easier:<br />
# '''Creating a .map file and setting up ''Dark Radiant''''':<br />
## In ''Dark Radiant'' right-click on one of the orthogonal views and choose "Create Entity...".<br />
## Browse to "darkmod/readables" and choose a readable entity to add. It basically doesn't matter which one you pick, but it's always useful to have one that is actually visible.<br />
## Move the entity directly in front of the camera by draging it on the orthogonal views. You can select an entity be shift+clicking it, deselect by pressing "Escape".<br />
## Save the map under a convenient filename like "MyAwesomeReadableTranslatingMap.map".<br />
## Press "P" to bring up the preferences dialog of ''Dark Radiant'', go to "Settings/Map Files" and check "Open last map on startup". Now every time you start your ''Dark Radiant'', your map is loaded and you can directly jump into translating.<br />
# '''Making the original Readables available to ''Dark Radiant'' and starting the translation process''':<br />
## Open the .pk4 file of the FM using winrar or similar and extract the contained "xdata" folder into your "darkmod"-directory. It should say "darkmod/xdata" after that! The alterations you make to the texts will be stored directly in those files, if you don't change the XData Name (which you shouldn't in most cases!).<br />
## In ''Dark Radiant'' select the readable entity and click "Entity/Readable Editor" in the Main-menu.<br />
## Use the XData-browser accessed by the small button in the "XData Name"-row to import the XData definitions of the FM.<br />
## Start translating... It might be useful to cut and paste the original text-part you're going to edit into any random text editor beforehand.<br />
## When you're done, you can click on save and directly open the next definition.<br />
<br />
To verify your work, you can just start ''The Dark Mod'' in the end and load the corresponding FM. Because Doom 3 prefers files found in actual folders over files found in .pk4 files, your translation will be visible ingame, without destroying/altering the original FM-package.<br />
<br />
Some mappers don't use virtual folders in their XData names, e.g. "readables/MyFM/MyReadable". So, to make the browsing of the XData files easier and quicker, you can open the .xd file(s) of the FM in any texteditor and prepend for example "translation/" before any XData name. All readables you have to translate will then be listed in the virtual "translation" folder in the XData browser of the ''Readable Editor''. But if you want to see those translations ingame afterwards, you'll also have to delete that prefix in all those XData names later again or delete it within the ''Readable Editor''. Please note however, that those definitions will be stored under a different filename then, as explained above. This is no problem though, I just wanted to point it out.<br />
<br />
[[Category:Tutorial]]<br />
[[Category:Editing]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Readable_Editor&diff=9748Readable Editor2010-03-10T16:59:33Z<p>Stifu: </p>
<hr />
<div>--[[User:Stifu|Stifu]] 16:00, 10 March 2010 (UTC)<br />
[[Image:ReadableEditor.jpg|300px|thumb|right|The Readable Editor]]The ''Readable Editor'' is a [http://en.wikipedia.org/wiki/What_you_see_is_what_you_get WYSIWYG-Editor] for the readable entities in ''The Dark Mod'' and it is a feature of ''Dark Radiant'' since version 1.2.0 requiring at least version 1.01 of ''The Dark Mod''. Up until now, the workflow for creating readables was tiresome, especially because you had to keep ''Dark Mod'' running in the background in order to be able to check if linebreaks and pagebreaks look alright et cetera. But these days are over, as we decided to provide an easy-to-use graphical user interface for creating such texts.<br />
<br />
<br />
== The new workflow ==<br />
Setting up a readable is fairly easy. Just [[Readables|add a readable entity to your map]] and start the ''Readable Editor'' via the Entity-menu. Once you hit either one of the Save-buttons, the [[XData File Creation|XData]] and Inventory Name are stored on your selected entity and the newly written text is exported to an .xd file. If you open the ''Readable Editor'' on that entity again or any other entity which was already setup with an XData definition, the corresponding definition is of course imported automatically.<br />
<br />
=== Fine, but where is my new XData Definition stored? ===<br />
The title-bar of the ''Readable Editor'' holds the answer to this question. New XData definitions will be added to an .xd file that is named just like your current map. If you import an existing definition (or again, if you start the Readable Editor on a readable entity already setup with an XData definition) any alterations will be stored in the file the definition originated from. This approach prevents the creation of duplicated XData definitions. As soon as you change the XData Name in the editor - '''this is important''' - a new definition will be created in the file, whose name is again derived from the name of your map.<br />
<br />
You can specify the storage folder for XData in the Preferences dialog of ''Dark Radiant'' under "Settings/Readable Editor". The pulldown menu offers options to store the files in the "xdata" subfolder of your Mod or Mod Base directory, as well as in a custom folder which can be specified below. Please note that while you can specify any folder you want for exporting, ''Dark Radiant'' and its ''Readable Editor'' can only import XData definitions that are contained in .xd files located somewhere in the "xdata" subfolder of the Base-, Mod- or Mod_Base-directory. Definitions in "base/xdata/myStuff/SomeXData.xd" for example can be found, but not if they are stored in "base/myStuff/SomeXData.xd" .<br />
<br />
=== Features, Tips and Tricks ===<br />
The editing process itself is pretty much straight forward. At this point I would just like to point out a few features, those of which being not so apparent at first.<br />
* '''Appending and prepending pages''': If you're currently editing the first or the last page of your readable and you click on first/previous page respectively last/next page, a small convenient small popup will show up, allowing you to prepend or append a page.<br />
* '''Converting the Page Layout''': No content is discarded when you change the Page Layout of your readable. If you should once feel like the letter you just wrote would be much more suitable as a diary entry, feel free to just convert!<br />
* '''Choosing Guis''': Just like with XData definitions, you can use one gui per page. You can enter a gui by hand or choose one using the Gui-Browser, which directly previews the selected gui. The browser holds two tabs, one for OneSided- and one for Two-Sided guis. Switching the tab will also change the page layout of your readable and update the preview accordingly.<br />
* '''Inserting and deleting pages''': When you're writing a Two-sided readable, clicking on either one of these buttons will result in a popup, asking you whether the respective operation should be applied to the left or right side or the whole page.<br />
* '''Browsing XData definitions''': Well, there's not much to say about this one. Selected definitions are previewed and if you choose to import a definition, which has been defined in multiple files, another dialog will show up, allowing you to select the file to import. While the ''Readable Editor'' supports this duplicated definitions, ''The Dark Mod'' does not, so you should definitely go ahead and fix this by hand. You'd have to open the corresponding files by hand and delete the definition.<br />
* '''The Tools-menu''': When clicking the Tools-button a small popup menu offers you to display an import summary of the last XData import or the gui import, as well as a report of duplicated definitions found in the Virtual File System (All .xd files found in the .pk4 files or in actual folders).<br />
* '''Reloading Readable Guis''': All Readable Guis can be reloaded by clicking on "File/Reload Readable Guis" in the Main-menu. A similar option for XData definition is not necessary, because those are loaded completely afresh every time the ''Readable Editor'' is started.<br />
* '''Automatic Page Layout Determination''': When you start the ''Readable Editor'' on a newly create readable entity, its page layout will be determined automatically. However, the decision poses a rather greedy approach, as it's simply checked whether the entity name contains the string "book". So you might have to adjust the layout manually afterwards.<br />
<br />
== Known Issues ==<br />
The ''Readable Editor'' is still Work-In-Progress and there will likely be many changes in the future because of that. But it is pretty much in a very well usable state, so we decided to release it to the public already. Here are some of the issues the editor still has:<br />
* The Readable Editor seems to crash in certain circumstances when compatibility-mode is enabled on DarkRadiant.exe. Make sure to disable it if you run into any problems!<br />
* Some two-sided guis are not yet fully supported.<br />
* Some XData definitions can't be imported, specifically those that feature certain import-statements.<br />
<br />
== Planned Features / Ideas for the Future == <br />
* Notify the user when a character was typed that is not available in the font. Possibly even prevent adding it to the textfield.<br />
* If the end of a page is reached in the preview, the editor should automatically jump to the next textView field and somehow notify the user about the page-break.<br />
* Features for the Tools-menu:<br />
** Resolve conflicts on duplicated definitions.<br />
** Check XData Syntax of a specified file.<br />
* A Readable Editor Dialog specifically for Translators with two previews, one of them for the original.<br />
<br />
If you have any other good ideas, feel free to make a suggestion in the [http://modetwo.net/darkmod/index.php?/forum/54-tdm-editors-guild/ TDM Editors Guild].<br />
<br />
== Advise for pure Translators ==<br />
Here are some steps that will make your life easier:<br />
# '''Creating a .map file and setting up ''Dark Radiant''''':<br />
## In ''Dark Radiant'' right-click on one of the orthogonal views and choose "Create Entity...".<br />
## Browse to "darkmod/readables" and choose a readable entity to add. It basically doesn't matter which one you pick, but it's always useful to have one that is actually visible.<br />
## Move the entity directly in front of the camera by draging it on the orthogonal views. You can select an entity be shift+clicking it, deselect by pressing "Escape".<br />
## Save the map under a convenient filename like "MyAwesomeReadableTranslatingMap.map".<br />
## Press "P" to bring up the preferences dialog of ''Dark Radiant'', go to "Settings/Map Files" and check "Open last map on startup". Now every time you start your ''Dark Radiant'', your map is loaded and you can directly jump into translating.<br />
# '''Making the original Readables available to ''Dark Radiant'' and starting the translation process''':<br />
## Open the .pk4 file of the FM using winrar or similar and extract the contained "xdata" folder into your "darkmod"-directory. It should say "darkmod/xdata" after that! The alterations you make to the texts will be stored directly in those files, if you don't change the XData Name (which you shouldn't in most cases!).<br />
## In ''Dark Radiant'' select the readable entity and click "Entity/Readable Editor" in the Main-menu.<br />
## Use the XData-browser accessed by the small button in the "XData Name"-row to import the XData definitions of the FM.<br />
## Start translating... It might be useful to cut and paste the original text-part you're going to edit into any random text editor beforehand.<br />
## When you're done, you can click on save and directly open the next definition.<br />
<br />
To verify your work, you can just start ''The Dark Mod'' in the end and load the corresponding FM. Because Doom 3 prefers files found in actual folders over files found in .pk4 files, your translation will be visible ingame, without destroying/altering the original FM-package.<br />
<br />
Some mappers don't use virtual folders in their XData names, e.g. "readables/MyFM/MyReadable". So, to make the browsing of the XData files easier and quicker, you can open the .xd file(s) of the FM in any texteditor and prepend for example "translation/" before any XData name. All readables you have to translate will then be listed in the virtual "translation" folder in the XData browser of the ''Readable Editor''. But if you want to see those translations ingame afterwards, you'll also have to delete that prefix in all those XData names later again or delete it within the ''Readable Editor''. Please note however, that those definitions will be stored under a different filename then, as explained above. This is no problem though, I just wanted to point it out.<br />
<br />
[[Category:Tutorial]]<br />
[[Category:Editing]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Readables&diff=9747Readables2010-03-10T16:45:02Z<p>Stifu: Link to Readable Editor added</p>
<hr />
<div>''following written by Springheel''<br />
<br />
== Adding Readables to your Map ==<br />
<br />
For a really easy way to add readables to your maps, you can also use Fidcal's [[Readables Prefabs]].<br />
<br />
Readables can be made with brushes (see below) or by using models. Any model can be used, technically, though if you want the readable text to display on the model in the game, you need to follow these directions.<br />
<br />
Add a readable entity to your map by selecting "readables" from the dropdown menu (right click and select Add Entity). For example, you could select readable_immobile_paper01, readable_immobile_scroll01, or readable_immobile_open_book01.<br />
<br />
Position the entity wherever you want it in your map. <br />
<br />
You need to set one key/value on your entity:<br />
<br />
"xdata_contents" "[readable text shader name]"<br />
<br />
This key holds the name of the readable text as defined in your .xd File. See [[XData File Creation]]. This last step is not necessary if you use the [[Readable Editor]] for creating your texts.<br />
<br />
That's it. Later you will be able to select skins to match the parchment of your model to your gui, but that's another day.<br />
<br />
http://www.mindplaces.com/save/paper2.jpg<br />
<br />
There is another way to make readables without using a model. This is probably more useful for rectangular plaques:<br />
<br />
''following written by greebo''<br />
<br />
For this tutorial, I made a small test room and placed an info_player_start entity and a light in it. I also put a barebone socket in front of the player, to put the readable onto.<br />
<br />
== Making Readables out of Brushes ==<br />
First, you'll need to create two brushes like shown below. One brush (the larger one) will be the readable's background (like a parchment), the other one will show the text of the readable. To avoid Z-fighting, the smaller brush must be a tad thicker than the larger one, as indicated in the screenshot. Just activate the smallest grid size (0.125) and drag it one grid unit larger. (The smaller one is narrower and ''inside'' the bigger one but protruding slightly above it.)<br />
<br />
[[Image:readables_brushes.jpg]]<br />
<br />
== Apply the right textures ==<br />
<br />
It is important to apply the '''textures/common/nodrawsolid''' shader onto the brushes (not just the "nodraw" one) to prevent the player clipping into the readable.<br />
<br />
Press ESC and select the '''top face''' of the smaller brush by selecting it with Ctrl-Shift-LMB. Apply the '''textures/common/entitygui''' texture onto it, rotate and fit it (1x1). <br />
<br />
Press ESC and select the top face of the larger brush. Select the '''textures/readables/page/oldparchment''' (or any other texture you like from that folder) texture from the texture browser, rotate and fit the texture to your needs (1x1). It should now look something like this:<br />
<br />
[[Image:Readables_tut_textures.jpg]]<br />
<br />
== Create the Entity ==<br />
Press ESC and select '''both''' brushes with Shift-LMB.<br />
<br />
[[DarkRadiant]]: Just right-click into the orthogonal view, select "Create Entity" and choose the '''atdm:readable_immobile''' one (it's located in the darkmod/Readables folder). (DoomEdit: Select the '''atdm:readable_immobile''' entity and click on "Create")<br />
<br />
VoilĂ , the entity is created:<br />
<br />
[[Image:readables_tut_entity.jpg]]<br />
<br />
== Create your custom text ==<br />
Create your xdata file containing your readable text. This is explained here: [[XData File Creation]]. You can of course skip that step and use the '''readables_test.xd''' file, which is already prefabricated in the darkmod repository. Alternatively, you can also define the text data on the entity itself (see below).<br />
<br />
== Entity Keys/Values ==<br />
Once you have your custom xdata-File, you are ready to set the entity keys. <br />
<br />
Press ESC to deselect everything (if you haven't already) and select one of your readable brushes (Shift-LMB). As they both belong to the same entity, the other brush is selected as well, which is good. Select the Entity Inspector and add the values shown below.<br />
<br />
[[Image:readables_tut_keyvalues.jpg]]<br />
<br />
=== readable_face ===<br />
These three values form the normal vector of the face holding the text. In this example the readable text is facing upwards, its normal vector is pointing upwards too. Therefore we type in the value "0 0 1", which represents a vector pointing straight upwards (x=0, y=0, z=1).<br />
<br />
=== readable_face_tolerance ===<br />
This value defines how "far" the player has to look away from the readable to leave the "reading mode" and let the on-screen readable disappear. The value "90" is just fine, so we leave it as it is.<br />
<br />
=== xdata_contents ===<br />
This key holds the name of the readable text as defined in your .xd File. See [[XData File Creation]]. This is NOT the name of the .xd file itself, but the definition inside it. The example readables_test.xd file contains the definition '''readables/readables_test/tdm_desc''', use it for now. Press OK and save the map.<br />
<br />
=== page1_title & page1_body ===<br />
<br />
Note that it's not exactly required to create an xdata file, you can also add the appropriate keys directly to the entity itself. However, for large maps this should not be the way to go, as maintaining and translating the texts could become more complicated.<br />
<br />
Just drop the '''xdata_contents''' key and add the following key/value pairs in the Entity Inspector like this:<br />
<br />
page1_title Your Title Here<br />
page1_body Your Body Text here<br />
gui_page1 guis/readables/page_test.gui (or any other GUI you may have created)<br />
<br />
Now compile your map.<br />
<br />
== Test your Readable! ==<br />
[[Image:Readables_in_game1.jpg|200px]] [[Image:Readables in game2.jpg|200px]]<br />
<br />
===Reloading xdata===<br />
<br />
When testing readable text you can use reloadXData in the console to reload changed xdata definitions in-game. A small test map with the player start right in front of the readable and you can review changes in seconds just by pressing the up key and Enter in the console to repeat the command or even faster, bind reloadXData to a key so you just hit a key to refresh the readable.<br />
<br />
==Troubleshooting==<br />
<br />
'''If the readable does not show at all in game or you get other errors then check the console for errors.'''<br />
<br />
TIP: If a console error gives a line number then switch off wordwrap in your text editor, at least while finding the line and error. <br />
<br />
===Non_existant xdata declaration===<br />
<br />
''Non_existant xdata declaration'' can mean...<br />
<br />
* The xdata name against the xdata_contents property on the readable entity in the map does not agree with that in the xd file (eg, typo or wrong name either in the xd file or in the entity property.)<br />
* The xdata name was put in the wrong place eg, below the first curly bracket.<br />
* The xd file isn't loaded (reload Doom/TDM - see previous section.)<br />
<br />
===num_pages not defined===<br />
<br />
''num_pages not defined'' is the most common and can mean almost any of the following:<br />
<br />
* number of pages is not defined<br />
* missing double-quote mark<br />
* double-quote inside those quotes (eg, for speech.) Escape your double quote with a backslash \" or use two single quote marks (apostrophes) instead.<br />
* missing curly bracket<br />
* cannot load the xdata definition. See previous section.<br />
<br />
===non-existant gui handle===<br />
<br />
The console error : ''non-existant gui handle'' is most likely caused by the following:<br />
<br />
In the xdata definition there is either a path or name error to the gui file. For example:<br />
<br />
"gui_page1" : "guis/readables/sheet_paper_gothic_bamberg.gui"<br />
<br />
should be...<br />
<br />
"gui_page1" : "guis/readables/sheets/sheet_paper_gothic_bamberg.gui"<br />
<br />
===newline inside string===<br />
<br />
''newline inside string'' might be several things...<br />
<br />
* Possibly you pressed the Enter(Return) key to start a new line while typing text within quote marks. Delete backwards from the new line and let it wordwrap in your text editor. If you want a new line either include \n inside the quotes or start new quotes.<br />
* Another possibility is simply omitting the double quotes at the end of some text. The code then does not know the text has ended and tries to continue to process it but finds instead a new line.<br />
* It might also not be a fault in the xdata at all but a newline in the xdata_contents property in the map file. I've done this more than once when copying and pasting the name from the xd file and accidentally copying two lines. Even deleting the property didn't seem to clear it so in the end I deleted the entity and started again. (Update note: I got this error when I accidentally copy/pasted two lines into the "classname" property. So it's not unique to xdata_contents/readables.)<br />
<br />
===Other errors===<br />
<br />
* Make sure you do not copy any xd file eg, as a backup and save it in the xdata folder with an .xd suffix, eg, mymapBAK.xd as it will still be read in the game. While you are editing the current version the old one is still affecting the game and producing errors. Save it with a suffix other than .xd eg, mymapXD.BAK<br />
<br />
* The same is also true if you have made a pk4 for your mission and there is a copy of the xdata inside. Rename the .pk4 to .zip will prevent its files being read (must not have Doom/TDM/Dark Radiant open as they lock it.)<br />
<br />
* No gui text on readable and it wouldn't display at all when frobbed yet no error in xdata. Possible reason : sheet upside down so player frobbing it from back!<br />
<br />
<br />
==Readables values in entity without xdata file==<br />
<br />
<br />
This is just to emphasise this possibility and make this easier to find [[#page1_title & page1_body|see above]]<br />
<br />
It is possible to directly include text in the readable entity but this is rarely used and I include it here for reference:<br />
<br />
* Add to the readable entity the properties/values as in this example:<br />
** gui_page1 guis/readables/oldparchment.gui<br />
** page1_body <text to go here><br />
<br />
It is likely all the variables you see in an xd file could be used this way so eg, num_pages etc.<br />
<br />
<br />
[[Category:Tutorial]]<br />
[[Category:Editing]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Readable_Editor&diff=9746Readable Editor2010-03-10T16:07:21Z<p>Stifu: Forgot the category once again...</p>
<hr />
<div>--[[User:Stifu|Stifu]] 16:00, 10 March 2010 (UTC)<br />
[[Image:ReadableEditor.jpg|300px|thumb|right|The Readable Editor]]The ''Readable Editor'' is a [http://en.wikipedia.org/wiki/What_you_see_is_what_you_get WYSIWYG-Editor] for the readable entities in ''The Dark Mod'' and it is a feature of ''Dark Radiant'' since version 1.2.0 requiring at least version 1.01 of ''The Dark Mod''. Up until now, the workflow for creating readables was tiresome, especially because you had to keep ''Dark Mod'' running in the background in order to be able to check if linebreaks and pagebreaks look alright et cetera. But these days are over, as we decided to provide an easy-to-use graphical user interface for creating such texts.<br />
<br />
<br />
== The new workflow ==<br />
Setting up a readable is fairly easy. Just [[Readables|add a readable entity to your map]] and start the ''Readable Editor'' via the Entity-menu. Once you hit either one of the Save-buttons, the [[XData File Creation|XData]] and Inventory Name are stored on your selected entity and the newly written text is exported to an .xd file. If you open the ''Readable Editor'' on that entity again or any other entity which was already setup with an XData definition, the corresponding definition is of course imported automatically.<br />
<br />
=== Fine, but where is my new XData Definition stored? ===<br />
The title-bar of the ''Readable Editor'' holds the answer to this question. New XData definitions will be added to an .xd file that is named just like your current map. If you import an existing definition (or again, if you start the Readable Editor on a readable entity already setup with an XData definition) any alterations will be stored in the file the definition originated from. This approach prevents the creation of duplicated XData definitions. As soon as you change the XData Name in the editor - '''this is important''' - a new definition will be created in the file, whose name is again derived from the name of your map.<br />
<br />
You can specify the storage folder for XData in the Preferences dialog of ''Dark Radiant'' under "Settings/Readable Editor". The pulldown menu offers options to store the files in the "xdata" subfolder of your Mod or Mod Base directory, as well as in a custom folder which can be specified below. Please note that while you can specify any folder you want for exporting, ''Dark Radiant'' and its ''Readable Editor'' can only import XData definitions that are contained in .xd files of the "xdata" subfolder of the Base-, Mod- or Mod_Base-directory.<br />
<br />
=== Features, Tips and Tricks ===<br />
The editing process itself is pretty much straight forward. At this point I would just like to point out a few features, those of which being not so apparent at first.<br />
* '''Appending and prepending pages''': If you're currently editing the first or the last page of your readable and you click on first/previous page respectively last/next page, a small convenient small popup will show up, allowing you to prepend or append a page.<br />
* '''Converting the Page Layout''': No content is discarded when you change the Page Layout of your readable. If you should once feel like the letter you just wrote would be much more suitable as a diary entry, feel free to just convert!<br />
* '''Choosing Guis''': Just like with XData definitions, you can use one gui per page. You can enter a gui by hand or choose one using the Gui-Browser, which directly previews the selected gui. The browser holds two tabs, one for OneSided- and one for Two-Sided guis. Switching the tab will also change the page layout of your readable and update the preview accordingly.<br />
* '''Inserting and deleting pages''': When you're writing a Two-sided readable, clicking on either one of these buttons will result in a popup, asking you whether the respective operation should be applied to the left or right side or the whole page.<br />
* '''Browsing XData definitions''': Well, there's not much to say about this one. Selected definitions are previewed and if you choose to import a definition, which has been defined in multiple files, another dialog will show up, allowing you to select the file to import. While the ''Readable Editor'' supports this duplicated definitions, ''The Dark Mod'' does not, so you should definitely go ahead and fix this by hand. You'd have to open the corresponding files by hand and delete the definition.<br />
* '''The Tools-menu''': When clicking the Tools-button a small popup menu offers you to display an import summary of the last XData import or the gui import, as well as a report of duplicated definitions found in the Virtual File System (All .xd files found in the .pk4 files or in actual folders).<br />
* '''Reloading Readable Guis''': All Readable Guis can be reloaded by clicking on "File/Reload Readable Guis" in the Main-menu. A similar option for XData definition is not necessary, because those are loaded completely afresh every time the ''Readable Editor'' is started.<br />
* '''Automatic Page Layout Determination''': When you start the ''Readable Editor'' on a newly create readable entity, its page layout will be determined automatically. However, the decision poses a rather greedy approach, as it's simply checked whether the entity name contains the string "book". So you might have to adjust the layout manually afterwards.<br />
<br />
== Known Issues ==<br />
The ''Readable Editor'' is still Work-In-Progress and there will likely be many changes in the future because of that. But it is pretty much in a very well usable state, so we decided to release it to the public already. Here are some of the issues the editor still has:<br />
* The Readable Editor seems to crash in certain circumstances when compatibility-mode is enabled on DarkRadiant.exe. Make sure to disable it if you run into any problems!<br />
* Some two-sided guis are not yet fully supported.<br />
* Some XData definitions can't be imported, specifically those that feature certain import-statements.<br />
<br />
== Planned Features / Ideas for the Future == <br />
* Notify the user when a character was typed that is not available in the font. Possibly even prevent adding it to the textfield.<br />
* If the end of a page is reached in the preview, the editor should automatically jump to the next textView field and somehow notify the user about the page-break.<br />
* Features for the Tools-menu:<br />
** Resolve conflicts on duplicated definitions.<br />
** Check XData Syntax of a specified file.<br />
* A Readable Editor Dialog specifically for Translators with two previews, one of them for the original.<br />
<br />
If you have any other good ideas, feel free to make a suggestion in the [http://modetwo.net/darkmod/index.php?/forum/54-tdm-editors-guild/ TDM Editors Guild].<br />
<br />
== Advise for pure Translators ==<br />
Here are some steps that will make your life easier:<br />
# '''Creating a .map file and setting up ''Dark Radiant''''':<br />
## In ''Dark Radiant'' right-click on one of the orthogonal views and choose "Create Entity...".<br />
## Browse to "darkmod/readables" and choose a readable entity to add. It basically doesn't matter which one you pick, but it's always useful to have one that is actually visible.<br />
## Move the entity directly in front of the camera by draging it on the orthogonal views. You can select an entity be shift+clicking it, deselect by pressing "Escape".<br />
## Save the map under a convenient filename like "MyAwesomeReadableTranslatingMap.map".<br />
## Press "P" to bring up the preferences dialog of ''Dark Radiant'', go to "Settings/Map Files" and check "Open last map on startup". Now every time you start your ''Dark Radiant'', your map is loaded and you can directly jump into translating.<br />
# '''Making the original Readables available to ''Dark Radiant'' and starting the translation process''':<br />
## Open the .pk4 file of the FM using winrar or similar and extract the contained "xdata" folder into your "darkmod"-directory. It should say "darkmod/xdata" after that! The alterations you make to the texts will be stored directly in those files, if you don't change the XData Name (which you shouldn't in most cases!).<br />
## In ''Dark Radiant'' select the readable entity and click "Entity/Readable Editor" in the Main-menu.<br />
## Use the XData-browser accessed by the small button in the "XData Name"-row to import the XData definitions of the FM.<br />
## Start translating... It might be useful to cut and paste the original text-part you're going to edit into any random text editor beforehand.<br />
## When you're done, you can click on save and directly open the next definition.<br />
<br />
To verify your work, you can just start ''The Dark Mod'' in the end and load the corresponding FM. Because Doom 3 prefers files found in actual folders over files found in .pk4 files, your translation will be visible ingame, without destroying/altering the original FM-package.<br />
<br />
Some mappers don't use virtual folders in their XData names, e.g. "readables/MyFM/MyReadable". So, to make the browsing of the XData files easier and quicker, you can open the .xd file(s) of the FM in any texteditor and prepend for example "translation/" before any XData name. All readables you have to translate will then be listed in the virtual "translation" folder in the XData browser of the ''Readable Editor''. But if you want to see those translations ingame afterwards, you'll also have to delete that prefix in all those XData names later again or delete it within the ''Readable Editor''. Please note however, that those definitions will be stored under a different filename then, as explained above. This is no problem though, I just wanted to point it out.<br />
<br />
[[Category:Tutorial]]<br />
[[Category:Editing]]</div>Stifuhttps://wiki.thedarkmod.com/index.php?title=Readable_Editor&diff=9745Readable Editor2010-03-10T16:00:48Z<p>Stifu: New page: --~~~~ The Readable EditorThe ''Readable Editor'' is a [http://en.wikipedia.org/wiki/What_you_see_is_what_you_get WYSIWYG-Editor] for the rea...</p>
<hr />
<div>--[[User:Stifu|Stifu]] 16:00, 10 March 2010 (UTC)<br />
[[Image:ReadableEditor.jpg|300px|thumb|right|The Readable Editor]]The ''Readable Editor'' is a [http://en.wikipedia.org/wiki/What_you_see_is_what_you_get WYSIWYG-Editor] for the readable entities in ''The Dark Mod'' and it is a feature of ''Dark Radiant'' since version 1.2.0 requiring at least version 1.01 of ''The Dark Mod''. Up until now, the workflow for creating readables was tiresome, especially because you had to keep ''Dark Mod'' running in the background in order to be able to check if linebreaks and pagebreaks look alright et cetera. So we decided to provide an easy-to-use graphical user interface for creating such texts.<br />
<br />
<br />
== The new workflow ==<br />
Setting up a readable is fairly easy. Just [[Readables|add a readable entity to your map]] and start the ''Readable Editor'' via the Entity-menu. Once you hit either one of the Save-buttons, the [[XData File Creation|XData]] and Inventory Name are stored on your selected entity and the newly written text is exported to an .xd file. If you open the ''Readable Editor'' on that entity again or any other entity which was already setup with an XData definition, the corresponding definition is of course imported automatically.<br />
<br />
=== Fine, but where is my new XData Definition stored? ===<br />
The title-bar of the ''Readable Editor'' holds the answer to this question. New XData definitions will be added to an .xd file that is named just like your current map. If you import an existing definition (or again, if you start the Readable Editor on a readable entity already setup with an XData definition) any alterations will be stored in the file the definition originated from. This approach prevents the creation of duplicated XData definitions. As soon as you change the XData Name in the editor - '''this is important''' - a new definition will be created in the file, whose name is again derived from the name of your map.<br />
<br />
You can specify the storage folder for XData in the Preferences dialog of ''Dark Radiant'' under "Settings/Readable Editor". The pulldown menu offers options to store the files in the "xdata" subfolder of your Mod or Mod Base directory, as well as in a custom folder which can be specified below. Please note that while you can specify any folder you want for exporting, ''Dark Radiant'' and its ''Readable Editor'' can only import XData definitions that are contained in .xd files of the "xdata" subfolder of the Base-, Mod- or Mod_Base-directory.<br />
<br />
=== Features, Tips and Tricks ===<br />
The editing process itself is pretty much straight forward. At this point I would just like to point out a few features, those of which being not so apparent at first.<br />
* '''Appending and prepending pages''': If you're currently editing the first or the last page of your readable and you click on first/previous page respectively last/next page, a small convenient small popup will show up, allowing you to prepend or append a page.<br />
* '''Converting the Page Layout''': No content is discarded when you change the Page Layout of your readable. If you should once feel like the letter you just wrote would be much more suitable as a diary entry, feel free to just convert!<br />
* '''Choosing Guis''': Just like with XData definitions, you can use one gui per page. You can enter a gui by hand or choose one using the Gui-Browser, which directly previews the selected gui. The browser holds two tabs, one for OneSided- and one for Two-Sided guis. Switching the tab will also change the page layout of your readable and update the preview accordingly.<br />
* '''Inserting and deleting pages''': When you're writing a Two-sided readable, clicking on either one of these buttons will result in a popup, asking you whether the respective operation should be applied to the left or right side or the whole page.<br />
* '''Browsing XData definitions''': Well, there's not much to say about this one. Selected definitions are previewed and if you choose to import a definition, which has been defined in multiple files, another dialog will show up, allowing you to select the file to import. While the ''Readable Editor'' supports this duplicated definitions, ''The Dark Mod'' does not, so you should definitely go ahead and fix this by hand. You'd have to open the corresponding files by hand and delete the definition.<br />
* '''The Tools-menu''': When clicking the Tools-button a small popup menu offers you to display an import summary of the last XData import or the gui import, as well as a report of duplicated definitions found in the Virtual File System (All .xd files found in the .pk4 files or in actual folders).<br />
* '''Reloading Readable Guis''': All Readable Guis can be reloaded by clicking on "File/Reload Readable Guis" in the Main-menu. A similar option for XData definition is not necessary, because those are loaded completely afresh every time the ''Readable Editor'' is started.<br />
* '''Automatic Page Layout Determination''': When you start the ''Readable Editor'' on a newly create readable entity, its page layout will be determined automatically. However, the decision poses a rather greedy approach, as it's simply checked whether the entity name contains the string "book". So you might have to adjust the layout manually afterwards.<br />
<br />
== Known Issues ==<br />
The ''Readable Editor'' is still Work-In-Progress and there will likely be many changes in the future because of that. But it is pretty much in a very well usable state, so we decided to release it to the public already. Here are some of the issues the editor still has:<br />
* The Readable Editor seems to crash in certain circumstances when compatibility-mode is enabled on DarkRadiant.exe. Make sure to disable it if you run into any problems!<br />
* Some two-sided guis are not yet fully supported.<br />
* Some XData definitions can't be imported, specifically those that feature certain import-statements.<br />
<br />
== Planned Features / Ideas for the Future == <br />
* Notify the user when a character was typed that is not available in the font. Possibly even prevent adding it to the textfield.<br />
* If the end of a page is reached in the preview, the editor should automatically jump to the next textView field and somehow notify the user about the page-break.<br />
* Features for the Tools-menu:<br />
** Resolve conflicts on duplicated definitions.<br />
** Check XData Syntax of a specified file.<br />
* A Readable Editor Dialog specifically for Translators with two previews, one of them for the original.<br />
<br />
If you have any other good ideas, feel free to make a suggestion in the [http://modetwo.net/darkmod/index.php?/forum/54-tdm-editors-guild/ TDM Editors Guild].<br />
<br />
== Advise for pure Translators ==<br />
Here are some steps that will make your life easier:<br />
# '''Creating a .map file and setting up ''Dark Radiant''''':<br />
## In ''Dark Radiant'' right-click on one of the orthogonal views and choose "Create Entity...".<br />
## Browse to "darkmod/readables" and choose a readable entity to add. It basically doesn't matter which one you pick, but it's always useful to have one that is actually visible.<br />
## Move the entity directly in front of the camera by draging it on the orthogonal views. You can select an entity be shift+clicking it, deselect by pressing "Escape".<br />
## Save the map under a convenient filename like "MyAwesomeReadableTranslatingMap.map".<br />
## Press "P" to bring up the preferences dialog of ''Dark Radiant'', go to "Settings/Map Files" and check "Open last map on startup". Now every time you start your ''Dark Radiant'', your map is loaded and you can directly jump into translating.<br />
# '''Making the original Readables available to ''Dark Radiant'' and starting the translation process''':<br />
## Open the .pk4 file of the FM using winrar or similar and extract the contained "xdata" folder into your "darkmod"-directory. It should say "darkmod/xdata" after that! The alterations you make to the texts will be stored directly in those files, if you don't change the XData Name (which you shouldn't in most cases!).<br />
## In ''Dark Radiant'' select the readable entity and click "Entity/Readable Editor" in the Main-menu.<br />
## Use the XData-browser accessed by the small button in the "XData Name"-row to import the XData definitions of the FM.<br />
## Start translating... It might be useful to cut and paste the original text-part you're going to edit into any random text editor beforehand.<br />
## When you're done, you can click on save and directly open the next definition.<br />
<br />
To verify your work, you can just start ''The Dark Mod'' in the end and load the corresponding FM. Because Doom 3 prefers files found in actual folders over files found in .pk4 files, your translation will be visible ingame, without destroying/altering the original FM-package.<br />
<br />
Some mappers don't use virtual folders in their XData names, e.g. "readables/MyFM/MyReadable". So, to make the browsing of the XData files easier and quicker, you can open the .xd file(s) of the FM in any texteditor and prepend for example "translation/" before any XData name. All readables you have to translate will then be listed in the virtual "translation" folder in the XData browser of the ''Readable Editor''. But if you want to see those translations ingame afterwards, you'll also have to delete that prefix in all those XData names later again or delete it within the ''Readable Editor''. Please note however, that those definitions will be stored under a different filename then, as explained above. This is no problem though, I just wanted to point it out.</div>Stifu