<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.thedarkmod.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Baddcog</id>
	<title>The DarkMod Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.thedarkmod.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Baddcog"/>
	<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Special:Contributions/Baddcog"/>
	<updated>2026-04-29T23:26:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_1.08&amp;diff=14744</id>
		<title>What&#039;s new in TDM 1.08</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_1.08&amp;diff=14744"/>
		<updated>2012-04-22T18:54:28Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* TDMLauncher and Standalone TDM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords whats new --&amp;gt;&lt;br /&gt;
See also the [http://bugs.angua.at/changelog_page.php?version_id=58 roadmap] &amp;lt;!-- http://bugs.angua.at/roadmap_page.php?version_id=56 changelog] --&amp;gt; on our bugtracker.&lt;br /&gt;
{{notreleasedyet|1.08}}&lt;br /&gt;
&lt;br /&gt;
== Changes / Features / Issues fixed ==&lt;br /&gt;
&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=519 #519]: AI needs &amp;amp;quot;wait for resource&amp;amp;quot; lock (aka: work together) (AI) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=1395 #1395]: Minimum reaction time for searching alert (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=1784 #1784]: Find decent metal armour impact sound (Sound) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2422 #2422]: AI goes to lower floor when searching (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2433 #2433]: Jump sounds do not play on slanted surfaces (Sound System) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2681 #2681]: assertion when loading Heart under Debug builds (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2695 #2695]: AIs can not correctly handle certain doors (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2724 #2724]: AI wields sword after relaxing from seeing a KO&#039;d comrade (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2905 #2905]: AI comment about lights out on map start (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2921 #2921]: AI using &amp;amp;quot;blood&amp;amp;quot; bark when spotting corpse. (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2922 #2922]: AI give arrow more attention than corpse (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2933 #2933]: Add ability to select player start points to mission briefing (GUI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2936 #2936]: Merge the GPL&#039;d D3 sources with the TDM codebase (Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2940 #2940]: Check new animations against torch-carriers (Animation) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2943 #2943]: Some electric lights casting unwanted shadows from their models (Design/Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2948 #2948]: AI death or KO can block door use (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2956 #2956]: Add a condensed Carleton font (GUI) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2959 #2959]: Let AI investigate a low-lighting shouldBeClosed door if they handle it (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2961 #2961]: Go through bow sounds (Sound) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2962 #2962]: Move tdmlauncher functionality into the game engine (TDM Launcher) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2963 #2963]: Simplify mission PK4 setup (Design/Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2972 #2972]: Remove Sourcehook (Design/Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2973 #2973]: Fix uninitialised pointers returned by CollisionModelManager::Translate() (Design/Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2975 #2975]: Objects in forcefield move way too fast (player moves as expected) (Physics) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2976 #2976]: Crash in Training Mission when triggering Message GUIs (Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2978 #2978]: Landing on diagonal surface makes no sound (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2981 #2981]: Upgrade PugiXML library to 1.0 (Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2982 #2982]: jpeg&#039;s used in material stages result in artifacts (Graphics) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2983 #2983]: Allow the the game window to be minimized easily (Coding) (Serpentine)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2984 #2984]: Remove the limitations on task switching from Win XP (Coding) (Serpentine)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2986 #2986]: Don&#039;t copy the gamex86 module to the mission folders (Design/Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2988 #2988]: Remove fonts with size 6 and 8 (Graphics) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2994 #2994]: Using inventory items on world entities with used_action_script: inventory item always flashes red (Script/Def) (angua)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2997 #2997]: SVN TDM (1.08) not saving games properly (Saving/Loading) (taaaki)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2998 #2998]: Weapon issue after a cinematic (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3001 #3001]: Player cannot knock movables objects off edges (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3004 #3004]: Rare issue with AI getting stuck at doors (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3005 #3005]: Elevators broken by nearby visportals (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3006 #3006]: Missing sound shaders (Sound System) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3010 #3010]: Add sounds to player mantle (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3011 #3011]: Frobbing an item does not activate physics for touching contacts (Physics) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3013 #3013]: Allow any entity access to info_location entities (Feature proposal) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3016 #3016]: Remove support for the SSD GUI (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3017 #3017]: make textAlign work with idChoiceWindow (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3018 #3018]: make choiceDefs work with any string (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3019 #3019]: The &amp;amp;quot;Stealth Score&amp;amp;quot; stat for Alert-4 (agit. searches) is cascading, so it overcounts (GUI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3025 #3025]: Failed KO animations can build up and play repeatedly (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3026 #3026]: Add &amp;amp;quot;tired&amp;amp;quot; sounds to Bow Draw (Coding) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3028 #3028]: EAX Audio selection problem (GUI) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3029 #3029]: AI should use an elevator if it&#039;s faster than walking (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3032 #3032]: Enhance debug display of AAS areas (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3037 #3037]: Player can&#039;t hear footsteps while crouch running (Sound) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3038 #3038]: DDS loading only works up to 4 levels deep (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3043 #3043]: Renderer has a limit of 10000 handles (Graphics) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3046 #3046]: 2nd acolyte head shadow issue (AI) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3047 #3047]: AI not noticing absence marker (Design/Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3048 #3048]: coding for target spawn entity (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3050 #3050]: Further changes to AI elevator use (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3052 #3052]: Alerted AI skips path_waitfortrigger (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3056 #3056]: TDM crashes when using a sword (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3060 #3060]: Fonts that are not found leak a fontInfo entry everytime they are tried to be registered (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3064 #3064]: Beds with shadow issues (Models) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3069 #3069]: Rats respond to alerts (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3071 #3071]: Frequent Crashes during combat (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3074 #3074]: Incorrect run animation when NPC has weapon attached but not drawn (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3075 #3075]: AI can enter combat while still kneeling (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3077 #3077]: Dousing a carried torch during relight causes problems (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3078 #3078]: AI are inconsistent when finding neutral bodies (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3083 #3083]: Builder priest ragdoll broke (AI) (Springheel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AI ==&lt;br /&gt;
&lt;br /&gt;
* The death cry of AI killed by surprise will now be heard by nearby AI (previously they ignored it) (Springheel)&lt;br /&gt;
* New Builder Acolyte character added (Springheel)&lt;br /&gt;
* New character entities added (Springheel)&lt;br /&gt;
* Thug character textures updated (Springheel)&lt;br /&gt;
* AI will react to objects thrown at them and may take damage.  AI can be KO&#039;d by heavy objects hitting them in the head. (grayman)&lt;br /&gt;
* AI no longer immediately go to full alert when seeing player from long distances. (grayman)&lt;br /&gt;
&lt;br /&gt;
== Animations ==&lt;br /&gt;
&lt;br /&gt;
*Fixed pain animations for archers so their bow doesn&#039;t clip through torso (Springheel)&lt;br /&gt;
* Added new idle_warmhands_low animation for low flames or sitting AI (Springheel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Entities/Skins/Models ==&lt;br /&gt;
&lt;br /&gt;
* Added Nosslak&#039;s Alembic model&lt;br /&gt;
* Added new, more realistic torch flame particle and torch entities (Arcturus)&lt;br /&gt;
* Added Nosslak&#039;s new tree and Constantine&#039;s improved tree01&lt;br /&gt;
* New dirty skins for various models (crates, barrels, etc)  (Springheel)&lt;br /&gt;
* Cleaned up/improved light entities (easier editing), added light entities for all models without them. (Baddcog)&lt;br /&gt;
* Added new models. Fences, gates, window skins, tools, sign mounts, stair railings, jewelry boxes, sign, window bars, wine crates and more. (Baddcog)&lt;br /&gt;
* Added new models by Jessica Dihn (Grandfather clock, teapot, cabinet) (Baddcog)&lt;br /&gt;
* Made some cabinet objects openable, added LOD&#039;s to some objects, improved some objects/textures, added some skins.(Baddcog)&lt;br /&gt;
&lt;br /&gt;
== Sounds ==&lt;br /&gt;
&lt;br /&gt;
* Added new &amp;quot;Commander&amp;quot; vocal set (Narrator/Springheel)&lt;br /&gt;
* Went through all our nearly 500 movable entities and added at least 200 new sound files to improve the impact sounds, using sound contributions from Noisycricket, Mortem Desino and Amita. (Springheel)&lt;br /&gt;
* Added impact sounds for ragdolls...bodies will no longer fall silently after kills/KOs. (Springheel)&lt;br /&gt;
* Added improved sword and bow sounds.  Arrows now make noise while in flight so you&#039;ll hear them zipping by you if you duck. (Springheel)&lt;br /&gt;
* Added some more city ambient sounds from Amita&lt;br /&gt;
* Added new Builder vocal set (Mortem Desino)&lt;br /&gt;
* Player now makes grunt sounds when mantling (grayman)&lt;br /&gt;
* AI make rustling noises when walking based on what they are wearing (Mortem/Springheel)&lt;br /&gt;
&lt;br /&gt;
== Coding ==&lt;br /&gt;
&lt;br /&gt;
* Movables that sit on top of other movables will now fall properly if the object under them is removed.  (grayman)&lt;br /&gt;
* Correctly distribute impulses to objects touching the moveable, and leave an appropriate amount for the moveable itself (movables can now more reasonably be knocked off when sitting on other movables).  (grayman)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
&lt;br /&gt;
* Several new light textures and textures have been added, others have been cleaned up and updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TDMLauncher and Standalone TDM ==&lt;br /&gt;
&lt;br /&gt;
* TDMLauncher has been removed, and a new TheDarkMod executable is created. The engine can now reload the assets w/o requiring a restart. A restart is still required for certain video setting changes (like resolution) and switching between Russian and the Western languages. This also fixes issues running Catalyst AI with an AMD GPU.&lt;br /&gt;
* Preparations are underway to make TDM load without D3 being present at all. This is not complete however, and maybe will not work 100% with v1.08, esp. since a important and hard to replace assets like animations are used from D3.&lt;br /&gt;
&lt;br /&gt;
== Translation ==&lt;br /&gt;
&lt;br /&gt;
* A new Mason font has been added to be used for the huge headlines, including a Russian variant (Tels)&lt;br /&gt;
* The backgrounds with the painted-on headlines using the Mason font (like &amp;quot;Settings&amp;quot;, &amp;quot;New Mission&amp;quot;) have been replaced by a combination of parchment, watermark overlay and ornamental overlay plus translatable text. (Tels)&lt;br /&gt;
* The Spanish translation has been completed and updated (rubereaglenest)&lt;br /&gt;
* A new Carleton Condensed font has been added and is used for the settings menu, to avoid texts overflowing (Tels)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
:[[Image:Trans_0014.jpg|200px|The menus in Czech]] [[Image:Trans_0012.jpg|200px|The menus in French]] [[Image:Trans_0013.jpg|200px|The menus in German]]&lt;br /&gt;
:[[Image:Trans_0003.jpg|304px|German HUD]] [[Image:Briefing_german.jpg|304px|German Briefing]] &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
Please see [[I18N|this article]] for background and progress information of the internationalization effort.&lt;br /&gt;
&lt;br /&gt;
{{whatsnew|sort=192}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_1.08&amp;diff=14743</id>
		<title>What&#039;s new in TDM 1.08</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_1.08&amp;diff=14743"/>
		<updated>2012-04-22T18:52:19Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Entities/Skins/Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords whats new --&amp;gt;&lt;br /&gt;
See also the [http://bugs.angua.at/changelog_page.php?version_id=58 roadmap] &amp;lt;!-- http://bugs.angua.at/roadmap_page.php?version_id=56 changelog] --&amp;gt; on our bugtracker.&lt;br /&gt;
{{notreleasedyet|1.08}}&lt;br /&gt;
&lt;br /&gt;
== Changes / Features / Issues fixed ==&lt;br /&gt;
&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=519 #519]: AI needs &amp;amp;quot;wait for resource&amp;amp;quot; lock (aka: work together) (AI) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=1395 #1395]: Minimum reaction time for searching alert (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=1784 #1784]: Find decent metal armour impact sound (Sound) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2422 #2422]: AI goes to lower floor when searching (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2433 #2433]: Jump sounds do not play on slanted surfaces (Sound System) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2681 #2681]: assertion when loading Heart under Debug builds (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2695 #2695]: AIs can not correctly handle certain doors (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2724 #2724]: AI wields sword after relaxing from seeing a KO&#039;d comrade (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2905 #2905]: AI comment about lights out on map start (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2921 #2921]: AI using &amp;amp;quot;blood&amp;amp;quot; bark when spotting corpse. (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2922 #2922]: AI give arrow more attention than corpse (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2933 #2933]: Add ability to select player start points to mission briefing (GUI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2936 #2936]: Merge the GPL&#039;d D3 sources with the TDM codebase (Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2940 #2940]: Check new animations against torch-carriers (Animation) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2943 #2943]: Some electric lights casting unwanted shadows from their models (Design/Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2948 #2948]: AI death or KO can block door use (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2956 #2956]: Add a condensed Carleton font (GUI) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2959 #2959]: Let AI investigate a low-lighting shouldBeClosed door if they handle it (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2961 #2961]: Go through bow sounds (Sound) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2962 #2962]: Move tdmlauncher functionality into the game engine (TDM Launcher) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2963 #2963]: Simplify mission PK4 setup (Design/Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2972 #2972]: Remove Sourcehook (Design/Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2973 #2973]: Fix uninitialised pointers returned by CollisionModelManager::Translate() (Design/Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2975 #2975]: Objects in forcefield move way too fast (player moves as expected) (Physics) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2976 #2976]: Crash in Training Mission when triggering Message GUIs (Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2978 #2978]: Landing on diagonal surface makes no sound (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2981 #2981]: Upgrade PugiXML library to 1.0 (Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2982 #2982]: jpeg&#039;s used in material stages result in artifacts (Graphics) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2983 #2983]: Allow the the game window to be minimized easily (Coding) (Serpentine)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2984 #2984]: Remove the limitations on task switching from Win XP (Coding) (Serpentine)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2986 #2986]: Don&#039;t copy the gamex86 module to the mission folders (Design/Coding) (greebo)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2988 #2988]: Remove fonts with size 6 and 8 (Graphics) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2994 #2994]: Using inventory items on world entities with used_action_script: inventory item always flashes red (Script/Def) (angua)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2997 #2997]: SVN TDM (1.08) not saving games properly (Saving/Loading) (taaaki)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2998 #2998]: Weapon issue after a cinematic (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3001 #3001]: Player cannot knock movables objects off edges (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3004 #3004]: Rare issue with AI getting stuck at doors (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3005 #3005]: Elevators broken by nearby visportals (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3006 #3006]: Missing sound shaders (Sound System) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3010 #3010]: Add sounds to player mantle (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3011 #3011]: Frobbing an item does not activate physics for touching contacts (Physics) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3013 #3013]: Allow any entity access to info_location entities (Feature proposal) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3016 #3016]: Remove support for the SSD GUI (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3017 #3017]: make textAlign work with idChoiceWindow (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3018 #3018]: make choiceDefs work with any string (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3019 #3019]: The &amp;amp;quot;Stealth Score&amp;amp;quot; stat for Alert-4 (agit. searches) is cascading, so it overcounts (GUI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3025 #3025]: Failed KO animations can build up and play repeatedly (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3026 #3026]: Add &amp;amp;quot;tired&amp;amp;quot; sounds to Bow Draw (Coding) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3028 #3028]: EAX Audio selection problem (GUI) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3029 #3029]: AI should use an elevator if it&#039;s faster than walking (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3032 #3032]: Enhance debug display of AAS areas (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3037 #3037]: Player can&#039;t hear footsteps while crouch running (Sound) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3038 #3038]: DDS loading only works up to 4 levels deep (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3043 #3043]: Renderer has a limit of 10000 handles (Graphics) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3046 #3046]: 2nd acolyte head shadow issue (AI) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3047 #3047]: AI not noticing absence marker (Design/Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3048 #3048]: coding for target spawn entity (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3050 #3050]: Further changes to AI elevator use (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3052 #3052]: Alerted AI skips path_waitfortrigger (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3056 #3056]: TDM crashes when using a sword (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3060 #3060]: Fonts that are not found leak a fontInfo entry everytime they are tried to be registered (Coding) (tels)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3064 #3064]: Beds with shadow issues (Models) (Springheel)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3069 #3069]: Rats respond to alerts (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3071 #3071]: Frequent Crashes during combat (Coding) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3074 #3074]: Incorrect run animation when NPC has weapon attached but not drawn (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3075 #3075]: AI can enter combat while still kneeling (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3077 #3077]: Dousing a carried torch during relight causes problems (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3078 #3078]: AI are inconsistent when finding neutral bodies (AI) (grayman)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=3083 #3083]: Builder priest ragdoll broke (AI) (Springheel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AI ==&lt;br /&gt;
&lt;br /&gt;
* The death cry of AI killed by surprise will now be heard by nearby AI (previously they ignored it) (Springheel)&lt;br /&gt;
* New Builder Acolyte character added (Springheel)&lt;br /&gt;
* New character entities added (Springheel)&lt;br /&gt;
* Thug character textures updated (Springheel)&lt;br /&gt;
* AI will react to objects thrown at them and may take damage.  AI can be KO&#039;d by heavy objects hitting them in the head. (grayman)&lt;br /&gt;
* AI no longer immediately go to full alert when seeing player from long distances. (grayman)&lt;br /&gt;
&lt;br /&gt;
== Animations ==&lt;br /&gt;
&lt;br /&gt;
*Fixed pain animations for archers so their bow doesn&#039;t clip through torso (Springheel)&lt;br /&gt;
* Added new idle_warmhands_low animation for low flames or sitting AI (Springheel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Entities/Skins/Models ==&lt;br /&gt;
&lt;br /&gt;
* Added Nosslak&#039;s Alembic model&lt;br /&gt;
* Added new, more realistic torch flame particle and torch entities (Arcturus)&lt;br /&gt;
* Added Nosslak&#039;s new tree and Constantine&#039;s improved tree01&lt;br /&gt;
* New dirty skins for various models (crates, barrels, etc)  (Springheel)&lt;br /&gt;
* Cleaned up/improved light entities (easier editing), added light entities for all models without them. (Baddcog)&lt;br /&gt;
* Added new models. Fences, gates, window skins, tools, sign mounts, stair railings, jewelry boxes, sign, window bars, wine crates and more. (Baddcog)&lt;br /&gt;
* Added new models by Jessica Dihn (Grandfather clock, teapot, cabinet) (Baddcog)&lt;br /&gt;
* Made some cabinet objects openable, added LOD&#039;s to some objects, improved some objects/textures, added some skins.(Baddcog)&lt;br /&gt;
&lt;br /&gt;
== Sounds ==&lt;br /&gt;
&lt;br /&gt;
* Added new &amp;quot;Commander&amp;quot; vocal set (Narrator/Springheel)&lt;br /&gt;
* Went through all our nearly 500 movable entities and added at least 200 new sound files to improve the impact sounds, using sound contributions from Noisycricket, Mortem Desino and Amita. (Springheel)&lt;br /&gt;
* Added impact sounds for ragdolls...bodies will no longer fall silently after kills/KOs. (Springheel)&lt;br /&gt;
* Added improved sword and bow sounds.  Arrows now make noise while in flight so you&#039;ll hear them zipping by you if you duck. (Springheel)&lt;br /&gt;
* Added some more city ambient sounds from Amita&lt;br /&gt;
* Added new Builder vocal set (Mortem Desino)&lt;br /&gt;
* Player now makes grunt sounds when mantling (grayman)&lt;br /&gt;
* AI make rustling noises when walking based on what they are wearing (Mortem/Springheel)&lt;br /&gt;
&lt;br /&gt;
== Coding ==&lt;br /&gt;
&lt;br /&gt;
* Movables that sit on top of other movables will now fall properly if the object under them is removed.  (grayman)&lt;br /&gt;
* Correctly distribute impulses to objects touching the moveable, and leave an appropriate amount for the moveable itself (movables can now more reasonably be knocked off when sitting on other movables).  (grayman)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
&lt;br /&gt;
* Several new light textures and textures have been added, others have been cleaned up and updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TDMLauncher and Standalone TDM ==&lt;br /&gt;
&lt;br /&gt;
* TDMLauncher has been removed, and a new TheDarkMod executable is created. The engine can now reload the assets w/o requiring a restart. A restart is still required for certain video setting changes (like resolution) and switching between Russian and the Western languages.&lt;br /&gt;
* Preparations are underway to make TDM load without D3 being present at all. This is not complete however, and maybe will not work 100% with v1.08, esp. since a important and hard to replace assets like animations are used from D3.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation ==&lt;br /&gt;
&lt;br /&gt;
* A new Mason font has been added to be used for the huge headlines, including a Russian variant (Tels)&lt;br /&gt;
* The backgrounds with the painted-on headlines using the Mason font (like &amp;quot;Settings&amp;quot;, &amp;quot;New Mission&amp;quot;) have been replaced by a combination of parchment, watermark overlay and ornamental overlay plus translatable text. (Tels)&lt;br /&gt;
* The Spanish translation has been completed and updated (rubereaglenest)&lt;br /&gt;
* A new Carleton Condensed font has been added and is used for the settings menu, to avoid texts overflowing (Tels)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
:[[Image:Trans_0014.jpg|200px|The menus in Czech]] [[Image:Trans_0012.jpg|200px|The menus in French]] [[Image:Trans_0013.jpg|200px|The menus in German]]&lt;br /&gt;
:[[Image:Trans_0003.jpg|304px|German HUD]] [[Image:Briefing_german.jpg|304px|German Briefing]] &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
Please see [[I18N|this article]] for background and progress information of the internationalization effort.&lt;br /&gt;
&lt;br /&gt;
{{whatsnew|sort=192}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=FAQ&amp;diff=14361</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=FAQ&amp;diff=14361"/>
		<updated>2012-03-04T22:29:18Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* The game hangs at Dark Mod screen/ locks up while turning on vsynch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{important|headline=Important|text=This FAQ relates to the full TDM release version only. For players of the pre-release demos such as &#039;&#039;&#039;[[Thief&#039;s Den]]&#039;&#039;&#039; and &#039;&#039;&#039;[[Saint_Lucia|Tears of Saint Lucia]]&#039;&#039;&#039; please refer to the &#039;&#039;&#039;[[FAQ (Demo Releases)|Demo FAQ]]&#039;&#039;&#039;.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
== What Doom versions are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== Can I use the Demo version of Doom 3? ===&lt;br /&gt;
&lt;br /&gt;
No, sorry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Can I use it with the Doom 3 expansion Resurrection of Evil? ===&lt;br /&gt;
The Doom 3 RoE expansion is designed to run as modification to the base Doom 3 game. Hence it&#039;s not a problem to have it installed on your system, but only one mod can be run at a time of course. As long as you didn&#039;t move or extract files manually all over your Doom 3 folder, the Resurrection of Evil expansion should not interfere with The Dark Mod. Just to be clear, &#039;&#039;&#039;you&#039;ll still need to have the base Doom 3 game, the expansion alone won&#039;t suffice as it&#039;s just a mod&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Does it run with the Steam version of Doom 3? ===&lt;br /&gt;
&lt;br /&gt;
Yes :) You need to install the mod into the directory where Steam put Doom3, this might be under:&lt;br /&gt;
&lt;br /&gt;
 C:\Program Files\Steam\steamapps\common\doom 3&lt;br /&gt;
&lt;br /&gt;
or a similiar folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Create a shortcut on your desktop and set it to the following:&lt;br /&gt;
&lt;br /&gt;
 steam.exe -applaunch 9050 +set fs_game_base darkmod&lt;br /&gt;
&lt;br /&gt;
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.&lt;br /&gt;
&lt;br /&gt;
== Patching Doom 3 to verson 1.3.1.1304 ==&lt;br /&gt;
&lt;br /&gt;
=== How can I check whether my Doom 3 is correctly patched? ===&lt;br /&gt;
&lt;br /&gt;
Open Doom 3 and hit {{key|Ctrl}}+{{key|Alt}}+{{key|~}} (tilde, {{key|^}} on German keyboards) to open the console. You&#039;ll see the version printed in the lower left corner of the console. It should read &#039;&#039;&#039;1.3.1.1304&#039;&#039;&#039;. If your version is ending on 1302, you&#039;ve got the wrong patch installed.&lt;br /&gt;
&lt;br /&gt;
=== Where can I get the right patch? ===&lt;br /&gt;
&lt;br /&gt;
We have the patch hosted on our FTP. See the [[Installation]] article to find a link to it.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== What&#039;s that issue with the 1.3.1 patch? ===&lt;br /&gt;
&lt;br /&gt;
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&#039;t spread yet, didn&#039;t bother to change the version number. However, you can still find &amp;quot;wrong&amp;quot; 1.3.1 patches and these will not work with the mod. That&#039;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&#039;t work. The link provided here on our own page points to the correct patch, so if you downloaded it from here you don&#039;t need to worry about it.&lt;br /&gt;
&lt;br /&gt;
== Supported Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
=== Which Windows versions can I use? ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== PAE Enabled ====&lt;br /&gt;
&lt;br /&gt;
One user with Windows XP Pro SP3 and an AMD Phenom processor reported problems starting Doom 3 due to having PAE enabled.&lt;br /&gt;
&lt;br /&gt;
[http://modetwo.net/darkmod/index.php?/topic/12471-error-doom-3/ Thread]&lt;br /&gt;
&lt;br /&gt;
=== Does it run in Linux? ===&lt;br /&gt;
Yes, Linux is supported.&lt;br /&gt;
&lt;br /&gt;
=== Does it run in 64 Bit Linux? ===&lt;br /&gt;
Yes, Linux 64 bit is supported. In addition to the steps above, you need 32 bit compatibility libraries, since Doom3 is 32 bit only:&lt;br /&gt;
* On &#039;&#039;&#039;SuSE&#039;&#039;&#039;, they should be included.&lt;br /&gt;
* On Ubuntu/Kubuntu, install the package &#039;&#039;&#039;ia32&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For TDM after 1.0, this step should be &#039;&#039;&#039;no&#039;&#039;&#039; longer neccessary:&lt;br /&gt;
&lt;br /&gt;
* 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 &#039;&#039;&#039;libmng&#039;&#039;&#039; and the boost filesystem lib:&lt;br /&gt;
:&amp;lt;code&amp;gt;getlibs libmng.so.1&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;getlibs -l libboost-filesystem1.34.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What about Gentoo? ===&lt;br /&gt;
Yes. It&#039;s not &amp;quot;officially&amp;quot; supported (the team doesn&#039;t test it specifically), however several users have reported success running TDM under Gentoo.&lt;br /&gt;
&lt;br /&gt;
=== What about Ubuntu 8.10? ===&lt;br /&gt;
Yes. As of this writing you will need to install the &#039;&#039;&#039;libboost-filesystem&#039;&#039;&#039; package.&lt;br /&gt;
&lt;br /&gt;
=== GLIBCXX_3.4.9 errors ===&lt;br /&gt;
&lt;br /&gt;
If you receive an error about &amp;lt;tt&amp;gt;GLIBCXX_3.4.9&amp;lt;/tt&amp;gt;, delete or rename the files &amp;lt;code&amp;gt;/usr/local/games/doom3/libstdc++.so.6&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/usr/local/games/doom3/libgcc_s.so.1.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;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.&lt;br /&gt;
&lt;br /&gt;
=== Does it run on Mac OS X?===&lt;br /&gt;
Yes. See [[Installation]].&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
&lt;br /&gt;
=== Does TDM support widescreen resolutions? ===&lt;br /&gt;
&lt;br /&gt;
Yes. Choose &amp;quot;16:9&amp;quot; or &amp;quot;16:10&amp;quot; in the in-game &#039;&#039;Settings&#039;&#039; menu, and select the appropriate resolution. Note that you need to restart the game to have the new setting in effect.&lt;br /&gt;
&lt;br /&gt;
If the native resolution of your wide screen monitor is not listed, you can enter it into &#039;&#039;&#039;DoomConfig.cfg&#039;&#039;&#039; by changing the following entries like so:&lt;br /&gt;
&lt;br /&gt;
 set r_mode &amp;quot;-1&amp;quot;&lt;br /&gt;
 set r_customwidth &amp;quot;1280&amp;quot;&lt;br /&gt;
 set r_customheight &amp;quot;800&amp;quot;&lt;br /&gt;
 seta r_aspectratio &amp;quot;2&amp;quot;            // means 16:10, &amp;quot;1&amp;quot; is 16:9, other ratios are not yet supporred&lt;br /&gt;
&lt;br /&gt;
{{infobox|If you get performance problems, please consider using a lower resolution and taking a look at [[Performance Tweaks]].}}&lt;br /&gt;
&lt;br /&gt;
==== What about TV resolutions like 1360x768? ====&lt;br /&gt;
&lt;br /&gt;
If you have a wide-screen TV which uses any non-standard resolution, like 1360x768 (instead of 1366x768), then please use the following:&lt;br /&gt;
&lt;br /&gt;
 seta r_customWidth &amp;quot;1360&amp;quot;&lt;br /&gt;
 seta r_customHeight &amp;quot;768&amp;quot;&lt;br /&gt;
 seta r_mode &amp;quot;-1&amp;quot;&lt;br /&gt;
 seta r_aspectratio 2&lt;br /&gt;
 seta g_fov &amp;quot;100&amp;quot;                  // or any other suitable value&lt;br /&gt;
&lt;br /&gt;
Alternatively, see the manual of your TV on the possibility to switch it to a &amp;quot;1:1&amp;quot; pixel mapping, or &amp;quot;monitor mode&amp;quot; or &amp;quot;computer mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Here is some background information: http://hd.engadget.com/2006/04/21/whats-the-deal-with-1366-x-768/&lt;br /&gt;
&lt;br /&gt;
{{infobox|If you get performance problems, please consider using a lower resolution and taking a look at [[Performance Tweaks]].}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
It is hard to answer questions on why something fails, because wildly different systems cause wildly different symptoms. If the following section does not help you, please ask at our [http://www.modetwo.net/darkmod forums].&lt;br /&gt;
&lt;br /&gt;
For any solutions below that refer to &amp;quot;disabling Catalyst AI&amp;quot;, if you discover you can not use ATI&#039;s tools to do so, alternate methods are discussed in [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updater (tdm_update.exe) closes almost as soon as it&#039;s started ===&lt;br /&gt;
&lt;br /&gt;
See the [[Tdm_update#Updater_closes_almost_as_soon_as_it.27s_started|main article on tdm_update]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows 2000: freeaddrinfo cannot be found in WS2_32.DLL ===&lt;br /&gt;
Please refer to the main article [[TDM in Windows 2000]] to work around this problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FM won&#039;t install manually===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FMs downloaded but don&#039;t show in menu list===&lt;br /&gt;
&lt;br /&gt;
You have downloaded some FMs but they don&#039;t show on Dark Mod&#039;s New Missions list. Possible causes:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* If you are running Linux then Doom 3 MUST be installed in a .doom3 folder. Note the dot before .doom3.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FM downloaded but won&#039;t play ===&lt;br /&gt;
&lt;br /&gt;
If you have downloaded an FM you might see it in the New Missions List but can&#039;t get it to play. These are almost always an install problem. These are some of the causes and cures:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You MUST use doom3\darkmod\tdmlauncher.exe to run Dark Mod in Windows and NOT Doom3.exe.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* Exit Dark Mod&lt;br /&gt;
* Delete doom3\darkmod\currentfm.txt (this just uninstalls any FM)&lt;br /&gt;
* 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 it so check and move them out if you want to preserve them. However, if you can&#039;t get the game to play it&#039;s likely you don&#039;t have any yet. If you can&#039;t see the folder don&#039;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.&lt;br /&gt;
* Move the pk4 into the darkmod\fms folder if it is not already there.&lt;br /&gt;
* Delete the darkmod\fms\FMname folder if any, eg, darkmod\fms\chalice. Don&#039;t worry if there isn&#039;t one; it will be created automatically later.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== The game hangs at Dark Mod screen/ locks up while turning on vsynch ===&lt;br /&gt;
Catalyst Control Center above 10.8 for ATI cards has a performance slider for V-Synch. Setting that slider to Quality (Always On)&lt;br /&gt;
fixes this issue. If set lower than quality and it is set to on in game it will freeze.&lt;br /&gt;
(tested specifically in CC 10-11)&lt;br /&gt;
&lt;br /&gt;
=== The game crashes on load ===&lt;br /&gt;
Make sure that:&lt;br /&gt;
* You installed [[#Patching_Doom_3_to_verson_1.3.1.1304|the correct version]] of the Doom 3 1.3.1 patch.&lt;br /&gt;
* Your system meets at least the minimum system specs.&lt;br /&gt;
* You have enough free main memory. Try closing a few running programs like Outlook, Anti-Virus or torrent clients.&lt;br /&gt;
* Nvidia &amp;quot;Threaded Optimizations&amp;quot; are causing Doom 3 Mod stability issues (see: [[#Disable Nvidia &amp;quot;Threaded Optimizations&amp;quot;|Disable Nvidia &amp;quot;Threaded Optimizations&amp;quot;]] )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If that doesn&#039;t fix it, you probably receive an error message referencing an &amp;quot;Unknown event&amp;quot; at startup, like the screenshot below illustrates.&lt;br /&gt;
&lt;br /&gt;
[[Image:ErrorSetEntityRelation.jpg]]&lt;br /&gt;
&lt;br /&gt;
Here are a couple of known problems and their solutions:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;tdmlauncher.exe fails to copy&#039;&#039;&#039; the necessary game binaries. The log file should read something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;found DLL in pak file: C:\Program Files\Doom 3\darkmod\tdm_game01.pk4/gamex86.dll&lt;br /&gt;
copy gamex86.dll to C:\Program Files\Doom 3\darkmod\gamex86.dll&lt;br /&gt;
could not create destination file&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sometimes, the procedure fails due to &#039;&#039;&#039;spaces in the installation path&#039;&#039;&#039;. Try extracting the gamex86.dll manually using Winzip or similar or install Doom 3 in a different directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You have a &#039;&#039;&#039;firewall&#039;&#039;&#039; 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 &#039;&#039;&#039;COMODO Firewall&#039;&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;It is also possible that an &#039;&#039;&#039;old version of gamex86.dll&#039;&#039;&#039; (or gamex86.so) is lying around in your Doom 3 folder. Delete it and try again.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Textures are missing, screen mostly black ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Tdm missing textures.jpg|right|240px|Black textures]]&lt;br /&gt;
&lt;br /&gt;
Look into your &#039;&#039;&#039;DoomConfig.cfg&#039;&#039;&#039; inside your &amp;lt;tt&amp;gt;darkmod&amp;lt;/tt&amp;gt; folder and check that the following settings are like shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;max-width:35em&amp;quot;&amp;gt;&lt;br /&gt;
 seta image_usePrecompressedTextures &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_useNormalCompression &amp;quot;2&amp;quot;&lt;br /&gt;
 seta image_useAllFormats &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_useCompression &amp;quot;0&amp;quot;&lt;br /&gt;
 seta image_preload &amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Textures are missing, shadows are pitch black ===&lt;br /&gt;
&lt;br /&gt;
Try disabling the AGP surface accelerator in DXDIAG.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graphic Corruption ===&lt;br /&gt;
&lt;br /&gt;
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. &amp;quot;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.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(For more recent Catalyst versions see: [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] )&lt;br /&gt;
&lt;br /&gt;
=== The briefing is very fuzzy ===&lt;br /&gt;
&lt;br /&gt;
Look into your &#039;&#039;&#039;DoomConfig.cfg&#039;&#039;&#039; inside your &amp;lt;tt&amp;gt;darkmod&amp;lt;/tt&amp;gt;  folder and check that the following settings are like shown below:&lt;br /&gt;
&lt;br /&gt;
 seta image_roundDown &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_forceDownSize &amp;quot;0&amp;quot;&lt;br /&gt;
 seta image_downSize &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== The sky is corrupted ===&lt;br /&gt;
&lt;br /&gt;
You either see black sky, or fragments of other textures. This seems only to happen on Geforce 6800 cards.&lt;br /&gt;
&lt;br /&gt;
There are two fixes for this:&lt;br /&gt;
&lt;br /&gt;
As a quick fix you can rename the following folder:&lt;br /&gt;
&lt;br /&gt;
 env/skyboxes/skybox_darkland_ne&lt;br /&gt;
&lt;br /&gt;
to a different name. That will result in black sky.&lt;br /&gt;
&lt;br /&gt;
Alternatively, edit the file &amp;lt;tt&amp;gt;materials/tdm_sky.mtr&amp;lt;/tt&amp;gt; with &#039;&#039;&#039;Wordpad&#039;&#039;&#039; or a different editor and&lt;br /&gt;
find the sky material named &#039;&#039;&#039;textures/darkmod/nature/skybox/skybox_darkland_NE&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 //Author: Dram&lt;br /&gt;
 //skybox_ocean with ocean replaced with dark land&lt;br /&gt;
 //Moon moved to north east by Fidcal&lt;br /&gt;
 textures/darkmod/nature/skybox/skybox_darkland_NE&lt;br /&gt;
    {&lt;br /&gt;
    qer_editorimage env/skyboxes/skybox_ocean/ocean_ed&lt;br /&gt;
    noFragment&lt;br /&gt;
    noshadows&lt;br /&gt;
    noimpact&lt;br /&gt;
    nooverlays&lt;br /&gt;
    forceOpaque&lt;br /&gt;
    {&lt;br /&gt;
        forceHighQuality&lt;br /&gt;
        blend add&lt;br /&gt;
        cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE&lt;br /&gt;
        texgen skybox&lt;br /&gt;
        texgen wobblesky .0 .0 .0&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this declaration, comment out the line that reads &#039;&#039;&#039;forceHighQuality&#039;&#039;&#039; by adding &amp;lt;tt&amp;gt;//&amp;lt;/tt&amp;gt; in front of it:&lt;br /&gt;
&lt;br /&gt;
  // forceHighQuality&lt;br /&gt;
&lt;br /&gt;
That should fix the sky and make it render correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The Sky rotates ===&lt;br /&gt;
&lt;br /&gt;
This problem only affects FMs with a dynamic sky (eg, moving clouds etc.).&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
If that doesn&#039;t fix it then try this. Note that it replaces dynamic sky with a static clear one so it might look odd in a stormy FM for example, but better than a spinning sky:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a new folder in your darkmod folder called materials.&lt;br /&gt;
* Within it create a plain text file named no_skybox.mtr.&lt;br /&gt;
* Paste in the following:&lt;br /&gt;
&lt;br /&gt;
 textures/smf/portal_sky&lt;br /&gt;
 {&lt;br /&gt;
 	qer_editorimage env/skyboxes/skybox_ocean/ocean_ed&lt;br /&gt;
 	noFragment&lt;br /&gt;
 	&lt;br /&gt;
 	noimpact&lt;br /&gt;
 	nooverlays&lt;br /&gt;
 	forceOpaque&lt;br /&gt;
 	noShadows&lt;br /&gt;
 	{&lt;br /&gt;
 		forceHighQuality&lt;br /&gt;
 		blend add&lt;br /&gt;
 		cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE&lt;br /&gt;
 		texgen skybox&lt;br /&gt;
 		texgen wobblesky .0 .0 .0&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(For more recent Catalyst versions see: [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] )&lt;br /&gt;
&lt;br /&gt;
=== HDR-Lite Post-Processing problems ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To turn off Catalyst AI, open your Catalyst control panel, go to &#039;graphics&#039; at the top left, select &#039;3d&#039; from the dropdown list and on the new menu below, select &#039;AI&#039;. Now select the &#039;Disable Catalyst A.I.&#039; checkbox.&lt;br /&gt;
&lt;br /&gt;
(For more recent Catalyst versions see: [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It has also been suspected that HDR-Lite Post-Processing may lead to [[#Underwater performance poor|poor performance underwater]], see next point:&lt;br /&gt;
&lt;br /&gt;
===Underwater performance poor===&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;g_doubleVision&#039;&#039;&#039; to 0 in the console. This however disables the doubleVision effect completely, so that there is no underwater-blur any more. The murkiness still remains though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Upside-down screen===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To turn off Catalyst AI, open your Catalyst control panel, go to &#039;graphics&#039; at the top left, select &#039;3d&#039; from the dropdown list and on the new menu below, select &#039;AI&#039;. Now select the &#039;Disable Catalyst A.I.&#039; checkbox. &lt;br /&gt;
&lt;br /&gt;
(For more recent Catalyst versions see: [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The game is &#039;&#039;&#039;very&#039;&#039;&#039; slow! ===&lt;br /&gt;
&lt;br /&gt;
If you get less than 10 FPS, or the game even stutters, please try this:&lt;br /&gt;
&lt;br /&gt;
Look into your &#039;&#039;&#039;DoomConfig.cfg&#039;&#039;&#039; inside your &amp;lt;tt&amp;gt;darkmod&amp;lt;/tt&amp;gt; folder and check that the&lt;br /&gt;
following settings are like shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;max-width:35em&amp;quot;&amp;gt;&lt;br /&gt;
 seta image_usePrecompressedTextures &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_useNormalCompression &amp;quot;2&amp;quot;&lt;br /&gt;
 seta image_useAllFormats &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_useCompression &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_preload &amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If that doesn&#039;t help, your system might run out of memory. Either upgrade to more than 1 Gbyte memory,&lt;br /&gt;
or try to close other applications before playing.&lt;br /&gt;
&lt;br /&gt;
Please see also the article about [[Performance Tweaks]] to improve the performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Slow loading times ===&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;max-width:35em&amp;quot;&amp;gt;&lt;br /&gt;
 seta image_useNormalCompression &amp;quot;0&amp;quot;&lt;br /&gt;
 seta image_useCompression &amp;quot;0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Game freezes for several seconds when opening doors===&lt;br /&gt;
The following problems :&lt;br /&gt;
&lt;br /&gt;
A) &amp;quot;game freezes and loads some data from hard drive while opening doors&amp;quot;&lt;br /&gt;
B) &amp;quot;while loading mission you are returned to the menu and need to restart loading&amp;quot;&lt;br /&gt;
&lt;br /&gt;
are often resolved by disabling EAX 4.0 HD in the Audio Settings menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Game exits to menu after mission load, with renderpipe error in console===&lt;br /&gt;
&lt;br /&gt;
* {{Red|Version 1.06 does not use named pipes. This is a depreciated issue.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptoms:&#039;&#039;&#039; 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:&lt;br /&gt;
&lt;br /&gt;
 ERROR: Failed to open \\.\pipe\dm_renderpipe&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 ERROR: idRenderSystemLocal::uncrop currentcrop &amp;lt;1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039; Some firewalls, notably &#039;&#039;Sunbelt Firewall&#039;&#039; (aka &#039;&#039;Kerio Firewall&#039;&#039;) are known to interfere with TDM&#039;s lightgem, &#039;&#039;even when &amp;quot;disabled&amp;quot;&#039;&#039;. To fix this problem, completely uninstall the firewall and get a different one instead.&lt;br /&gt;
&lt;br /&gt;
Related [http://bugs.angua.at/view.php?id=543 #543]: Consider using glReadPixels for lightgem instead of named pipes.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;COULD NOT FIND TDMLAUNCHER&amp;quot; when installing an FM===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;+&amp;quot; before a &amp;quot;set&amp;quot;-command, will lead to this error message. Steam users are advised to remove any launch-options from Doom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===The sound lags behind the picture===&lt;br /&gt;
&lt;br /&gt;
This seems to happen on some Linux Distributions with PulseAudio. Doom&#039;s sound engine defaults to ALSA, you can try to use OSS instead:&lt;br /&gt;
&lt;br /&gt;
Add the following to your &#039;&#039;dmargs.txt&#039;&#039; (it is in &#039;&#039;~/.doom/darkmod/&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
 +set s_driver oss&lt;br /&gt;
&lt;br /&gt;
If your system does not provide OSS or a working OSS-emulation (try &#039;&#039;padsp ./tmdlauncher-linux&#039;&#039;), reset this to &#039;&#039;best&#039;&#039; which means ALSA.&lt;br /&gt;
&lt;br /&gt;
While OSS or ALSA deal directly with the sound hardware, PulseAudio is a soundserver that puts itself between the application (doom3) and ALSA. Your goal is to bypass the PA-part while playing TDM.&lt;br /&gt;
&lt;br /&gt;
You can either disable the PulseAudio daemon temporarily or connect Doom directly to ALSA.&lt;br /&gt;
&lt;br /&gt;
To disable PA, create a file named &#039;&#039;client.conf&#039;&#039; in &#039;&#039;~/.pulse&#039;&#039; which contains:&lt;br /&gt;
&lt;br /&gt;
 autospawn=no&lt;br /&gt;
&lt;br /&gt;
Then open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
 pulseaudio -k&lt;br /&gt;
&lt;br /&gt;
When sound playback fails, make sure you have &#039;&#039;s_driver&#039;&#039; set to &#039;&#039;best&#039;&#039;, and &#039;&#039;s_alsa_pcm&#039;&#039; to &#039;&#039;default&#039;&#039;. When it works, you propably want to adjust volume settings outside TDM. Try &#039;&#039;alsamixer&#039;&#039; (in a terminal).&lt;br /&gt;
&lt;br /&gt;
When you&#039;re finished playing, turn PA back on:&lt;br /&gt;
&lt;br /&gt;
 pulseaudio -D&lt;br /&gt;
&lt;br /&gt;
starts the daemon. Changing &#039;&#039;autospawn&#039;&#039; to &#039;&#039;yes&#039;&#039; should prevent you from doing this manually after every reboot.    :)&lt;br /&gt;
&lt;br /&gt;
The other way, just bypassing PA, requires some knowledge about your sound hardware. Type&lt;br /&gt;
&lt;br /&gt;
 aplay -L&lt;br /&gt;
&lt;br /&gt;
This gives you a long list of your ALSA playback devices, three lines for each, first line is &#039;&#039;&amp;lt;name&amp;gt;&#039;&#039;. Choose the one with PCM Playback that your speakers are connected to and add&lt;br /&gt;
&lt;br /&gt;
 +set s_alsa_pcm &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &#039;&#039;dmargs.txt&#039;&#039;. If &#039;&#039;&amp;lt;name&amp;gt;&#039;&#039; is not convenient for you just try something like hw:1,0 if you know what you are doing, but be aware abstract designations like &#039;&#039;default&#039;&#039; will get &amp;quot;hijacked&amp;quot; by PA.&lt;br /&gt;
&lt;br /&gt;
=== Changing the screen resolution/aspect ratio does nothing!? ===&lt;br /&gt;
&lt;br /&gt;
These changes require a restart of Doom to work. Alternatively the command vid_restart can be issued at the console. It can take quite some time to execute this command, depending on whether or not you&#039;re already ingame. It will still be a lot faster than restarting and reloading the game though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Steam launches D3, not TDM ===&lt;br /&gt;
&lt;br /&gt;
Whenever you start Steam and it launches vanilla Doom instead of TDM, make sure you follow this advice:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Create a shortcut on your desktop and set it to the following:&lt;br /&gt;
&lt;br /&gt;
 steam.exe -applaunch 9050 +set fs_game_base darkmod&lt;br /&gt;
&lt;br /&gt;
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable Catalyst AI in recent AMD ATI drivers ===&lt;br /&gt;
&lt;br /&gt;
From (at least) Catalyst versions 10.12 and beyond, the ability to disable Catalyst AI properly&lt;br /&gt;
has been changed or removed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Rage3d and Guru3d have advised using &amp;quot;Radeon Pro&amp;quot; to address this.&lt;br /&gt;
&lt;br /&gt;
Steps&lt;br /&gt;
&lt;br /&gt;
* 1) Remove Catalyst Control Center (removing all ATI drivers recommended then re-install just the Display driver)&lt;br /&gt;
* 2) Download and install &amp;quot;Radeon Pro&amp;quot; [http://forums.guru3d.com/showthread.php?t=322031 Radeon Pro Thread at Guru3D]&lt;br /&gt;
* 3) Create a profile as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If you&#039;re using RadeonPro, create a profile for the game you want to disable Catalyst AI. &lt;br /&gt;
Right-click the newly created profile, keep left shift key pressed and choose &lt;br /&gt;
Open Location on context-menu, this will open the profile&#039;s XML definition. &lt;br /&gt;
Append a new line and add entry like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Property name=&amp;quot;CatalystAI&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file and start the game. CatalystAI should be disabled.&lt;br /&gt;
&lt;br /&gt;
I also recommend to open ___GlobalProfile.xml &lt;br /&gt;
(found on same directory where your profile is saved) &lt;br /&gt;
and look for &amp;quot;CatalystAI&amp;quot; entry, it must be equal to &amp;quot;1&amp;quot; &lt;br /&gt;
otherwise CatalystAI will be kept disabled after you exit your game.&lt;br /&gt;
&lt;br /&gt;
CFX disabled by setting CatalystAI to 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another alternate method for Windows users:&lt;br /&gt;
&lt;br /&gt;
* 1) Obtain a copy of the free &amp;quot;ATI Tray Tools&amp;quot; by Ray Adams from [http://downloads.guru3d.com/download.php?det=733 Guru3d].&lt;br /&gt;
&lt;br /&gt;
* 2) Install it into your Windows tray.&lt;br /&gt;
&lt;br /&gt;
* 3) Right-click it.&lt;br /&gt;
&lt;br /&gt;
* 4) Select Direct 3d -&amp;gt; Catalyst AI -&amp;gt; Off.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable Nvidia &amp;quot;Threaded Optimizations&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Many random crash behaviors seen by Nvidia users can be resolve by the following steps:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open Nvidia Control Panel -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manage 3D Settings -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bottom half of list locate &amp;quot;Threaded Optimization&amp;quot; &amp;lt;-- Set to NO / Off&lt;br /&gt;
&lt;br /&gt;
Also set &amp;quot;Multi-display/Mixed GPU acceleration&amp;quot; to &amp;quot;Single display performance mode&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Getting &amp;quot;Malloc Failure for #######&amp;quot; crash-to-desktop ===&lt;br /&gt;
&lt;br /&gt;
Because Doom 3 is a 32-bit game, it can only utilize a certain amount of RAM. When Doom 3 needs more memory, but cannot allocate anymore, it crashes with an error saying something like&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Shutdown event system&lt;br /&gt;
--------------------------------------&lt;br /&gt;
malloc failure for 3145781&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A possibly solution is to patch Doom3.exe with a [http://www.ntcore.com/4gb_patch.php 4GB Patcher] to allow the game to allocate more memory.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Known Bugs]]&lt;br /&gt;
* [[Gameplay]]&lt;br /&gt;
&lt;br /&gt;
{{installation}} {{general}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=FAQ&amp;diff=14360</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=FAQ&amp;diff=14360"/>
		<updated>2012-03-04T22:28:35Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{important|headline=Important|text=This FAQ relates to the full TDM release version only. For players of the pre-release demos such as &#039;&#039;&#039;[[Thief&#039;s Den]]&#039;&#039;&#039; and &#039;&#039;&#039;[[Saint_Lucia|Tears of Saint Lucia]]&#039;&#039;&#039; please refer to the &#039;&#039;&#039;[[FAQ (Demo Releases)|Demo FAQ]]&#039;&#039;&#039;.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
== What Doom versions are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== Can I use the Demo version of Doom 3? ===&lt;br /&gt;
&lt;br /&gt;
No, sorry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Can I use it with the Doom 3 expansion Resurrection of Evil? ===&lt;br /&gt;
The Doom 3 RoE expansion is designed to run as modification to the base Doom 3 game. Hence it&#039;s not a problem to have it installed on your system, but only one mod can be run at a time of course. As long as you didn&#039;t move or extract files manually all over your Doom 3 folder, the Resurrection of Evil expansion should not interfere with The Dark Mod. Just to be clear, &#039;&#039;&#039;you&#039;ll still need to have the base Doom 3 game, the expansion alone won&#039;t suffice as it&#039;s just a mod&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Does it run with the Steam version of Doom 3? ===&lt;br /&gt;
&lt;br /&gt;
Yes :) You need to install the mod into the directory where Steam put Doom3, this might be under:&lt;br /&gt;
&lt;br /&gt;
 C:\Program Files\Steam\steamapps\common\doom 3&lt;br /&gt;
&lt;br /&gt;
or a similiar folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Create a shortcut on your desktop and set it to the following:&lt;br /&gt;
&lt;br /&gt;
 steam.exe -applaunch 9050 +set fs_game_base darkmod&lt;br /&gt;
&lt;br /&gt;
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.&lt;br /&gt;
&lt;br /&gt;
== Patching Doom 3 to verson 1.3.1.1304 ==&lt;br /&gt;
&lt;br /&gt;
=== How can I check whether my Doom 3 is correctly patched? ===&lt;br /&gt;
&lt;br /&gt;
Open Doom 3 and hit {{key|Ctrl}}+{{key|Alt}}+{{key|~}} (tilde, {{key|^}} on German keyboards) to open the console. You&#039;ll see the version printed in the lower left corner of the console. It should read &#039;&#039;&#039;1.3.1.1304&#039;&#039;&#039;. If your version is ending on 1302, you&#039;ve got the wrong patch installed.&lt;br /&gt;
&lt;br /&gt;
=== Where can I get the right patch? ===&lt;br /&gt;
&lt;br /&gt;
We have the patch hosted on our FTP. See the [[Installation]] article to find a link to it.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== What&#039;s that issue with the 1.3.1 patch? ===&lt;br /&gt;
&lt;br /&gt;
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&#039;t spread yet, didn&#039;t bother to change the version number. However, you can still find &amp;quot;wrong&amp;quot; 1.3.1 patches and these will not work with the mod. That&#039;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&#039;t work. The link provided here on our own page points to the correct patch, so if you downloaded it from here you don&#039;t need to worry about it.&lt;br /&gt;
&lt;br /&gt;
== Supported Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
=== Which Windows versions can I use? ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== PAE Enabled ====&lt;br /&gt;
&lt;br /&gt;
One user with Windows XP Pro SP3 and an AMD Phenom processor reported problems starting Doom 3 due to having PAE enabled.&lt;br /&gt;
&lt;br /&gt;
[http://modetwo.net/darkmod/index.php?/topic/12471-error-doom-3/ Thread]&lt;br /&gt;
&lt;br /&gt;
=== Does it run in Linux? ===&lt;br /&gt;
Yes, Linux is supported.&lt;br /&gt;
&lt;br /&gt;
=== Does it run in 64 Bit Linux? ===&lt;br /&gt;
Yes, Linux 64 bit is supported. In addition to the steps above, you need 32 bit compatibility libraries, since Doom3 is 32 bit only:&lt;br /&gt;
* On &#039;&#039;&#039;SuSE&#039;&#039;&#039;, they should be included.&lt;br /&gt;
* On Ubuntu/Kubuntu, install the package &#039;&#039;&#039;ia32&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For TDM after 1.0, this step should be &#039;&#039;&#039;no&#039;&#039;&#039; longer neccessary:&lt;br /&gt;
&lt;br /&gt;
* 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 &#039;&#039;&#039;libmng&#039;&#039;&#039; and the boost filesystem lib:&lt;br /&gt;
:&amp;lt;code&amp;gt;getlibs libmng.so.1&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;getlibs -l libboost-filesystem1.34.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What about Gentoo? ===&lt;br /&gt;
Yes. It&#039;s not &amp;quot;officially&amp;quot; supported (the team doesn&#039;t test it specifically), however several users have reported success running TDM under Gentoo.&lt;br /&gt;
&lt;br /&gt;
=== What about Ubuntu 8.10? ===&lt;br /&gt;
Yes. As of this writing you will need to install the &#039;&#039;&#039;libboost-filesystem&#039;&#039;&#039; package.&lt;br /&gt;
&lt;br /&gt;
=== GLIBCXX_3.4.9 errors ===&lt;br /&gt;
&lt;br /&gt;
If you receive an error about &amp;lt;tt&amp;gt;GLIBCXX_3.4.9&amp;lt;/tt&amp;gt;, delete or rename the files &amp;lt;code&amp;gt;/usr/local/games/doom3/libstdc++.so.6&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/usr/local/games/doom3/libgcc_s.so.1.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;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.&lt;br /&gt;
&lt;br /&gt;
=== Does it run on Mac OS X?===&lt;br /&gt;
Yes. See [[Installation]].&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
&lt;br /&gt;
=== Does TDM support widescreen resolutions? ===&lt;br /&gt;
&lt;br /&gt;
Yes. Choose &amp;quot;16:9&amp;quot; or &amp;quot;16:10&amp;quot; in the in-game &#039;&#039;Settings&#039;&#039; menu, and select the appropriate resolution. Note that you need to restart the game to have the new setting in effect.&lt;br /&gt;
&lt;br /&gt;
If the native resolution of your wide screen monitor is not listed, you can enter it into &#039;&#039;&#039;DoomConfig.cfg&#039;&#039;&#039; by changing the following entries like so:&lt;br /&gt;
&lt;br /&gt;
 set r_mode &amp;quot;-1&amp;quot;&lt;br /&gt;
 set r_customwidth &amp;quot;1280&amp;quot;&lt;br /&gt;
 set r_customheight &amp;quot;800&amp;quot;&lt;br /&gt;
 seta r_aspectratio &amp;quot;2&amp;quot;            // means 16:10, &amp;quot;1&amp;quot; is 16:9, other ratios are not yet supporred&lt;br /&gt;
&lt;br /&gt;
{{infobox|If you get performance problems, please consider using a lower resolution and taking a look at [[Performance Tweaks]].}}&lt;br /&gt;
&lt;br /&gt;
==== What about TV resolutions like 1360x768? ====&lt;br /&gt;
&lt;br /&gt;
If you have a wide-screen TV which uses any non-standard resolution, like 1360x768 (instead of 1366x768), then please use the following:&lt;br /&gt;
&lt;br /&gt;
 seta r_customWidth &amp;quot;1360&amp;quot;&lt;br /&gt;
 seta r_customHeight &amp;quot;768&amp;quot;&lt;br /&gt;
 seta r_mode &amp;quot;-1&amp;quot;&lt;br /&gt;
 seta r_aspectratio 2&lt;br /&gt;
 seta g_fov &amp;quot;100&amp;quot;                  // or any other suitable value&lt;br /&gt;
&lt;br /&gt;
Alternatively, see the manual of your TV on the possibility to switch it to a &amp;quot;1:1&amp;quot; pixel mapping, or &amp;quot;monitor mode&amp;quot; or &amp;quot;computer mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Here is some background information: http://hd.engadget.com/2006/04/21/whats-the-deal-with-1366-x-768/&lt;br /&gt;
&lt;br /&gt;
{{infobox|If you get performance problems, please consider using a lower resolution and taking a look at [[Performance Tweaks]].}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
It is hard to answer questions on why something fails, because wildly different systems cause wildly different symptoms. If the following section does not help you, please ask at our [http://www.modetwo.net/darkmod forums].&lt;br /&gt;
&lt;br /&gt;
For any solutions below that refer to &amp;quot;disabling Catalyst AI&amp;quot;, if you discover you can not use ATI&#039;s tools to do so, alternate methods are discussed in [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updater (tdm_update.exe) closes almost as soon as it&#039;s started ===&lt;br /&gt;
&lt;br /&gt;
See the [[Tdm_update#Updater_closes_almost_as_soon_as_it.27s_started|main article on tdm_update]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows 2000: freeaddrinfo cannot be found in WS2_32.DLL ===&lt;br /&gt;
Please refer to the main article [[TDM in Windows 2000]] to work around this problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FM won&#039;t install manually===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FMs downloaded but don&#039;t show in menu list===&lt;br /&gt;
&lt;br /&gt;
You have downloaded some FMs but they don&#039;t show on Dark Mod&#039;s New Missions list. Possible causes:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* If you are running Linux then Doom 3 MUST be installed in a .doom3 folder. Note the dot before .doom3.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FM downloaded but won&#039;t play ===&lt;br /&gt;
&lt;br /&gt;
If you have downloaded an FM you might see it in the New Missions List but can&#039;t get it to play. These are almost always an install problem. These are some of the causes and cures:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You MUST use doom3\darkmod\tdmlauncher.exe to run Dark Mod in Windows and NOT Doom3.exe.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* Exit Dark Mod&lt;br /&gt;
* Delete doom3\darkmod\currentfm.txt (this just uninstalls any FM)&lt;br /&gt;
* 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 it so check and move them out if you want to preserve them. However, if you can&#039;t get the game to play it&#039;s likely you don&#039;t have any yet. If you can&#039;t see the folder don&#039;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.&lt;br /&gt;
* Move the pk4 into the darkmod\fms folder if it is not already there.&lt;br /&gt;
* Delete the darkmod\fms\FMname folder if any, eg, darkmod\fms\chalice. Don&#039;t worry if there isn&#039;t one; it will be created automatically later.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== The game hangs at Dark Mod screen/ locks up while turning on vsynch ===&lt;br /&gt;
Catalyst Control Center above 10.8 for ATI cards has a performance slider for V-Synch. Setting that slider to Quality (Always On)&lt;br /&gt;
fixes this issue. If set lower than quality and it is always on in game it will freeze.&lt;br /&gt;
(tested specifically in CC 10-11)&lt;br /&gt;
&lt;br /&gt;
=== The game crashes on load ===&lt;br /&gt;
Make sure that:&lt;br /&gt;
* You installed [[#Patching_Doom_3_to_verson_1.3.1.1304|the correct version]] of the Doom 3 1.3.1 patch.&lt;br /&gt;
* Your system meets at least the minimum system specs.&lt;br /&gt;
* You have enough free main memory. Try closing a few running programs like Outlook, Anti-Virus or torrent clients.&lt;br /&gt;
* Nvidia &amp;quot;Threaded Optimizations&amp;quot; are causing Doom 3 Mod stability issues (see: [[#Disable Nvidia &amp;quot;Threaded Optimizations&amp;quot;|Disable Nvidia &amp;quot;Threaded Optimizations&amp;quot;]] )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If that doesn&#039;t fix it, you probably receive an error message referencing an &amp;quot;Unknown event&amp;quot; at startup, like the screenshot below illustrates.&lt;br /&gt;
&lt;br /&gt;
[[Image:ErrorSetEntityRelation.jpg]]&lt;br /&gt;
&lt;br /&gt;
Here are a couple of known problems and their solutions:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;tdmlauncher.exe fails to copy&#039;&#039;&#039; the necessary game binaries. The log file should read something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;found DLL in pak file: C:\Program Files\Doom 3\darkmod\tdm_game01.pk4/gamex86.dll&lt;br /&gt;
copy gamex86.dll to C:\Program Files\Doom 3\darkmod\gamex86.dll&lt;br /&gt;
could not create destination file&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sometimes, the procedure fails due to &#039;&#039;&#039;spaces in the installation path&#039;&#039;&#039;. Try extracting the gamex86.dll manually using Winzip or similar or install Doom 3 in a different directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You have a &#039;&#039;&#039;firewall&#039;&#039;&#039; 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 &#039;&#039;&#039;COMODO Firewall&#039;&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;It is also possible that an &#039;&#039;&#039;old version of gamex86.dll&#039;&#039;&#039; (or gamex86.so) is lying around in your Doom 3 folder. Delete it and try again.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Textures are missing, screen mostly black ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Tdm missing textures.jpg|right|240px|Black textures]]&lt;br /&gt;
&lt;br /&gt;
Look into your &#039;&#039;&#039;DoomConfig.cfg&#039;&#039;&#039; inside your &amp;lt;tt&amp;gt;darkmod&amp;lt;/tt&amp;gt; folder and check that the following settings are like shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;max-width:35em&amp;quot;&amp;gt;&lt;br /&gt;
 seta image_usePrecompressedTextures &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_useNormalCompression &amp;quot;2&amp;quot;&lt;br /&gt;
 seta image_useAllFormats &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_useCompression &amp;quot;0&amp;quot;&lt;br /&gt;
 seta image_preload &amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Textures are missing, shadows are pitch black ===&lt;br /&gt;
&lt;br /&gt;
Try disabling the AGP surface accelerator in DXDIAG.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graphic Corruption ===&lt;br /&gt;
&lt;br /&gt;
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. &amp;quot;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.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(For more recent Catalyst versions see: [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] )&lt;br /&gt;
&lt;br /&gt;
=== The briefing is very fuzzy ===&lt;br /&gt;
&lt;br /&gt;
Look into your &#039;&#039;&#039;DoomConfig.cfg&#039;&#039;&#039; inside your &amp;lt;tt&amp;gt;darkmod&amp;lt;/tt&amp;gt;  folder and check that the following settings are like shown below:&lt;br /&gt;
&lt;br /&gt;
 seta image_roundDown &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_forceDownSize &amp;quot;0&amp;quot;&lt;br /&gt;
 seta image_downSize &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== The sky is corrupted ===&lt;br /&gt;
&lt;br /&gt;
You either see black sky, or fragments of other textures. This seems only to happen on Geforce 6800 cards.&lt;br /&gt;
&lt;br /&gt;
There are two fixes for this:&lt;br /&gt;
&lt;br /&gt;
As a quick fix you can rename the following folder:&lt;br /&gt;
&lt;br /&gt;
 env/skyboxes/skybox_darkland_ne&lt;br /&gt;
&lt;br /&gt;
to a different name. That will result in black sky.&lt;br /&gt;
&lt;br /&gt;
Alternatively, edit the file &amp;lt;tt&amp;gt;materials/tdm_sky.mtr&amp;lt;/tt&amp;gt; with &#039;&#039;&#039;Wordpad&#039;&#039;&#039; or a different editor and&lt;br /&gt;
find the sky material named &#039;&#039;&#039;textures/darkmod/nature/skybox/skybox_darkland_NE&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 //Author: Dram&lt;br /&gt;
 //skybox_ocean with ocean replaced with dark land&lt;br /&gt;
 //Moon moved to north east by Fidcal&lt;br /&gt;
 textures/darkmod/nature/skybox/skybox_darkland_NE&lt;br /&gt;
    {&lt;br /&gt;
    qer_editorimage env/skyboxes/skybox_ocean/ocean_ed&lt;br /&gt;
    noFragment&lt;br /&gt;
    noshadows&lt;br /&gt;
    noimpact&lt;br /&gt;
    nooverlays&lt;br /&gt;
    forceOpaque&lt;br /&gt;
    {&lt;br /&gt;
        forceHighQuality&lt;br /&gt;
        blend add&lt;br /&gt;
        cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE&lt;br /&gt;
        texgen skybox&lt;br /&gt;
        texgen wobblesky .0 .0 .0&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this declaration, comment out the line that reads &#039;&#039;&#039;forceHighQuality&#039;&#039;&#039; by adding &amp;lt;tt&amp;gt;//&amp;lt;/tt&amp;gt; in front of it:&lt;br /&gt;
&lt;br /&gt;
  // forceHighQuality&lt;br /&gt;
&lt;br /&gt;
That should fix the sky and make it render correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The Sky rotates ===&lt;br /&gt;
&lt;br /&gt;
This problem only affects FMs with a dynamic sky (eg, moving clouds etc.).&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
If that doesn&#039;t fix it then try this. Note that it replaces dynamic sky with a static clear one so it might look odd in a stormy FM for example, but better than a spinning sky:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a new folder in your darkmod folder called materials.&lt;br /&gt;
* Within it create a plain text file named no_skybox.mtr.&lt;br /&gt;
* Paste in the following:&lt;br /&gt;
&lt;br /&gt;
 textures/smf/portal_sky&lt;br /&gt;
 {&lt;br /&gt;
 	qer_editorimage env/skyboxes/skybox_ocean/ocean_ed&lt;br /&gt;
 	noFragment&lt;br /&gt;
 	&lt;br /&gt;
 	noimpact&lt;br /&gt;
 	nooverlays&lt;br /&gt;
 	forceOpaque&lt;br /&gt;
 	noShadows&lt;br /&gt;
 	{&lt;br /&gt;
 		forceHighQuality&lt;br /&gt;
 		blend add&lt;br /&gt;
 		cameraCubeMap env/skyboxes/skybox_darkland_ne/darkland_NE&lt;br /&gt;
 		texgen skybox&lt;br /&gt;
 		texgen wobblesky .0 .0 .0&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(For more recent Catalyst versions see: [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] )&lt;br /&gt;
&lt;br /&gt;
=== HDR-Lite Post-Processing problems ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To turn off Catalyst AI, open your Catalyst control panel, go to &#039;graphics&#039; at the top left, select &#039;3d&#039; from the dropdown list and on the new menu below, select &#039;AI&#039;. Now select the &#039;Disable Catalyst A.I.&#039; checkbox.&lt;br /&gt;
&lt;br /&gt;
(For more recent Catalyst versions see: [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It has also been suspected that HDR-Lite Post-Processing may lead to [[#Underwater performance poor|poor performance underwater]], see next point:&lt;br /&gt;
&lt;br /&gt;
===Underwater performance poor===&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;g_doubleVision&#039;&#039;&#039; to 0 in the console. This however disables the doubleVision effect completely, so that there is no underwater-blur any more. The murkiness still remains though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Upside-down screen===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To turn off Catalyst AI, open your Catalyst control panel, go to &#039;graphics&#039; at the top left, select &#039;3d&#039; from the dropdown list and on the new menu below, select &#039;AI&#039;. Now select the &#039;Disable Catalyst A.I.&#039; checkbox. &lt;br /&gt;
&lt;br /&gt;
(For more recent Catalyst versions see: [[#Disable Catalyst AI in recent AMD ATI drivers|Disable Catalyst AI in recent AMD ATI drivers]] )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The game is &#039;&#039;&#039;very&#039;&#039;&#039; slow! ===&lt;br /&gt;
&lt;br /&gt;
If you get less than 10 FPS, or the game even stutters, please try this:&lt;br /&gt;
&lt;br /&gt;
Look into your &#039;&#039;&#039;DoomConfig.cfg&#039;&#039;&#039; inside your &amp;lt;tt&amp;gt;darkmod&amp;lt;/tt&amp;gt; folder and check that the&lt;br /&gt;
following settings are like shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;max-width:35em&amp;quot;&amp;gt;&lt;br /&gt;
 seta image_usePrecompressedTextures &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_useNormalCompression &amp;quot;2&amp;quot;&lt;br /&gt;
 seta image_useAllFormats &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_useCompression &amp;quot;1&amp;quot;&lt;br /&gt;
 seta image_preload &amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If that doesn&#039;t help, your system might run out of memory. Either upgrade to more than 1 Gbyte memory,&lt;br /&gt;
or try to close other applications before playing.&lt;br /&gt;
&lt;br /&gt;
Please see also the article about [[Performance Tweaks]] to improve the performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Slow loading times ===&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;max-width:35em&amp;quot;&amp;gt;&lt;br /&gt;
 seta image_useNormalCompression &amp;quot;0&amp;quot;&lt;br /&gt;
 seta image_useCompression &amp;quot;0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Game freezes for several seconds when opening doors===&lt;br /&gt;
The following problems :&lt;br /&gt;
&lt;br /&gt;
A) &amp;quot;game freezes and loads some data from hard drive while opening doors&amp;quot;&lt;br /&gt;
B) &amp;quot;while loading mission you are returned to the menu and need to restart loading&amp;quot;&lt;br /&gt;
&lt;br /&gt;
are often resolved by disabling EAX 4.0 HD in the Audio Settings menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Game exits to menu after mission load, with renderpipe error in console===&lt;br /&gt;
&lt;br /&gt;
* {{Red|Version 1.06 does not use named pipes. This is a depreciated issue.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptoms:&#039;&#039;&#039; 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:&lt;br /&gt;
&lt;br /&gt;
 ERROR: Failed to open \\.\pipe\dm_renderpipe&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 ERROR: idRenderSystemLocal::uncrop currentcrop &amp;lt;1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039; Some firewalls, notably &#039;&#039;Sunbelt Firewall&#039;&#039; (aka &#039;&#039;Kerio Firewall&#039;&#039;) are known to interfere with TDM&#039;s lightgem, &#039;&#039;even when &amp;quot;disabled&amp;quot;&#039;&#039;. To fix this problem, completely uninstall the firewall and get a different one instead.&lt;br /&gt;
&lt;br /&gt;
Related [http://bugs.angua.at/view.php?id=543 #543]: Consider using glReadPixels for lightgem instead of named pipes.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;COULD NOT FIND TDMLAUNCHER&amp;quot; when installing an FM===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;+&amp;quot; before a &amp;quot;set&amp;quot;-command, will lead to this error message. Steam users are advised to remove any launch-options from Doom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===The sound lags behind the picture===&lt;br /&gt;
&lt;br /&gt;
This seems to happen on some Linux Distributions with PulseAudio. Doom&#039;s sound engine defaults to ALSA, you can try to use OSS instead:&lt;br /&gt;
&lt;br /&gt;
Add the following to your &#039;&#039;dmargs.txt&#039;&#039; (it is in &#039;&#039;~/.doom/darkmod/&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
 +set s_driver oss&lt;br /&gt;
&lt;br /&gt;
If your system does not provide OSS or a working OSS-emulation (try &#039;&#039;padsp ./tmdlauncher-linux&#039;&#039;), reset this to &#039;&#039;best&#039;&#039; which means ALSA.&lt;br /&gt;
&lt;br /&gt;
While OSS or ALSA deal directly with the sound hardware, PulseAudio is a soundserver that puts itself between the application (doom3) and ALSA. Your goal is to bypass the PA-part while playing TDM.&lt;br /&gt;
&lt;br /&gt;
You can either disable the PulseAudio daemon temporarily or connect Doom directly to ALSA.&lt;br /&gt;
&lt;br /&gt;
To disable PA, create a file named &#039;&#039;client.conf&#039;&#039; in &#039;&#039;~/.pulse&#039;&#039; which contains:&lt;br /&gt;
&lt;br /&gt;
 autospawn=no&lt;br /&gt;
&lt;br /&gt;
Then open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
 pulseaudio -k&lt;br /&gt;
&lt;br /&gt;
When sound playback fails, make sure you have &#039;&#039;s_driver&#039;&#039; set to &#039;&#039;best&#039;&#039;, and &#039;&#039;s_alsa_pcm&#039;&#039; to &#039;&#039;default&#039;&#039;. When it works, you propably want to adjust volume settings outside TDM. Try &#039;&#039;alsamixer&#039;&#039; (in a terminal).&lt;br /&gt;
&lt;br /&gt;
When you&#039;re finished playing, turn PA back on:&lt;br /&gt;
&lt;br /&gt;
 pulseaudio -D&lt;br /&gt;
&lt;br /&gt;
starts the daemon. Changing &#039;&#039;autospawn&#039;&#039; to &#039;&#039;yes&#039;&#039; should prevent you from doing this manually after every reboot.    :)&lt;br /&gt;
&lt;br /&gt;
The other way, just bypassing PA, requires some knowledge about your sound hardware. Type&lt;br /&gt;
&lt;br /&gt;
 aplay -L&lt;br /&gt;
&lt;br /&gt;
This gives you a long list of your ALSA playback devices, three lines for each, first line is &#039;&#039;&amp;lt;name&amp;gt;&#039;&#039;. Choose the one with PCM Playback that your speakers are connected to and add&lt;br /&gt;
&lt;br /&gt;
 +set s_alsa_pcm &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &#039;&#039;dmargs.txt&#039;&#039;. If &#039;&#039;&amp;lt;name&amp;gt;&#039;&#039; is not convenient for you just try something like hw:1,0 if you know what you are doing, but be aware abstract designations like &#039;&#039;default&#039;&#039; will get &amp;quot;hijacked&amp;quot; by PA.&lt;br /&gt;
&lt;br /&gt;
=== Changing the screen resolution/aspect ratio does nothing!? ===&lt;br /&gt;
&lt;br /&gt;
These changes require a restart of Doom to work. Alternatively the command vid_restart can be issued at the console. It can take quite some time to execute this command, depending on whether or not you&#039;re already ingame. It will still be a lot faster than restarting and reloading the game though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Steam launches D3, not TDM ===&lt;br /&gt;
&lt;br /&gt;
Whenever you start Steam and it launches vanilla Doom instead of TDM, make sure you follow this advice:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Create a shortcut on your desktop and set it to the following:&lt;br /&gt;
&lt;br /&gt;
 steam.exe -applaunch 9050 +set fs_game_base darkmod&lt;br /&gt;
&lt;br /&gt;
This ensures that when you start Steam, it will launch TDM and not Doom 3 without TDM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable Catalyst AI in recent AMD ATI drivers ===&lt;br /&gt;
&lt;br /&gt;
From (at least) Catalyst versions 10.12 and beyond, the ability to disable Catalyst AI properly&lt;br /&gt;
has been changed or removed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Rage3d and Guru3d have advised using &amp;quot;Radeon Pro&amp;quot; to address this.&lt;br /&gt;
&lt;br /&gt;
Steps&lt;br /&gt;
&lt;br /&gt;
* 1) Remove Catalyst Control Center (removing all ATI drivers recommended then re-install just the Display driver)&lt;br /&gt;
* 2) Download and install &amp;quot;Radeon Pro&amp;quot; [http://forums.guru3d.com/showthread.php?t=322031 Radeon Pro Thread at Guru3D]&lt;br /&gt;
* 3) Create a profile as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If you&#039;re using RadeonPro, create a profile for the game you want to disable Catalyst AI. &lt;br /&gt;
Right-click the newly created profile, keep left shift key pressed and choose &lt;br /&gt;
Open Location on context-menu, this will open the profile&#039;s XML definition. &lt;br /&gt;
Append a new line and add entry like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Property name=&amp;quot;CatalystAI&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file and start the game. CatalystAI should be disabled.&lt;br /&gt;
&lt;br /&gt;
I also recommend to open ___GlobalProfile.xml &lt;br /&gt;
(found on same directory where your profile is saved) &lt;br /&gt;
and look for &amp;quot;CatalystAI&amp;quot; entry, it must be equal to &amp;quot;1&amp;quot; &lt;br /&gt;
otherwise CatalystAI will be kept disabled after you exit your game.&lt;br /&gt;
&lt;br /&gt;
CFX disabled by setting CatalystAI to 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s another alternate method for Windows users:&lt;br /&gt;
&lt;br /&gt;
* 1) Obtain a copy of the free &amp;quot;ATI Tray Tools&amp;quot; by Ray Adams from [http://downloads.guru3d.com/download.php?det=733 Guru3d].&lt;br /&gt;
&lt;br /&gt;
* 2) Install it into your Windows tray.&lt;br /&gt;
&lt;br /&gt;
* 3) Right-click it.&lt;br /&gt;
&lt;br /&gt;
* 4) Select Direct 3d -&amp;gt; Catalyst AI -&amp;gt; Off.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable Nvidia &amp;quot;Threaded Optimizations&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Many random crash behaviors seen by Nvidia users can be resolve by the following steps:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open Nvidia Control Panel -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manage 3D Settings -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bottom half of list locate &amp;quot;Threaded Optimization&amp;quot; &amp;lt;-- Set to NO / Off&lt;br /&gt;
&lt;br /&gt;
Also set &amp;quot;Multi-display/Mixed GPU acceleration&amp;quot; to &amp;quot;Single display performance mode&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Getting &amp;quot;Malloc Failure for #######&amp;quot; crash-to-desktop ===&lt;br /&gt;
&lt;br /&gt;
Because Doom 3 is a 32-bit game, it can only utilize a certain amount of RAM. When Doom 3 needs more memory, but cannot allocate anymore, it crashes with an error saying something like&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Shutdown event system&lt;br /&gt;
--------------------------------------&lt;br /&gt;
malloc failure for 3145781&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A possibly solution is to patch Doom3.exe with a [http://www.ntcore.com/4gb_patch.php 4GB Patcher] to allow the game to allocate more memory.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Known Bugs]]&lt;br /&gt;
* [[Gameplay]]&lt;br /&gt;
&lt;br /&gt;
{{installation}} {{general}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14356</id>
		<title>List of LOD Models</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14356"/>
		<updated>2012-03-01T18:28:13Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Signs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists all models which have [[LOD]] versions, along with some screenshots. If you want to create more LOD stages/models, please see [[Creating LOD Models]] for a tutorial.&lt;br /&gt;
&lt;br /&gt;
The textures listed here are the filenames without the extension. If in TGA, you need to add &amp;quot;.tga&amp;quot;, if in DDS format, prefix the given path with &amp;quot;dds/&amp;quot; and append &amp;quot;.dds&amp;quot;. The material name shader is as-is.&lt;br /&gt;
&lt;br /&gt;
== Loot ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Trophy (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has one stage.&lt;br /&gt;
&lt;br /&gt;
Create from entity/loot/moveables&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Kitchen ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Decanter (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has two additional stages. One low, one low no shadow.&lt;br /&gt;
&lt;br /&gt;
Create from entity/Moveables/Kitchen list.&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Nature ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Cattails side by side.png|240px|Done!|right]]&lt;br /&gt;
* Models: cattails1.low, cattails2.low, cattails4.low&lt;br /&gt;
** Texture: &#039;&#039;textures/darkmod/decals/vegeation/cattails_atlas&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegeation/cattails_yellow_atlas&#039;&#039;, &lt;br /&gt;
** Materials: &#039;&#039;textures/darkmod/decals/vegetation/cattails_green&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegetation/cattails_yellow&#039;&#039;&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:Lily after colorcorrect.png|240px|right]]&lt;br /&gt;
* Models: lily&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Signs ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Wrought iron sign mount (by Baddcog)&lt;br /&gt;
Defaults medium detail (if author uses model, not LOD entity), Has High and Low detail.&lt;br /&gt;
Create from entity/Static/Hangers list.&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Half round sign (by Baddcog)&lt;br /&gt;
Defaults high detail (if author uses model, not LOD entity), Has Low detail.&lt;br /&gt;
Create from entity/Static/Decorative/Signs list.&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Statues ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Three of a kind.jpg|240px|right]]&lt;br /&gt;
* Aphrodite (by arcturus)&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[LOD]]&lt;br /&gt;
* [[Creating LOD Models]]&lt;br /&gt;
* [[SEED]]&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14355</id>
		<title>List of LOD Models</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14355"/>
		<updated>2012-03-01T18:27:12Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Kitchen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists all models which have [[LOD]] versions, along with some screenshots. If you want to create more LOD stages/models, please see [[Creating LOD Models]] for a tutorial.&lt;br /&gt;
&lt;br /&gt;
The textures listed here are the filenames without the extension. If in TGA, you need to add &amp;quot;.tga&amp;quot;, if in DDS format, prefix the given path with &amp;quot;dds/&amp;quot; and append &amp;quot;.dds&amp;quot;. The material name shader is as-is.&lt;br /&gt;
&lt;br /&gt;
== Loot ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Trophy (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has one stage.&lt;br /&gt;
&lt;br /&gt;
Create from entity/loot/moveables&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Kitchen ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Decanter (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has two additional stages. One low, one low no shadow.&lt;br /&gt;
&lt;br /&gt;
Create from entity/Moveables/Kitchen list.&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Nature ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Cattails side by side.png|240px|Done!|right]]&lt;br /&gt;
* Models: cattails1.low, cattails2.low, cattails4.low&lt;br /&gt;
** Texture: &#039;&#039;textures/darkmod/decals/vegeation/cattails_atlas&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegeation/cattails_yellow_atlas&#039;&#039;, &lt;br /&gt;
** Materials: &#039;&#039;textures/darkmod/decals/vegetation/cattails_green&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegetation/cattails_yellow&#039;&#039;&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:Lily after colorcorrect.png|240px|right]]&lt;br /&gt;
* Models: lily&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Signs ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* wrought iron sign mount (by Baddcog)&lt;br /&gt;
Defaults medium detail (if author uses model, not LOD entity), Has High and Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* half round sign (by Baddcog)&lt;br /&gt;
Defaults high detail (if author uses model, not LOD entity), Has Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statues ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Three of a kind.jpg|240px|right]]&lt;br /&gt;
* Aphrodite (by arcturus)&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[LOD]]&lt;br /&gt;
* [[Creating LOD Models]]&lt;br /&gt;
* [[SEED]]&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14354</id>
		<title>List of LOD Models</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14354"/>
		<updated>2012-03-01T18:26:33Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Loot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists all models which have [[LOD]] versions, along with some screenshots. If you want to create more LOD stages/models, please see [[Creating LOD Models]] for a tutorial.&lt;br /&gt;
&lt;br /&gt;
The textures listed here are the filenames without the extension. If in TGA, you need to add &amp;quot;.tga&amp;quot;, if in DDS format, prefix the given path with &amp;quot;dds/&amp;quot; and append &amp;quot;.dds&amp;quot;. The material name shader is as-is.&lt;br /&gt;
&lt;br /&gt;
== Loot ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Trophy (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has one stage.&lt;br /&gt;
&lt;br /&gt;
Create from entity/loot/moveables&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Kitchen ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Decanter (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has two additional stages. One low, one low no shadow.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Nature ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Cattails side by side.png|240px|Done!|right]]&lt;br /&gt;
* Models: cattails1.low, cattails2.low, cattails4.low&lt;br /&gt;
** Texture: &#039;&#039;textures/darkmod/decals/vegeation/cattails_atlas&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegeation/cattails_yellow_atlas&#039;&#039;, &lt;br /&gt;
** Materials: &#039;&#039;textures/darkmod/decals/vegetation/cattails_green&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegetation/cattails_yellow&#039;&#039;&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:Lily after colorcorrect.png|240px|right]]&lt;br /&gt;
* Models: lily&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Signs ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* wrought iron sign mount (by Baddcog)&lt;br /&gt;
Defaults medium detail (if author uses model, not LOD entity), Has High and Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* half round sign (by Baddcog)&lt;br /&gt;
Defaults high detail (if author uses model, not LOD entity), Has Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statues ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Three of a kind.jpg|240px|right]]&lt;br /&gt;
* Aphrodite (by arcturus)&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[LOD]]&lt;br /&gt;
* [[Creating LOD Models]]&lt;br /&gt;
* [[SEED]]&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14353</id>
		<title>List of LOD Models</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14353"/>
		<updated>2012-03-01T18:26:20Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Loot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists all models which have [[LOD]] versions, along with some screenshots. If you want to create more LOD stages/models, please see [[Creating LOD Models]] for a tutorial.&lt;br /&gt;
&lt;br /&gt;
The textures listed here are the filenames without the extension. If in TGA, you need to add &amp;quot;.tga&amp;quot;, if in DDS format, prefix the given path with &amp;quot;dds/&amp;quot; and append &amp;quot;.dds&amp;quot;. The material name shader is as-is.&lt;br /&gt;
&lt;br /&gt;
== Loot ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Trophy (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has one stage.&lt;br /&gt;
&lt;br /&gt;
 Create from entity/loot/moveables&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Kitchen ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Decanter (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has two additional stages. One low, one low no shadow.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Nature ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Cattails side by side.png|240px|Done!|right]]&lt;br /&gt;
* Models: cattails1.low, cattails2.low, cattails4.low&lt;br /&gt;
** Texture: &#039;&#039;textures/darkmod/decals/vegeation/cattails_atlas&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegeation/cattails_yellow_atlas&#039;&#039;, &lt;br /&gt;
** Materials: &#039;&#039;textures/darkmod/decals/vegetation/cattails_green&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegetation/cattails_yellow&#039;&#039;&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:Lily after colorcorrect.png|240px|right]]&lt;br /&gt;
* Models: lily&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Signs ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* wrought iron sign mount (by Baddcog)&lt;br /&gt;
Defaults medium detail (if author uses model, not LOD entity), Has High and Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* half round sign (by Baddcog)&lt;br /&gt;
Defaults high detail (if author uses model, not LOD entity), Has Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statues ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Three of a kind.jpg|240px|right]]&lt;br /&gt;
* Aphrodite (by arcturus)&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[LOD]]&lt;br /&gt;
* [[Creating LOD Models]]&lt;br /&gt;
* [[SEED]]&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14352</id>
		<title>List of LOD Models</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14352"/>
		<updated>2012-03-01T18:17:23Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists all models which have [[LOD]] versions, along with some screenshots. If you want to create more LOD stages/models, please see [[Creating LOD Models]] for a tutorial.&lt;br /&gt;
&lt;br /&gt;
The textures listed here are the filenames without the extension. If in TGA, you need to add &amp;quot;.tga&amp;quot;, if in DDS format, prefix the given path with &amp;quot;dds/&amp;quot; and append &amp;quot;.dds&amp;quot;. The material name shader is as-is.&lt;br /&gt;
&lt;br /&gt;
== Loot ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Trophy (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has one stage.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Kitchen ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Decanter (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has two additional stages. One low, one low no shadow.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Nature ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Cattails side by side.png|240px|Done!|right]]&lt;br /&gt;
* Models: cattails1.low, cattails2.low, cattails4.low&lt;br /&gt;
** Texture: &#039;&#039;textures/darkmod/decals/vegeation/cattails_atlas&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegeation/cattails_yellow_atlas&#039;&#039;, &lt;br /&gt;
** Materials: &#039;&#039;textures/darkmod/decals/vegetation/cattails_green&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegetation/cattails_yellow&#039;&#039;&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:Lily after colorcorrect.png|240px|right]]&lt;br /&gt;
* Models: lily&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Signs ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* wrought iron sign mount (by Baddcog)&lt;br /&gt;
Defaults medium detail (if author uses model, not LOD entity), Has High and Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* half round sign (by Baddcog)&lt;br /&gt;
Defaults high detail (if author uses model, not LOD entity), Has Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statues ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Three of a kind.jpg|240px|right]]&lt;br /&gt;
* Aphrodite (by arcturus)&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[LOD]]&lt;br /&gt;
* [[Creating LOD Models]]&lt;br /&gt;
* [[SEED]]&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14351</id>
		<title>List of LOD Models</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14351"/>
		<updated>2012-03-01T18:12:44Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Signs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists all models which have [[LOD]] versions, along with some screenshots. If you want to create more LOD stages/models, please see [[Creating LOD Models]] for a tutorial.&lt;br /&gt;
&lt;br /&gt;
The textures listed here are the filenames without the extension. If in TGA, you need to add &amp;quot;.tga&amp;quot;, if in DDS format, prefix the given path with &amp;quot;dds/&amp;quot; and append &amp;quot;.dds&amp;quot;. The material name shader is as-is.&lt;br /&gt;
&lt;br /&gt;
== Nature ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Cattails side by side.png|240px|Done!|right]]&lt;br /&gt;
* Models: cattails1.low, cattails2.low, cattails4.low&lt;br /&gt;
** Texture: &#039;&#039;textures/darkmod/decals/vegeation/cattails_atlas&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegeation/cattails_yellow_atlas&#039;&#039;, &lt;br /&gt;
** Materials: &#039;&#039;textures/darkmod/decals/vegetation/cattails_green&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegetation/cattails_yellow&#039;&#039;&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:Lily after colorcorrect.png|240px|right]]&lt;br /&gt;
* Models: lily&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Statues ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Three of a kind.jpg|240px|right]]&lt;br /&gt;
* Aphrodite (by arcturus)&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Loot ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Trophy (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has one stage.&lt;br /&gt;
&lt;br /&gt;
== Signs ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* wrought iron sign mount (by Baddcog)&lt;br /&gt;
Defaults medium detail (if author uses model, not LOD entity), Has High and Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* half round sign (by Baddcog)&lt;br /&gt;
Defaults high detail (if author uses model, not LOD entity), Has Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[LOD]]&lt;br /&gt;
* [[Creating LOD Models]]&lt;br /&gt;
* [[SEED]]&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14350</id>
		<title>List of LOD Models</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=List_of_LOD_Models&amp;diff=14350"/>
		<updated>2012-02-29T05:46:59Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists all models which have [[LOD]] versions, along with some screenshots. If you want to create more LOD stages/models, please see [[Creating LOD Models]] for a tutorial.&lt;br /&gt;
&lt;br /&gt;
The textures listed here are the filenames without the extension. If in TGA, you need to add &amp;quot;.tga&amp;quot;, if in DDS format, prefix the given path with &amp;quot;dds/&amp;quot; and append &amp;quot;.dds&amp;quot;. The material name shader is as-is.&lt;br /&gt;
&lt;br /&gt;
== Nature ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Cattails side by side.png|240px|Done!|right]]&lt;br /&gt;
* Models: cattails1.low, cattails2.low, cattails4.low&lt;br /&gt;
** Texture: &#039;&#039;textures/darkmod/decals/vegeation/cattails_atlas&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegeation/cattails_yellow_atlas&#039;&#039;, &lt;br /&gt;
** Materials: &#039;&#039;textures/darkmod/decals/vegetation/cattails_green&#039;&#039;, &#039;&#039;textures/darkmod/decals/vegetation/cattails_yellow&#039;&#039;&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:Lily after colorcorrect.png|240px|right]]&lt;br /&gt;
* Models: lily&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Statues ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Three of a kind.jpg|240px|right]]&lt;br /&gt;
* Aphrodite (by arcturus)&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Loot ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* Trophy (by Baddcog)&lt;br /&gt;
Defaults High Detail (model only), LOD has one stage.&lt;br /&gt;
&lt;br /&gt;
== Signs ==&lt;br /&gt;
&lt;br /&gt;
[[Image:none.jpg|240px|right]]&lt;br /&gt;
* wrought iron sign mount (by Baddcog)&lt;br /&gt;
Defaults medium detail (if author uses model, not LOD entity), Has High and Low detail.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[LOD]]&lt;br /&gt;
* [[Creating LOD Models]]&lt;br /&gt;
* [[SEED]]&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=A_-_Z_Beginner_Full_Guide_Page_3&amp;diff=11416</id>
		<title>A - Z Beginner Full Guide Page 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=A_-_Z_Beginner_Full_Guide_Page_3&amp;diff=11416"/>
		<updated>2010-10-09T16:18:11Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Hidden Surfaces, Caulk Texture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{A-Z Beginner Guide TOC}}&lt;br /&gt;
&lt;br /&gt;
== Beams, Trim, Room Design ==&lt;br /&gt;
&lt;br /&gt;
As said in the intro, I am not going to help with every architectural detail. In future missions that you make, consider using brushes as trim, decoration; try varying the shape of rooms to give interest and avoid the same old rectangles. Walls can be divided in two horizontally with different textures, panels, paints, wallpapers, stone. Recesses can be added just like we did for the door. Search the internet and other fan missions for inspiration. Here I shall just describe how to make a few very easy beams. Note that as we progress I am giving less and less detail of what we have covered before so just skip back if you need to remind yourself.&lt;br /&gt;
&lt;br /&gt;
* Set grid size to 8&lt;br /&gt;
* In the small room, drag out one long brush the long length of the small room&lt;br /&gt;
* Make its section dimensions 16 units high and 8 deep&lt;br /&gt;
* Place it flush against the ceiling and against a big grid line somewhere in the middle of the room&lt;br /&gt;
* Look through the darkmod textures for some suitable wood and texture the entire brush&lt;br /&gt;
* Check the alignment of the texture only on the three visible surfaces; remember wood grain should align along the length&lt;br /&gt;
&lt;br /&gt;
What about the surfaces that can&#039;t be seen?...&lt;br /&gt;
&lt;br /&gt;
=== Hidden Surfaces, Caulk Texture===&lt;br /&gt;
&lt;br /&gt;
You might find a lot of information on the internet about using caulk texture for hidden surfaces because caulk is not rendered so improving performance. In practice in most cases dmap does a good job of not rendering hidden surfaces anyway. Testing seems to show no detectable change in performance so generally don&#039;t worry about caulk. There may be special circumstances, for example the edges of glass panels, but otherwise it is probably not worth the effort. For more information read [[Caulk]]&lt;br /&gt;
&lt;br /&gt;
Note: The outside of our mission, the surfaces in the void, will not be rendered. This is taken care of by the game software automatically so no need to worry about caulking any of them.&lt;br /&gt;
&lt;br /&gt;
We have one beam in place; now what?...&lt;br /&gt;
&lt;br /&gt;
adding my 2 cents..Baddcog&lt;br /&gt;
&lt;br /&gt;
There are reasons for using caulk, it&#039;s really at the authors discretion. True that caulking hidden surfaces doesn&#039;t neccessarily lead to an increase in performance, but my machine is fairly high end. And not caulking faces means extra tris, which can mean extra draw calls, extra lighting info, extra shadows. And on a lower spec machine it just might matter. &lt;br /&gt;
Unseen faces on world spawn brushes will be culled, so no need to worry about them performance wise. But unseen faces of func_static are not culled, that&#039;s where a possible increase in performance will come from. Even if it&#039;s unnoticable I believe in optimizing in every possible way so I do it.&lt;br /&gt;
&lt;br /&gt;
However, there is one really good reason to caulk all unseen faces, especially those outside the map, not for performance but to make editting easier.&lt;br /&gt;
The outside of a map with caulk.&lt;br /&gt;
&lt;br /&gt;
[[Image:caulk_on.jpg]]&lt;br /&gt;
&lt;br /&gt;
The outside of same map with filter&amp;gt;caulk enabled. Makes it alot easier to see your map. Beware that brushes can be hard to see/select in ortho if they have caulk on a face seen from that ortho view.&lt;br /&gt;
&lt;br /&gt;
[[Image:caulk_off.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Cloning the Beams, Single-plane Shifting ===&lt;br /&gt;
&lt;br /&gt;
* Set Texture Lock ON (top button bar)&lt;br /&gt;
* Select the beam, clone it, and drag the clone 3 grid squares (24 units) to the side. There should be two grid square between it and the first beam.&lt;br /&gt;
* These beams are easy to move but while we&#039;re here, try instead Alt + the arrow keys to move. This nudges them along with no chance of sideslip. This is more useful when you want to drag something a long way. Another way to do it is LMB THEN Shift THEN drag (not Shift first) and the beam will stay in the first direction you drag. There is a knack to this. Practice it now for the future. You can drag right across a huge mission without any deviation from a line. Yet another way is a mode switch that locks in one plane or another on the [[Image:DRtranslate.jpg]] button on the top button bar. See &#039;Move (Drag, Translate) in one plane (Mode)&#039; on the [[Dark Radiant Controls, Keys &amp;amp; Mouse]] wiki.&lt;br /&gt;
* Repeat until you cannot get another beam in - don&#039;t put one right against the wall. Then repeat from the original beam the other side so the whole ceiling has seven beams evenly spaced. There is one space with three grid squares but it&#039;s near enough.&lt;br /&gt;
* Look at the texture surfaces. Every beam is identical. Consider selecting surfaces and shift them along the length quickly to get a different look on some of them.&lt;br /&gt;
&lt;br /&gt;
Now, clone a beam and drag it into the big room. Here resize it to 16 x 16 cross section and clone and place them in a cross along the ceiling (don&#039;t overlap in the middle but have smaller beams either side at the crossover) and rotate one (Texture Lock ON!) and clone it to form four vertical beams down the walls at the end of the ceiling beams. Check texture.&lt;br /&gt;
&lt;br /&gt;
== Another &#039;Room&#039; - an Open Yard ==&lt;br /&gt;
&lt;br /&gt;
I&#039;m using the term &#039;room&#039; because we make it in just the same way as the rooms we made before but with a sky ceiling.&lt;br /&gt;
&lt;br /&gt;
* In TOP view, drag out a brush to the east 256 x 640 and position on the big grid square in line with the north wall of our big room and overlapping the big room by one big grid square as shown in this diagram...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZplan.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In a side view,  move it if needed so its floor is level with the floor in the big room.&lt;br /&gt;
* Drag its top up so the brush is 384 high&lt;br /&gt;
* Give it the texture: textures/darkmod/stone/brick/tiling_1d/old_worn_greybrick - suitable for the yard walls of a small dwelling&lt;br /&gt;
* Rescale the texture in Surface Inspector to 0.35 (vert and horiz.)&lt;br /&gt;
* Use the &#039;Room&#039; button (LBB, left button bar) to hollow it out&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* In the TOP view, reduce the length of the west (left) wall from the north down towards the south so it just touches the external surface of the south wall of the big room. Its length should now be 312 as in this diagram....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZplan2.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Raise the height of both the south and east walls of the big room to meet the ceiling of the yard.&lt;br /&gt;
* The south wall should also be extended a little to the east to be flush with the east edge of the east wall as in the picture below. (NOTE: This picture still shows a wallpaper texture I tried earlier! Yours should show the stone)...&lt;br /&gt;
&lt;br /&gt;
From this... &amp;lt;center&amp;gt;[[Image:AZyard01.jpg]]&lt;br /&gt;
&lt;br /&gt;
to this... [[Image:AZyard02.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Texture the visible &#039;&#039;surfaces&#039;&#039; of those walls to be the same as the other yard walls&lt;br /&gt;
* Texture the floor of the yard with say cobblestones&lt;br /&gt;
* Ensure the texture of all the visible surfaces of the house are the same as the stone inside.&lt;br /&gt;
&lt;br /&gt;
Now we need the sky...&lt;br /&gt;
&lt;br /&gt;
== Sky ==&lt;br /&gt;
&lt;br /&gt;
To add the default sky is fairly simple because we shall be using a ready made prefab. A prefab is part of a map saved separately so the whole thing can be imported into another map. Any selection, single or multiple, can be saved as a prefab via the File menu. It can then be imported into another map as a selection and dragged where needed.&lt;br /&gt;
&lt;br /&gt;
Other skies are possible but need more work so we&#039;ll stick with what is easy...&lt;br /&gt;
&lt;br /&gt;
 Added note: The following describes a sky with moving clouds etc but if your FM has performance problems out of doors then consider one of the static skies which look almost as good and do not need the skybox prefab.&lt;br /&gt;
&lt;br /&gt;
* Set Texture Lock ON&lt;br /&gt;
* (Note that in Dark Mod Release 1 the prefabs are in prefab.pk4 which is a zip file. Rename its suffix to zip and extract it into the darkmod folder.)&lt;br /&gt;
* RMB menu in grid view and select Insert Prefab OR use File Menu &amp;gt; Load Prefab*&lt;br /&gt;
* Select tdm_sky_starry1.pfb&lt;br /&gt;
* Zoom out if you cannot see the selected prefab.&lt;br /&gt;
* Drag the selected prefab well away from our brushes both horizontally and vertically. The player does not enter it so in all your future maps make sure it is well away from any area you are likely to build. You can always move it later but it&#039;s easier to put it out of the way now.&lt;br /&gt;
* DEselect the prefab&lt;br /&gt;
* Select the ceiling surface in the yard&lt;br /&gt;
* Texture it with textures &amp;gt; smf &amp;gt; portal_sky. Do NOT use any of the textures under &#039;skies&#039;.&lt;br /&gt;
* The yard walls are too high and we want to see more of the sky so...&lt;br /&gt;
* We use the same clone and curtain method as before...&lt;br /&gt;
* Select a wall at a time, clone it, size it downwards to a height of 128.&lt;br /&gt;
* Select the original wall and reduce its size from the bottom upwards to the top of the wall so it sits on top of the cloned wall we just made with no gap.&lt;br /&gt;
* Give the top part of the wall the portal_sky texture&lt;br /&gt;
* Repeat for the other two yard walls.&lt;br /&gt;
* RMB menu move player start into the yard. Check the side view too that it is not above or below.&lt;br /&gt;
* J to select the entity list; select the Ambient and ensure its radius covers the whole yard**.&lt;br /&gt;
* Ctrl + S to save. I suggest you then save again with a new name.&lt;br /&gt;
&lt;br /&gt;
Now you can dmap and map and see how the yard looks.&lt;br /&gt;
&lt;br /&gt;
(* If you have only the &amp;quot;Thief&#039;s Den&amp;quot; alpha installed, you will likely get an error inserting the Prefab sky. Please see discussion tab of this page on how This can be resolved.)&lt;br /&gt;
&lt;br /&gt;
(** Remember, the position of your actual entity changes as you adjust the radius of your ambient light. Make sure the entity, itself, is safely inside your leak-proof map structure. Although it seems obvious to me now, my ambient light got stretched into the abyss as I was resizing it. This caused a leak which took several minutes for me to understand and correct at the time. See page 2 for original author&#039;s first warning about this).&lt;br /&gt;
&lt;br /&gt;
Tip: In game, go back to the console and type and enter noclip. This toggles on and off the ability to fly and even fly through solids. Just look in the direction you want to go, upwards, and use the move forward keys the same way. You can soar up and see the moon to the east. Now fly over your other rooms and look down. You get a different sense of how it is all organized from up here! Take care in noclip mode. It can happen that if you get into the lower brushes you can sink down below the mission and fall into the abyss. Don&#039;t know why that is but you have to map again to get back in.&lt;br /&gt;
&lt;br /&gt;
Spot the error in the big room? Our new yard protrudes into it at floor and north wall. We&#039;ll deal with that...&lt;br /&gt;
&lt;br /&gt;
== The Clipper Tool, Cutting &amp;amp; Splitting Brushes ==&lt;br /&gt;
&lt;br /&gt;
It is not fatal to make mistakes; it&#039;s normal. We just check our work after building and adjust. Our new yard protrudes into the big room so...&lt;br /&gt;
&lt;br /&gt;
* In the top view, select the north wall of the yard and reduce its width from left to right so its left edge is level with the west surface of the yard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The floor of the yard can be done a similar way by dragging it from west to east and inserting a new brush in the gap but instead let&#039;s use this opportunity to explain the clipper tool...&lt;br /&gt;
&lt;br /&gt;
* Select the yard floor in the top view.&lt;br /&gt;
* Press X or select the Clipper button ([[Image:DRclipper.jpg]] on LBB)&lt;br /&gt;
* Zoom in a little to the middle left of the yard and click on the red line where it crosses the wall of the big room. A dot should appear on the line and the zero digit 0.&lt;br /&gt;
* Likewise, go straight along that grid line to the east side of the yard and click that red line. A digit 1 should appear and a red line joining the 0 and the 1.&lt;br /&gt;
* It should look like in the diagram below. If your line is not on the same grid line on both sides you can place the mouse over either 0 or 1 and a + appears so you can drag it where it should be. If it all goes horribly wrong or a 2 appears as well, just press X twice to clear it and try again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZclipper.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* At this point, pressing Enter would delete the north part of the yard floor but instead...&lt;br /&gt;
* Press Shift + Enter to SPLIT the yard floor into two brushes at the middle line we made.&lt;br /&gt;
* Press X to DEselect Clipper and go back to drag and resize mode.&lt;br /&gt;
* DEselect then select the north part of the floor we just made and reduce its width from the west like we did the north wall.&lt;br /&gt;
* REPEAT the whole process with the ceiling of the yard. This is not so critical as it protrudes above the big room and is not visible to the player but it is good practice to keep everything tidy.&lt;br /&gt;
&lt;br /&gt;
For more details of using the Clipper Tool see [[Dark Radiant Controls, Keys &amp;amp; Mouse|Dark Radiant Controls]] and scroll down to Clipper Mode.&lt;br /&gt;
&lt;br /&gt;
Now reduce the height of the north, east, and south walls of the yard to about half***. Ideally, do not make them so low that the player can expect to climb up. You can use clipper but its probably easier in this case to use my &#039;clone &amp;amp; curtain&#039; method we did earlier. From a side vie you can easily clone and drag down a wall, then drag up the top part which you then retexture on the inside as sky.&lt;br /&gt;
&lt;br /&gt;
(*** I&#039;m thinking we already did this when told (above) to &amp;quot;Select a wall at a time, clone it, size it downwards to a height of 128.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The yard feels much more open now but maybe retexture the house walls to be different to the yard walls? Or the other way round? Your preference.&lt;br /&gt;
&lt;br /&gt;
You might also add buttresses against the walls if you want; just add solid brushes maybe 16 x 24 3/4 way up the walls. These should have sloping tops so there Clipper is ideal for clipping off angles. Remember, you only have to do one, adjust its texure carefully then clone it and space them out. I would set Texture lock on for this but depends. Try it both ways to see how it works. Remember also Modify menu &amp;gt; Rotate and Scale to turn for the other walls?&lt;br /&gt;
&lt;br /&gt;
==Water==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s make a pool of water. It doesn&#039;t make much sense here but I need the opportunity to explain water. Alternatively you might make a water trough or open tank (the tank is easier if you feel lazy!)...&lt;br /&gt;
&lt;br /&gt;
* Drag out a new brush (Oh dear! You forgot to DEselect first? Use Ctrl+Z to undo)&lt;br /&gt;
* Make the brush fit the big grid about 24 high and 64 x 128 (two big grid square in grid 8 mode)&lt;br /&gt;
* For a pool, place this just below the yard aligned to the big grid so its top is aligned with the &#039;&#039;underside&#039;&#039; of the yard floor brush (not the yard floor surface)&lt;br /&gt;
* For a tank, place it so it is one small grid unit above the yard surface.&lt;br /&gt;
* Give it a metal texture for a tank but for a pool give it the yard floor surface texture.&lt;br /&gt;
* Use the Room button to make it hollow then delete the top.&lt;br /&gt;
* The tank is now an open metal box but the pool is hidden by the floor. Use Clipper or my Clone and Curtain method on the floor to open out a hole. This is different from before because you need FOUR sides. Clone and drag out the two like parting curtains as before but then clone one side and drag to one of the gaps left and resize it to fit. Then clone that and drag it to the other side. Resize to fit if needed.&lt;br /&gt;
* Check for texturing and adjust if needed.&lt;br /&gt;
&lt;br /&gt;
Now we need to fill it with water...&lt;br /&gt;
&lt;br /&gt;
* Drag out a brush and insert it into the pool or tank&lt;br /&gt;
* Resize/Move it to fit EXACTLY the inner dimensions of the pool/tank but one small grid unit below the yard floor surface.&lt;br /&gt;
* Give it the texture common/nodraw&lt;br /&gt;
* With the whole brush still selected, RMB menu in grid view &amp;gt; Create Entity and select darkmod &amp;gt; liquids &amp;gt; atdm:liquid_water from the list. This gives the brush its liquid properties which include extinguishing flames. Don&#039;t use func_liquid which doesn&#039;t.&lt;br /&gt;
* DEselect the water brush and select just its top surface with Ctrl+Shift+LMB in the camera view&lt;br /&gt;
* Give it the texture water_source &amp;gt; water_clear&lt;br /&gt;
* In Surface Inspector, rescale the horizontal and vertical scale to 0.1. This will set the wave frequency for small pool. Use larger scale for a larger pool.&lt;br /&gt;
* Clone the ambient light or create a new one and put it in the water so its radius fits or overlaps but make it fit &#039;&#039;exactly&#039;&#039; to the surface.&lt;br /&gt;
* Set the ambient colour in Light Inspector to Red, Green, Blue of 0, 25, 25 (= 0.00, 0.1, 0.1 in Entity Inspector) for a dull greeny hue.&lt;br /&gt;
* Adjust the &#039;&#039;main&#039;&#039; ambient light so its radius just reaches down to touch the &#039;&#039;surface&#039;&#039; of the water (and thereby the top of the pool ambient light) from above.&lt;br /&gt;
&lt;br /&gt;
See also [[Water]]&lt;br /&gt;
&lt;br /&gt;
Create a light (RMB menu in grid view, place it low at about 40 units high and 40 or 50 units away from the corner of the pool to cast a shadow into it and give it the brightness VALUE of 30.&lt;br /&gt;
&lt;br /&gt;
You can now dmap and map to check out your water. If you get a leak its not necessarily the water! More likely you left a gap when slicing up the yard floor. I did! Just use File Menu &amp;gt; Pointfile in Dark Radiant for the red line that leads to where the leak to the void is then dmap again.&lt;br /&gt;
&lt;br /&gt;
== Z-Fighting Errors ==&lt;br /&gt;
&lt;br /&gt;
If a brush overlaps another, that is, all or parts occupy the same space as another brush then you get what are called Z-fighting as in the picture below. The game is trying to render both at the same time. Always watch out for this. Just resize or move the brush(es) so they do not overlap...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZclipping.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Doorway from the Yard==&lt;br /&gt;
&lt;br /&gt;
We need a door from the yard into the house...&lt;br /&gt;
&lt;br /&gt;
* DEselect and create a new door models/darkmod/architecture/doors/door02.lwo from the model selector.&lt;br /&gt;
* Use Modify Menu &amp;gt; Rotate and Scale to rotate the door 90 degrees &#039;&#039;clockwise&#039;&#039;. The door should open inwards so if you find it opens outwards later you can just rotate it back the other way no problem.&lt;br /&gt;
* Reduce the grid size to say, 2 and move the door so it lays flush against the inside surface of the wall and exactly in the second big grid from the south (see diagram below)&lt;br /&gt;
* Check the side view and raise/lower the door so it just touches the floor.&lt;br /&gt;
* Select TOP view again.&lt;br /&gt;
* DEselect then using Shift + LMB, select the three brushes of the doorframe in between the big and little room so you have all three selected.&lt;br /&gt;
* SPACE to clone them all and drag to roughly the middle of the east wall of the big room.&lt;br /&gt;
* Use the Modify Menu &amp;gt; Rotate and Scale dialog to turn the selection 90 degrees.&lt;br /&gt;
* Move the selection into position around the door until the doorframe aligns as closely as possible with the east wall and juts out into the big room.&lt;br /&gt;
* This door is a different size so select the frame pieces one by one and move/resize them to fit snugly round the door and align inside two big grid lines ( see diagram below)&lt;br /&gt;
* Remember to adjust the height to in the side view.&lt;br /&gt;
* Use Ctrl+G to snap it to the grid. If that changes the shape of any of the brushes then Ctrl+Z to undo and instead reduce the grid to.125 and move it manually more closely to the right position. Then snap to grid. Adjust the door&#039;s position if needed. Check it all looks to be in the right position.&lt;br /&gt;
&lt;br /&gt;
Now we need to open out the doorway as we did before by cloning the wall and splitting it either side of the doorframe. Then clone again, resize, and move up over the doorway. Check back in [[A - Z Beginner Full Guide Page 2#&#039;Cutting&#039; through walls, Joining Rooms|&#039;Cutting&#039; through walls, Joining Rooms]] if you can&#039;t remember the details.&lt;br /&gt;
&lt;br /&gt;
There&#039;s a gap under the door - fill it with a brush and texture it concrete or something. We should really have made the floor of the yard one course of bricks lower and then we could have a step at the door but no matter.&lt;br /&gt;
&lt;br /&gt;
Keep saving your mission as you go along and every 10 or 15 minutes save with a new name. Dmap and play test whenever you feel like it.&lt;br /&gt;
&lt;br /&gt;
Throw in a few models in the yard to decorate it quickly - there&#039;s a wishing well, waterpump, wheelbarrow, and so on. Possibly make a static wooden gate from a brush. It does not need to open as the player will be dropping over the wall to start the mission.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve put in a few items we&#039;ll talk about the weather...&lt;br /&gt;
&lt;br /&gt;
==Weather==&lt;br /&gt;
&lt;br /&gt;
Weather can add a nice atmosphere to any mission...&lt;br /&gt;
&lt;br /&gt;
===Fog===&lt;br /&gt;
&lt;br /&gt;
The default fog is made with foglights whose volumes are rectangular blocks. These are OK in isolation or covering an entire mission but there is no obvious way to place these blocks together without the join showing. So a rectangular yard would have been fine but our yard is L shaped and so would need two foglights for each rectangle. If one were used to surround the lot it would show inside the house. Another problem is that sky penetrates right through the fog. This should be fixable with a different sky matching the grey colour of the fog or indeed no real sky just concrete hidden above in the fog! I have read a method for a special fog to be attached to the player but not tried it yet. So this is what I know of so far. It&#039;s easy to set up so you can see it...&lt;br /&gt;
&lt;br /&gt;
* Create a light in the normal way in the centre of the yard and drag out its box to fill the yard north to south and from the east wall the wall with the door. It should have the height from floor right up to the sky.&lt;br /&gt;
* J for light properties&lt;br /&gt;
* Give it a brightness VALUE 25&lt;br /&gt;
* On the right is the list showing fogs and lights so choose fogs and select delta1_fog. You can try others but there is not a lot of difference and some do not seem to work.&lt;br /&gt;
* J to close light properties.&lt;br /&gt;
* In Entity Inspector give it the property shaderParm3 and a value of 600. This is the distance in units beyond which the fog is completely opaque. Our yard is about 640 units long so if you look from one end then the farthest wall is whited out. Take a few steps and it starts to appear.&lt;br /&gt;
&lt;br /&gt;
But note the join between the lightfogs boundaries and also the sky above is black. But it is useable with some inqenuity and I have hopes of better methods in the future.&lt;br /&gt;
&lt;br /&gt;
===Rain and Snow, Introducing Patches===&lt;br /&gt;
&lt;br /&gt;
* A patch is a one-sided surface only with no depth. &lt;br /&gt;
* It is textured only on one side and the other side is totally transparent and the edges have zero height. It&#039;s like a big plastic sheet, and like such a sheet it can be warped and twisted into useful shapes and curves far better than brushes. Textures align around those curves whereas they would align in straight lines on a curved brush.&lt;br /&gt;
*Multiple patches can be placed together to surround a volume but it is a shell.&lt;br /&gt;
* With the same textures, patches are just as solid to the player as a brush and a steel plate just as impenetrable as if it were six feet thick.&lt;br /&gt;
* Patches do NOT seal against the void.&lt;br /&gt;
* Some example uses are: &lt;br /&gt;
# to shape terrain; &lt;br /&gt;
# as semi-transparent decals for example to place stains, etc. &lt;br /&gt;
# Later we shall use patches with a rain-emitting texture.&lt;br /&gt;
*Patches can be created directly or you can first create a brush and convert it.&lt;br /&gt;
*Patches are created with their visible surface facing the user out from the editor grid view so select the TOP view for a horizontal patch. &lt;br /&gt;
&lt;br /&gt;
Now for our rain...&lt;br /&gt;
&lt;br /&gt;
=== Rain and Snow ===&lt;br /&gt;
* Dark Mod rain and snow are particles emitted by a material.&lt;br /&gt;
* Only one surface is needed so we apply that to a patch and place it above where we want rain - much like a cloud in the sky except this patch is invisible.&lt;br /&gt;
* The rain is emitted at right angles from the surface but falls under gravity (currently - but may be changed) so if tilted it will emit at an angle then curve down unnaturally so don&#039;t use this to simulate wind slanting in the rain; place the patch horizontally.&lt;br /&gt;
* The patch should be right side up with the rain texture on top. It is set up to emit downwards through the patch.&lt;br /&gt;
* Rain falls through everything so avoid overhead overhanging roofs etc.&lt;br /&gt;
* There are various textures, eg, light and heavy rain&lt;br /&gt;
* Patches can be stacked above one another for torrential rain&lt;br /&gt;
* There is some perfomance lag with large areas and stacked patches&lt;br /&gt;
&lt;br /&gt;
To make it rain in our yard...&lt;br /&gt;
&lt;br /&gt;
* In the TOP view, create a brush the length and width of the yard but about 24 units from the house wall (else there is some spill over so a little rain would fall just inside.) Height of brush irrelevant.&lt;br /&gt;
* Patch menu &amp;gt; Simple patch mesh &amp;gt; 3 x 3 converts the brush to a patch.&lt;br /&gt;
* Rotate it upside down.&lt;br /&gt;
* In a side view raise it up to about half way up towards the sky. If too low the player cannot see it falling down when looking up. If too high it affects performance.&lt;br /&gt;
* Give it the texture textures/darkmod/weather/rain_downpour&lt;br /&gt;
* For extra heavy, clone it and raise up the clone a few units. Repeat for torrential rain.&lt;br /&gt;
* Clone and move into the south west corner of the yard and resize to fit that area not covered by the main rain patches&lt;br /&gt;
&lt;br /&gt;
You could try the above with a snow texture (from the weather section) instead but would need to texture the ground with snow from the nature section.&lt;br /&gt;
&lt;br /&gt;
Ctrl + S to save and dmap and map to test it out.&lt;br /&gt;
&lt;br /&gt;
===Rainsplash===&lt;br /&gt;
&lt;br /&gt;
* Create a brush in the yard.&lt;br /&gt;
* Stretch it out to cover the length of the yard and the width of it at the top. Height irrelevant.&lt;br /&gt;
* Patches are created with their visible surface facing the user out from the editor grid view so select the TOP view for a horizontal patch. If you use a side view then it will be created on its side (it can always be turned over of course later)&lt;br /&gt;
* With the TOP grid view the CURRENT window, select Patch menu &amp;gt; Simple Patch mesh and click OK to accept the default 3 x 3. These values refer to the vertices which can be dragged about in three dimensions to produce different curves - the more vertices, the more curves - but we only need a flat patch so accept the minimum 3 x 3.&lt;br /&gt;
* The brush should now have been converted to a flat patch.&lt;br /&gt;
* In a side view it should just be a line with no height.&lt;br /&gt;
* Drag it down exactly in line with the surface of the floor of the yard.&lt;br /&gt;
* Give it the texture textures/darkmod/weather/rain_splash_moderate. Try a different splash if preferred.&lt;br /&gt;
* In top view, clone the patch and drag and resize it into the south west corner to fit the floor area not covered by the other patch.&lt;br /&gt;
&lt;br /&gt;
It&#039;s that simple. Dmap and map and take a close look at the ground to see the rain splashes.&lt;br /&gt;
&lt;br /&gt;
=== Performance: Hiding Distant Rain ===&lt;br /&gt;
&lt;br /&gt;
If you change the rain and splash patches to func_static entities you can add some properties that hide distant rain so improving performance. I used it in the extended released version of Thief&#039;s Den but it is not critical in this small yard so I will only mention it here briefly...&lt;br /&gt;
&lt;br /&gt;
* hide_distance n = distance in n units beyond which a rain patch is &#039;switched off&#039;.&lt;br /&gt;
* dist_check_period n = how often in milliseconds the distance is checked. Too-frequent testing reduces performance; too-infrequent will cause a visible delay. For rain I used 0.25.&lt;br /&gt;
* dist_check_xy n = if 1 then only horizontal distance is tested not vertical. Set to 1 for rain/snow.&lt;br /&gt;
&lt;br /&gt;
== Sound Effects: Rainfall==&lt;br /&gt;
&lt;br /&gt;
To add a background sound we could add a global ambient but this would be heard all over the mission, even indoors, so it&#039;s not suitable for our rain. Instead we have to use a local ambient which fades as you leave it so we need two with their sound overlapping...&lt;br /&gt;
&lt;br /&gt;
* In the top grid view, RMB menu &amp;gt; Create Speaker (this is also available in the &#039;Create Entity&#039; list.)&lt;br /&gt;
* Give it the following properties. To do this you can..&lt;br /&gt;
# Type them in the input boxes at the bottom of Entity Inspector and click the check button OR...&lt;br /&gt;
# RMB the top line Classname Speaker and select Add Property from the menu then the + to open the list. You still need to type the values so option 1 is probably the easiest, in fact, copy and paste them from here...&lt;br /&gt;
&lt;br /&gt;
* s_volume 0               = loudness - depends on how heavy your rain - adjust to taste. Use negative values to deduct from 0(max), eg, -6 is quieter, -8 quieter still, -50 is probably inaudible.&lt;br /&gt;
* s_mindistance 0          = distance from speaker at which it starts to fade&lt;br /&gt;
* s_maxdistance 8         = distance (in metres) from speaker beyond which it cannot be heard (I estimated these units were 40 normal units.)&lt;br /&gt;
* s_shader sound/ambient/environmental/weather_rain04_loop.ogg            = sound file&lt;br /&gt;
* s_looping 1                = plays over and over (if 0 would play sound file only once)&lt;br /&gt;
&lt;br /&gt;
Place this in the yard midway between the door and the wall and almost at the height of the wall so it spreads upwards too. It is unlikely that the player would be able to climb up very high but just in case you change something later...&lt;br /&gt;
&lt;br /&gt;
Clone it and place this one in the south east corner maybe 24 units from either wall. The speakers are the green squares with arrows as shown in the diagram below...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZspeakers.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No need to dmap when creating or adjusting speakers just map and listen. Note that the door will not yet block sound when closed - we&#039;ll do that later. But the sound should fade nicely as you enter the house.&lt;br /&gt;
&lt;br /&gt;
The sound files are in ogg format in the Dark Mod sound folder so you can create sounds in your missions for all types of things not just rain of course.&lt;br /&gt;
&lt;br /&gt;
More details about sound speakers are in [[Sounds: Background and Local]]&lt;br /&gt;
&lt;br /&gt;
{{A-Z Beginner Guide TOC}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=File:Caulk_on.jpg&amp;diff=11415</id>
		<title>File:Caulk on.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=File:Caulk_on.jpg&amp;diff=11415"/>
		<updated>2010-10-09T16:17:37Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: map with caulk not filtered&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;map with caulk not filtered&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=File:Caulk_off.jpg&amp;diff=11414</id>
		<title>File:Caulk off.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=File:Caulk_off.jpg&amp;diff=11414"/>
		<updated>2010-10-09T16:16:57Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: map with caulk filtered&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;map with caulk filtered&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=A_-_Z_Beginner_Full_Guide_Page_3&amp;diff=11413</id>
		<title>A - Z Beginner Full Guide Page 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=A_-_Z_Beginner_Full_Guide_Page_3&amp;diff=11413"/>
		<updated>2010-10-09T16:13:46Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Hidden Surfaces, Caulk Texture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{A-Z Beginner Guide TOC}}&lt;br /&gt;
&lt;br /&gt;
== Beams, Trim, Room Design ==&lt;br /&gt;
&lt;br /&gt;
As said in the intro, I am not going to help with every architectural detail. In future missions that you make, consider using brushes as trim, decoration; try varying the shape of rooms to give interest and avoid the same old rectangles. Walls can be divided in two horizontally with different textures, panels, paints, wallpapers, stone. Recesses can be added just like we did for the door. Search the internet and other fan missions for inspiration. Here I shall just describe how to make a few very easy beams. Note that as we progress I am giving less and less detail of what we have covered before so just skip back if you need to remind yourself.&lt;br /&gt;
&lt;br /&gt;
* Set grid size to 8&lt;br /&gt;
* In the small room, drag out one long brush the long length of the small room&lt;br /&gt;
* Make its section dimensions 16 units high and 8 deep&lt;br /&gt;
* Place it flush against the ceiling and against a big grid line somewhere in the middle of the room&lt;br /&gt;
* Look through the darkmod textures for some suitable wood and texture the entire brush&lt;br /&gt;
* Check the alignment of the texture only on the three visible surfaces; remember wood grain should align along the length&lt;br /&gt;
&lt;br /&gt;
What about the surfaces that can&#039;t be seen?...&lt;br /&gt;
&lt;br /&gt;
=== Hidden Surfaces, Caulk Texture===&lt;br /&gt;
&lt;br /&gt;
You might find a lot of information on the internet about using caulk texture for hidden surfaces because caulk is not rendered so improving performance. In practice in most cases dmap does a good job of not rendering hidden surfaces anyway. Testing seems to show no detectable change in performance so generally don&#039;t worry about caulk. There may be special circumstances, for example the edges of glass panels, but otherwise it is probably not worth the effort. For more information read [[Caulk]]&lt;br /&gt;
&lt;br /&gt;
Note: The outside of our mission, the surfaces in the void, will not be rendered. This is taken care of by the game software automatically so no need to worry about caulking any of them.&lt;br /&gt;
&lt;br /&gt;
We have one beam in place; now what?...&lt;br /&gt;
&lt;br /&gt;
adding my 2 cents..Baddcog&lt;br /&gt;
&lt;br /&gt;
There are reasons for using caulk, it&#039;s really at the authors discretion. True that caulking hidden surfaces doesn&#039;t neccessarily lead to an increase in performance, but my machine is fairly high end. And not caulking faces means extra tris, which can mean extra draw calls, extra lighting info, extra shadows. And on a lower spec machine it just might matter. &lt;br /&gt;
Unseen faces on world spawn brushes will be culled, so no need to worry about them performance wise. But unseen faces of func_static are not culled, that&#039;s where a possible increase in performance will come from. Even if it&#039;s unnoticable I believe in optimizing in every possible way so I do it.&lt;br /&gt;
&lt;br /&gt;
However, there is one really good reason to caulk all unseen faces, especially those outside the map, not for performance but to make editting easier.&lt;br /&gt;
The outside of a map with caulk.&lt;br /&gt;
[[Image:caulk_on.jpg]]&lt;br /&gt;
The outside of same map with filter&amp;gt;caulk enabled. Makes it alot easier to see your map. Beware that brushes can be hard to see/select in ortho if they have caulk on a face seen from that ortho view.&lt;br /&gt;
[[Image:caulk_off.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Cloning the Beams, Single-plane Shifting ===&lt;br /&gt;
&lt;br /&gt;
* Set Texture Lock ON (top button bar)&lt;br /&gt;
* Select the beam, clone it, and drag the clone 3 grid squares (24 units) to the side. There should be two grid square between it and the first beam.&lt;br /&gt;
* These beams are easy to move but while we&#039;re here, try instead Alt + the arrow keys to move. This nudges them along with no chance of sideslip. This is more useful when you want to drag something a long way. Another way to do it is LMB THEN Shift THEN drag (not Shift first) and the beam will stay in the first direction you drag. There is a knack to this. Practice it now for the future. You can drag right across a huge mission without any deviation from a line. Yet another way is a mode switch that locks in one plane or another on the [[Image:DRtranslate.jpg]] button on the top button bar. See &#039;Move (Drag, Translate) in one plane (Mode)&#039; on the [[Dark Radiant Controls, Keys &amp;amp; Mouse]] wiki.&lt;br /&gt;
* Repeat until you cannot get another beam in - don&#039;t put one right against the wall. Then repeat from the original beam the other side so the whole ceiling has seven beams evenly spaced. There is one space with three grid squares but it&#039;s near enough.&lt;br /&gt;
* Look at the texture surfaces. Every beam is identical. Consider selecting surfaces and shift them along the length quickly to get a different look on some of them.&lt;br /&gt;
&lt;br /&gt;
Now, clone a beam and drag it into the big room. Here resize it to 16 x 16 cross section and clone and place them in a cross along the ceiling (don&#039;t overlap in the middle but have smaller beams either side at the crossover) and rotate one (Texture Lock ON!) and clone it to form four vertical beams down the walls at the end of the ceiling beams. Check texture.&lt;br /&gt;
&lt;br /&gt;
== Another &#039;Room&#039; - an Open Yard ==&lt;br /&gt;
&lt;br /&gt;
I&#039;m using the term &#039;room&#039; because we make it in just the same way as the rooms we made before but with a sky ceiling.&lt;br /&gt;
&lt;br /&gt;
* In TOP view, drag out a brush to the east 256 x 640 and position on the big grid square in line with the north wall of our big room and overlapping the big room by one big grid square as shown in this diagram...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZplan.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In a side view,  move it if needed so its floor is level with the floor in the big room.&lt;br /&gt;
* Drag its top up so the brush is 384 high&lt;br /&gt;
* Give it the texture: textures/darkmod/stone/brick/tiling_1d/old_worn_greybrick - suitable for the yard walls of a small dwelling&lt;br /&gt;
* Rescale the texture in Surface Inspector to 0.35 (vert and horiz.)&lt;br /&gt;
* Use the &#039;Room&#039; button (LBB, left button bar) to hollow it out&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* In the TOP view, reduce the length of the west (left) wall from the north down towards the south so it just touches the external surface of the south wall of the big room. Its length should now be 312 as in this diagram....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZplan2.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Raise the height of both the south and east walls of the big room to meet the ceiling of the yard.&lt;br /&gt;
* The south wall should also be extended a little to the east to be flush with the east edge of the east wall as in the picture below. (NOTE: This picture still shows a wallpaper texture I tried earlier! Yours should show the stone)...&lt;br /&gt;
&lt;br /&gt;
From this... &amp;lt;center&amp;gt;[[Image:AZyard01.jpg]]&lt;br /&gt;
&lt;br /&gt;
to this... [[Image:AZyard02.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Texture the visible &#039;&#039;surfaces&#039;&#039; of those walls to be the same as the other yard walls&lt;br /&gt;
* Texture the floor of the yard with say cobblestones&lt;br /&gt;
* Ensure the texture of all the visible surfaces of the house are the same as the stone inside.&lt;br /&gt;
&lt;br /&gt;
Now we need the sky...&lt;br /&gt;
&lt;br /&gt;
== Sky ==&lt;br /&gt;
&lt;br /&gt;
To add the default sky is fairly simple because we shall be using a ready made prefab. A prefab is part of a map saved separately so the whole thing can be imported into another map. Any selection, single or multiple, can be saved as a prefab via the File menu. It can then be imported into another map as a selection and dragged where needed.&lt;br /&gt;
&lt;br /&gt;
Other skies are possible but need more work so we&#039;ll stick with what is easy...&lt;br /&gt;
&lt;br /&gt;
 Added note: The following describes a sky with moving clouds etc but if your FM has performance problems out of doors then consider one of the static skies which look almost as good and do not need the skybox prefab.&lt;br /&gt;
&lt;br /&gt;
* Set Texture Lock ON&lt;br /&gt;
* (Note that in Dark Mod Release 1 the prefabs are in prefab.pk4 which is a zip file. Rename its suffix to zip and extract it into the darkmod folder.)&lt;br /&gt;
* RMB menu in grid view and select Insert Prefab OR use File Menu &amp;gt; Load Prefab*&lt;br /&gt;
* Select tdm_sky_starry1.pfb&lt;br /&gt;
* Zoom out if you cannot see the selected prefab.&lt;br /&gt;
* Drag the selected prefab well away from our brushes both horizontally and vertically. The player does not enter it so in all your future maps make sure it is well away from any area you are likely to build. You can always move it later but it&#039;s easier to put it out of the way now.&lt;br /&gt;
* DEselect the prefab&lt;br /&gt;
* Select the ceiling surface in the yard&lt;br /&gt;
* Texture it with textures &amp;gt; smf &amp;gt; portal_sky. Do NOT use any of the textures under &#039;skies&#039;.&lt;br /&gt;
* The yard walls are too high and we want to see more of the sky so...&lt;br /&gt;
* We use the same clone and curtain method as before...&lt;br /&gt;
* Select a wall at a time, clone it, size it downwards to a height of 128.&lt;br /&gt;
* Select the original wall and reduce its size from the bottom upwards to the top of the wall so it sits on top of the cloned wall we just made with no gap.&lt;br /&gt;
* Give the top part of the wall the portal_sky texture&lt;br /&gt;
* Repeat for the other two yard walls.&lt;br /&gt;
* RMB menu move player start into the yard. Check the side view too that it is not above or below.&lt;br /&gt;
* J to select the entity list; select the Ambient and ensure its radius covers the whole yard**.&lt;br /&gt;
* Ctrl + S to save. I suggest you then save again with a new name.&lt;br /&gt;
&lt;br /&gt;
Now you can dmap and map and see how the yard looks.&lt;br /&gt;
&lt;br /&gt;
(* If you have only the &amp;quot;Thief&#039;s Den&amp;quot; alpha installed, you will likely get an error inserting the Prefab sky. Please see discussion tab of this page on how This can be resolved.)&lt;br /&gt;
&lt;br /&gt;
(** Remember, the position of your actual entity changes as you adjust the radius of your ambient light. Make sure the entity, itself, is safely inside your leak-proof map structure. Although it seems obvious to me now, my ambient light got stretched into the abyss as I was resizing it. This caused a leak which took several minutes for me to understand and correct at the time. See page 2 for original author&#039;s first warning about this).&lt;br /&gt;
&lt;br /&gt;
Tip: In game, go back to the console and type and enter noclip. This toggles on and off the ability to fly and even fly through solids. Just look in the direction you want to go, upwards, and use the move forward keys the same way. You can soar up and see the moon to the east. Now fly over your other rooms and look down. You get a different sense of how it is all organized from up here! Take care in noclip mode. It can happen that if you get into the lower brushes you can sink down below the mission and fall into the abyss. Don&#039;t know why that is but you have to map again to get back in.&lt;br /&gt;
&lt;br /&gt;
Spot the error in the big room? Our new yard protrudes into it at floor and north wall. We&#039;ll deal with that...&lt;br /&gt;
&lt;br /&gt;
== The Clipper Tool, Cutting &amp;amp; Splitting Brushes ==&lt;br /&gt;
&lt;br /&gt;
It is not fatal to make mistakes; it&#039;s normal. We just check our work after building and adjust. Our new yard protrudes into the big room so...&lt;br /&gt;
&lt;br /&gt;
* In the top view, select the north wall of the yard and reduce its width from left to right so its left edge is level with the west surface of the yard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The floor of the yard can be done a similar way by dragging it from west to east and inserting a new brush in the gap but instead let&#039;s use this opportunity to explain the clipper tool...&lt;br /&gt;
&lt;br /&gt;
* Select the yard floor in the top view.&lt;br /&gt;
* Press X or select the Clipper button ([[Image:DRclipper.jpg]] on LBB)&lt;br /&gt;
* Zoom in a little to the middle left of the yard and click on the red line where it crosses the wall of the big room. A dot should appear on the line and the zero digit 0.&lt;br /&gt;
* Likewise, go straight along that grid line to the east side of the yard and click that red line. A digit 1 should appear and a red line joining the 0 and the 1.&lt;br /&gt;
* It should look like in the diagram below. If your line is not on the same grid line on both sides you can place the mouse over either 0 or 1 and a + appears so you can drag it where it should be. If it all goes horribly wrong or a 2 appears as well, just press X twice to clear it and try again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZclipper.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* At this point, pressing Enter would delete the north part of the yard floor but instead...&lt;br /&gt;
* Press Shift + Enter to SPLIT the yard floor into two brushes at the middle line we made.&lt;br /&gt;
* Press X to DEselect Clipper and go back to drag and resize mode.&lt;br /&gt;
* DEselect then select the north part of the floor we just made and reduce its width from the west like we did the north wall.&lt;br /&gt;
* REPEAT the whole process with the ceiling of the yard. This is not so critical as it protrudes above the big room and is not visible to the player but it is good practice to keep everything tidy.&lt;br /&gt;
&lt;br /&gt;
For more details of using the Clipper Tool see [[Dark Radiant Controls, Keys &amp;amp; Mouse|Dark Radiant Controls]] and scroll down to Clipper Mode.&lt;br /&gt;
&lt;br /&gt;
Now reduce the height of the north, east, and south walls of the yard to about half***. Ideally, do not make them so low that the player can expect to climb up. You can use clipper but its probably easier in this case to use my &#039;clone &amp;amp; curtain&#039; method we did earlier. From a side vie you can easily clone and drag down a wall, then drag up the top part which you then retexture on the inside as sky.&lt;br /&gt;
&lt;br /&gt;
(*** I&#039;m thinking we already did this when told (above) to &amp;quot;Select a wall at a time, clone it, size it downwards to a height of 128.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The yard feels much more open now but maybe retexture the house walls to be different to the yard walls? Or the other way round? Your preference.&lt;br /&gt;
&lt;br /&gt;
You might also add buttresses against the walls if you want; just add solid brushes maybe 16 x 24 3/4 way up the walls. These should have sloping tops so there Clipper is ideal for clipping off angles. Remember, you only have to do one, adjust its texure carefully then clone it and space them out. I would set Texture lock on for this but depends. Try it both ways to see how it works. Remember also Modify menu &amp;gt; Rotate and Scale to turn for the other walls?&lt;br /&gt;
&lt;br /&gt;
==Water==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s make a pool of water. It doesn&#039;t make much sense here but I need the opportunity to explain water. Alternatively you might make a water trough or open tank (the tank is easier if you feel lazy!)...&lt;br /&gt;
&lt;br /&gt;
* Drag out a new brush (Oh dear! You forgot to DEselect first? Use Ctrl+Z to undo)&lt;br /&gt;
* Make the brush fit the big grid about 24 high and 64 x 128 (two big grid square in grid 8 mode)&lt;br /&gt;
* For a pool, place this just below the yard aligned to the big grid so its top is aligned with the &#039;&#039;underside&#039;&#039; of the yard floor brush (not the yard floor surface)&lt;br /&gt;
* For a tank, place it so it is one small grid unit above the yard surface.&lt;br /&gt;
* Give it a metal texture for a tank but for a pool give it the yard floor surface texture.&lt;br /&gt;
* Use the Room button to make it hollow then delete the top.&lt;br /&gt;
* The tank is now an open metal box but the pool is hidden by the floor. Use Clipper or my Clone and Curtain method on the floor to open out a hole. This is different from before because you need FOUR sides. Clone and drag out the two like parting curtains as before but then clone one side and drag to one of the gaps left and resize it to fit. Then clone that and drag it to the other side. Resize to fit if needed.&lt;br /&gt;
* Check for texturing and adjust if needed.&lt;br /&gt;
&lt;br /&gt;
Now we need to fill it with water...&lt;br /&gt;
&lt;br /&gt;
* Drag out a brush and insert it into the pool or tank&lt;br /&gt;
* Resize/Move it to fit EXACTLY the inner dimensions of the pool/tank but one small grid unit below the yard floor surface.&lt;br /&gt;
* Give it the texture common/nodraw&lt;br /&gt;
* With the whole brush still selected, RMB menu in grid view &amp;gt; Create Entity and select darkmod &amp;gt; liquids &amp;gt; atdm:liquid_water from the list. This gives the brush its liquid properties which include extinguishing flames. Don&#039;t use func_liquid which doesn&#039;t.&lt;br /&gt;
* DEselect the water brush and select just its top surface with Ctrl+Shift+LMB in the camera view&lt;br /&gt;
* Give it the texture water_source &amp;gt; water_clear&lt;br /&gt;
* In Surface Inspector, rescale the horizontal and vertical scale to 0.1. This will set the wave frequency for small pool. Use larger scale for a larger pool.&lt;br /&gt;
* Clone the ambient light or create a new one and put it in the water so its radius fits or overlaps but make it fit &#039;&#039;exactly&#039;&#039; to the surface.&lt;br /&gt;
* Set the ambient colour in Light Inspector to Red, Green, Blue of 0, 25, 25 (= 0.00, 0.1, 0.1 in Entity Inspector) for a dull greeny hue.&lt;br /&gt;
* Adjust the &#039;&#039;main&#039;&#039; ambient light so its radius just reaches down to touch the &#039;&#039;surface&#039;&#039; of the water (and thereby the top of the pool ambient light) from above.&lt;br /&gt;
&lt;br /&gt;
See also [[Water]]&lt;br /&gt;
&lt;br /&gt;
Create a light (RMB menu in grid view, place it low at about 40 units high and 40 or 50 units away from the corner of the pool to cast a shadow into it and give it the brightness VALUE of 30.&lt;br /&gt;
&lt;br /&gt;
You can now dmap and map to check out your water. If you get a leak its not necessarily the water! More likely you left a gap when slicing up the yard floor. I did! Just use File Menu &amp;gt; Pointfile in Dark Radiant for the red line that leads to where the leak to the void is then dmap again.&lt;br /&gt;
&lt;br /&gt;
== Z-Fighting Errors ==&lt;br /&gt;
&lt;br /&gt;
If a brush overlaps another, that is, all or parts occupy the same space as another brush then you get what are called Z-fighting as in the picture below. The game is trying to render both at the same time. Always watch out for this. Just resize or move the brush(es) so they do not overlap...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZclipping.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Doorway from the Yard==&lt;br /&gt;
&lt;br /&gt;
We need a door from the yard into the house...&lt;br /&gt;
&lt;br /&gt;
* DEselect and create a new door models/darkmod/architecture/doors/door02.lwo from the model selector.&lt;br /&gt;
* Use Modify Menu &amp;gt; Rotate and Scale to rotate the door 90 degrees &#039;&#039;clockwise&#039;&#039;. The door should open inwards so if you find it opens outwards later you can just rotate it back the other way no problem.&lt;br /&gt;
* Reduce the grid size to say, 2 and move the door so it lays flush against the inside surface of the wall and exactly in the second big grid from the south (see diagram below)&lt;br /&gt;
* Check the side view and raise/lower the door so it just touches the floor.&lt;br /&gt;
* Select TOP view again.&lt;br /&gt;
* DEselect then using Shift + LMB, select the three brushes of the doorframe in between the big and little room so you have all three selected.&lt;br /&gt;
* SPACE to clone them all and drag to roughly the middle of the east wall of the big room.&lt;br /&gt;
* Use the Modify Menu &amp;gt; Rotate and Scale dialog to turn the selection 90 degrees.&lt;br /&gt;
* Move the selection into position around the door until the doorframe aligns as closely as possible with the east wall and juts out into the big room.&lt;br /&gt;
* This door is a different size so select the frame pieces one by one and move/resize them to fit snugly round the door and align inside two big grid lines ( see diagram below)&lt;br /&gt;
* Remember to adjust the height to in the side view.&lt;br /&gt;
* Use Ctrl+G to snap it to the grid. If that changes the shape of any of the brushes then Ctrl+Z to undo and instead reduce the grid to.125 and move it manually more closely to the right position. Then snap to grid. Adjust the door&#039;s position if needed. Check it all looks to be in the right position.&lt;br /&gt;
&lt;br /&gt;
Now we need to open out the doorway as we did before by cloning the wall and splitting it either side of the doorframe. Then clone again, resize, and move up over the doorway. Check back in [[A - Z Beginner Full Guide Page 2#&#039;Cutting&#039; through walls, Joining Rooms|&#039;Cutting&#039; through walls, Joining Rooms]] if you can&#039;t remember the details.&lt;br /&gt;
&lt;br /&gt;
There&#039;s a gap under the door - fill it with a brush and texture it concrete or something. We should really have made the floor of the yard one course of bricks lower and then we could have a step at the door but no matter.&lt;br /&gt;
&lt;br /&gt;
Keep saving your mission as you go along and every 10 or 15 minutes save with a new name. Dmap and play test whenever you feel like it.&lt;br /&gt;
&lt;br /&gt;
Throw in a few models in the yard to decorate it quickly - there&#039;s a wishing well, waterpump, wheelbarrow, and so on. Possibly make a static wooden gate from a brush. It does not need to open as the player will be dropping over the wall to start the mission.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve put in a few items we&#039;ll talk about the weather...&lt;br /&gt;
&lt;br /&gt;
==Weather==&lt;br /&gt;
&lt;br /&gt;
Weather can add a nice atmosphere to any mission...&lt;br /&gt;
&lt;br /&gt;
===Fog===&lt;br /&gt;
&lt;br /&gt;
The default fog is made with foglights whose volumes are rectangular blocks. These are OK in isolation or covering an entire mission but there is no obvious way to place these blocks together without the join showing. So a rectangular yard would have been fine but our yard is L shaped and so would need two foglights for each rectangle. If one were used to surround the lot it would show inside the house. Another problem is that sky penetrates right through the fog. This should be fixable with a different sky matching the grey colour of the fog or indeed no real sky just concrete hidden above in the fog! I have read a method for a special fog to be attached to the player but not tried it yet. So this is what I know of so far. It&#039;s easy to set up so you can see it...&lt;br /&gt;
&lt;br /&gt;
* Create a light in the normal way in the centre of the yard and drag out its box to fill the yard north to south and from the east wall the wall with the door. It should have the height from floor right up to the sky.&lt;br /&gt;
* J for light properties&lt;br /&gt;
* Give it a brightness VALUE 25&lt;br /&gt;
* On the right is the list showing fogs and lights so choose fogs and select delta1_fog. You can try others but there is not a lot of difference and some do not seem to work.&lt;br /&gt;
* J to close light properties.&lt;br /&gt;
* In Entity Inspector give it the property shaderParm3 and a value of 600. This is the distance in units beyond which the fog is completely opaque. Our yard is about 640 units long so if you look from one end then the farthest wall is whited out. Take a few steps and it starts to appear.&lt;br /&gt;
&lt;br /&gt;
But note the join between the lightfogs boundaries and also the sky above is black. But it is useable with some inqenuity and I have hopes of better methods in the future.&lt;br /&gt;
&lt;br /&gt;
===Rain and Snow, Introducing Patches===&lt;br /&gt;
&lt;br /&gt;
* A patch is a one-sided surface only with no depth. &lt;br /&gt;
* It is textured only on one side and the other side is totally transparent and the edges have zero height. It&#039;s like a big plastic sheet, and like such a sheet it can be warped and twisted into useful shapes and curves far better than brushes. Textures align around those curves whereas they would align in straight lines on a curved brush.&lt;br /&gt;
*Multiple patches can be placed together to surround a volume but it is a shell.&lt;br /&gt;
* With the same textures, patches are just as solid to the player as a brush and a steel plate just as impenetrable as if it were six feet thick.&lt;br /&gt;
* Patches do NOT seal against the void.&lt;br /&gt;
* Some example uses are: &lt;br /&gt;
# to shape terrain; &lt;br /&gt;
# as semi-transparent decals for example to place stains, etc. &lt;br /&gt;
# Later we shall use patches with a rain-emitting texture.&lt;br /&gt;
*Patches can be created directly or you can first create a brush and convert it.&lt;br /&gt;
*Patches are created with their visible surface facing the user out from the editor grid view so select the TOP view for a horizontal patch. &lt;br /&gt;
&lt;br /&gt;
Now for our rain...&lt;br /&gt;
&lt;br /&gt;
=== Rain and Snow ===&lt;br /&gt;
* Dark Mod rain and snow are particles emitted by a material.&lt;br /&gt;
* Only one surface is needed so we apply that to a patch and place it above where we want rain - much like a cloud in the sky except this patch is invisible.&lt;br /&gt;
* The rain is emitted at right angles from the surface but falls under gravity (currently - but may be changed) so if tilted it will emit at an angle then curve down unnaturally so don&#039;t use this to simulate wind slanting in the rain; place the patch horizontally.&lt;br /&gt;
* The patch should be right side up with the rain texture on top. It is set up to emit downwards through the patch.&lt;br /&gt;
* Rain falls through everything so avoid overhead overhanging roofs etc.&lt;br /&gt;
* There are various textures, eg, light and heavy rain&lt;br /&gt;
* Patches can be stacked above one another for torrential rain&lt;br /&gt;
* There is some perfomance lag with large areas and stacked patches&lt;br /&gt;
&lt;br /&gt;
To make it rain in our yard...&lt;br /&gt;
&lt;br /&gt;
* In the TOP view, create a brush the length and width of the yard but about 24 units from the house wall (else there is some spill over so a little rain would fall just inside.) Height of brush irrelevant.&lt;br /&gt;
* Patch menu &amp;gt; Simple patch mesh &amp;gt; 3 x 3 converts the brush to a patch.&lt;br /&gt;
* Rotate it upside down.&lt;br /&gt;
* In a side view raise it up to about half way up towards the sky. If too low the player cannot see it falling down when looking up. If too high it affects performance.&lt;br /&gt;
* Give it the texture textures/darkmod/weather/rain_downpour&lt;br /&gt;
* For extra heavy, clone it and raise up the clone a few units. Repeat for torrential rain.&lt;br /&gt;
* Clone and move into the south west corner of the yard and resize to fit that area not covered by the main rain patches&lt;br /&gt;
&lt;br /&gt;
You could try the above with a snow texture (from the weather section) instead but would need to texture the ground with snow from the nature section.&lt;br /&gt;
&lt;br /&gt;
Ctrl + S to save and dmap and map to test it out.&lt;br /&gt;
&lt;br /&gt;
===Rainsplash===&lt;br /&gt;
&lt;br /&gt;
* Create a brush in the yard.&lt;br /&gt;
* Stretch it out to cover the length of the yard and the width of it at the top. Height irrelevant.&lt;br /&gt;
* Patches are created with their visible surface facing the user out from the editor grid view so select the TOP view for a horizontal patch. If you use a side view then it will be created on its side (it can always be turned over of course later)&lt;br /&gt;
* With the TOP grid view the CURRENT window, select Patch menu &amp;gt; Simple Patch mesh and click OK to accept the default 3 x 3. These values refer to the vertices which can be dragged about in three dimensions to produce different curves - the more vertices, the more curves - but we only need a flat patch so accept the minimum 3 x 3.&lt;br /&gt;
* The brush should now have been converted to a flat patch.&lt;br /&gt;
* In a side view it should just be a line with no height.&lt;br /&gt;
* Drag it down exactly in line with the surface of the floor of the yard.&lt;br /&gt;
* Give it the texture textures/darkmod/weather/rain_splash_moderate. Try a different splash if preferred.&lt;br /&gt;
* In top view, clone the patch and drag and resize it into the south west corner to fit the floor area not covered by the other patch.&lt;br /&gt;
&lt;br /&gt;
It&#039;s that simple. Dmap and map and take a close look at the ground to see the rain splashes.&lt;br /&gt;
&lt;br /&gt;
=== Performance: Hiding Distant Rain ===&lt;br /&gt;
&lt;br /&gt;
If you change the rain and splash patches to func_static entities you can add some properties that hide distant rain so improving performance. I used it in the extended released version of Thief&#039;s Den but it is not critical in this small yard so I will only mention it here briefly...&lt;br /&gt;
&lt;br /&gt;
* hide_distance n = distance in n units beyond which a rain patch is &#039;switched off&#039;.&lt;br /&gt;
* dist_check_period n = how often in milliseconds the distance is checked. Too-frequent testing reduces performance; too-infrequent will cause a visible delay. For rain I used 0.25.&lt;br /&gt;
* dist_check_xy n = if 1 then only horizontal distance is tested not vertical. Set to 1 for rain/snow.&lt;br /&gt;
&lt;br /&gt;
== Sound Effects: Rainfall==&lt;br /&gt;
&lt;br /&gt;
To add a background sound we could add a global ambient but this would be heard all over the mission, even indoors, so it&#039;s not suitable for our rain. Instead we have to use a local ambient which fades as you leave it so we need two with their sound overlapping...&lt;br /&gt;
&lt;br /&gt;
* In the top grid view, RMB menu &amp;gt; Create Speaker (this is also available in the &#039;Create Entity&#039; list.)&lt;br /&gt;
* Give it the following properties. To do this you can..&lt;br /&gt;
# Type them in the input boxes at the bottom of Entity Inspector and click the check button OR...&lt;br /&gt;
# RMB the top line Classname Speaker and select Add Property from the menu then the + to open the list. You still need to type the values so option 1 is probably the easiest, in fact, copy and paste them from here...&lt;br /&gt;
&lt;br /&gt;
* s_volume 0               = loudness - depends on how heavy your rain - adjust to taste. Use negative values to deduct from 0(max), eg, -6 is quieter, -8 quieter still, -50 is probably inaudible.&lt;br /&gt;
* s_mindistance 0          = distance from speaker at which it starts to fade&lt;br /&gt;
* s_maxdistance 8         = distance (in metres) from speaker beyond which it cannot be heard (I estimated these units were 40 normal units.)&lt;br /&gt;
* s_shader sound/ambient/environmental/weather_rain04_loop.ogg            = sound file&lt;br /&gt;
* s_looping 1                = plays over and over (if 0 would play sound file only once)&lt;br /&gt;
&lt;br /&gt;
Place this in the yard midway between the door and the wall and almost at the height of the wall so it spreads upwards too. It is unlikely that the player would be able to climb up very high but just in case you change something later...&lt;br /&gt;
&lt;br /&gt;
Clone it and place this one in the south east corner maybe 24 units from either wall. The speakers are the green squares with arrows as shown in the diagram below...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:AZspeakers.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No need to dmap when creating or adjusting speakers just map and listen. Note that the door will not yet block sound when closed - we&#039;ll do that later. But the sound should fade nicely as you enter the house.&lt;br /&gt;
&lt;br /&gt;
The sound files are in ogg format in the Dark Mod sound folder so you can create sounds in your missions for all types of things not just rain of course.&lt;br /&gt;
&lt;br /&gt;
More details about sound speakers are in [[Sounds: Background and Local]]&lt;br /&gt;
&lt;br /&gt;
{{A-Z Beginner Guide TOC}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Prefab_Comments&amp;diff=10454</id>
		<title>Prefab Comments</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Prefab_Comments&amp;diff=10454"/>
		<updated>2010-08-12T23:04:39Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Printing Press */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
 (Note that you may need to extract provided Dark Mod prefabs first from the zip file darkmod/tdm_prefabs01.pk4 before they are visible to earlier versions of Dark Radiant.)&lt;br /&gt;
&lt;br /&gt;
With most prefabs, it is self-evident what they are but when submitting your own prefabs for use by others it is occasionally helpful, even essential, to add comments.&lt;br /&gt;
&lt;br /&gt;
You can include comments within the prefab. Add the following key/value pair to the worldspawn of the prefab...&lt;br /&gt;
&lt;br /&gt;
editor_description &amp;lt;your description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the prefab does not contain any worldspawn then add a tiny brush and texture it nodraw.&lt;br /&gt;
&lt;br /&gt;
For more detailed comments, diagrams, images, etc., please add your comments to this article.&lt;br /&gt;
&lt;br /&gt;
When loading prefabs, depending on your editor version, you need to take care:&lt;br /&gt;
&lt;br /&gt;
# Check changed entity names against any bind, frob_peer, lock_peer used_by spawnargs etc.&lt;br /&gt;
# If rotating, check the whole prefab has rotated and how. Model doors may be OK but brush doors you might find they now open the wrong way.&lt;br /&gt;
# Add complex prefabs to groups (DR=layer) if your editor provides them to make it easier to move, rotate, retexture, etc. later.&lt;br /&gt;
# Disable any filtering so you don&#039;t overlook, eg, caulk, nodraw textures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For general information about prefabs see [[Prefabs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Fireplace/Chimney===&lt;br /&gt;
&lt;br /&gt;
Prefab : architecture\fireplaces\fireplace_humble_corner_double.pfb&lt;br /&gt;
&lt;br /&gt;
* Can be retextured as a whole (ideally while still selected as a prefab)&lt;br /&gt;
* Place between between two walls where the caulk indicates or discard one side and use as single.&lt;br /&gt;
* Note multiple edge bevels and patches if cutting/reshaping.&lt;br /&gt;
* It is likely that some bevels will pass through into different visportal areas in your mission. This is likely to corrupt the texture rendering even though it looks fine in Dark Radiant. Solution: Clone offending bevel(s) and resize to fit either side of floor/ceiling etc. so each bevel is fully within one visportal area. See [[Patch Troubleshooter|Patch texture rendering error]].&lt;br /&gt;
&lt;br /&gt;
Texture aligns all round except for...&lt;br /&gt;
* one small horizontal line at one side of one of the fireplaces - not too noticeable.&lt;br /&gt;
* Horizontal line where vertical chimney starts on two sides only. This will be next dividing wall on one side anyway so only affects one side and this will generally be lost in ceiling hopefully. Not severe.&lt;br /&gt;
&lt;br /&gt;
===Rooms, corridors===&lt;br /&gt;
Rooms, corridors - these should not be used exactly as they are. We don&#039;t want lots of mission lookalikes. Instead use them as a start point then adjust, resize, and retexture. Add new features, remove old ones.&lt;br /&gt;
&lt;br /&gt;
===Steps &amp;amp; Stairs: Spiral===&lt;br /&gt;
These consist of a main module:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(architecture\steps,stairs\spiral_stairs\stair_spiral_192_main.pfb)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
which is stackable to any number of floors each 192 units high (add a few steps in a corridor if your floors are a little different) plus one top model:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(architecture\steps,stairs\spiral_stairs\stair_spiral_192_top.pfb)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the time of writing, multiple patrolling AI might get stuck at the foot of the stair. This appears to be an AI intelligence issue rather than an actual obstacle. I found if I placed a path_corner at the foot of the stairs, directly opposite the bottom step and targetted from above (ie, its preceding path_corner that targets it being place on a floor above) then the AI were OK. I had three AI patrolling and passing one another on the stair for a long time without problems this way.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;architecture\steps,stairs\spiral_stairs\bc_spiralstair_clip.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...is for use as monster clip for AI pathfinding with various models in:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;models\darkmod\architecture\stairs\&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Steps &amp;amp; Stairs: Stepladders===&lt;br /&gt;
&lt;br /&gt;
There are a rough and a smart version at...&lt;br /&gt;
&lt;br /&gt;
prefabs\architecture\steps,stairs\moveable_stairs&lt;br /&gt;
&lt;br /&gt;
These stepladders can be grabbed and moved around but you have to move in close to grab them from the side or back. This is deliberate as there was a problem: If you could frob them while standing on them you could lift yourself up and fly round like on an unstable jetpack. Unsure if that is fixed. It also &#039;feels&#039; better to me if you are hugging them close (you wouldn&#039;t hold stepladders at arms length.) Alternatively you can push them. It&#039;s somewhat of a challenge if you knock them over but it is perfectly possible to lift them up and rotate them - just difficult to get your body out of the way. Once moved you can climb them like any other ladder. The smart version is ideal for places like libraries; the rough one for a workplace. Of course, you can retexture them how you like, or shorten one if you prefer.&lt;br /&gt;
&lt;br /&gt;
==Doors==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Manhole for sewer etc.===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;doors/manhole_round_tiny_rusty.pfb&#039;&#039; is a general purpose sewer entrance. Note that the brush opening is lined with non-solids so the manhole seem a more narrow gap.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;doors/manhole_round_tiny_rusty_windup.pfb&#039;&#039; is the same but with an internal rotary control. This means the manhole cannot be opened or closed from above so the player has to find another route inside but can escape through this route. An alternative is to use a normal locked version of the firt example above and let the player find it inside.&lt;br /&gt;
&lt;br /&gt;
This version might be modified as a pressure hatch in a chemical plant, underwater facility, submarine, etc.&lt;br /&gt;
&lt;br /&gt;
===Trapdoor with padlock===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;doors\trapdoor_wood_crude_padlocked.pfb&#039;&#039; includes a moveable hasp: The openable part of the padlock, plus two staples: one that is bound to the door, and one that you need to place on your frame/floor.&lt;br /&gt;
&lt;br /&gt;
The padlock can be relocked. If the trapdoor is open then it locks when next closed onto the padlock. Not entirely logical but the alternative would close it when closing the padlock.&lt;br /&gt;
&lt;br /&gt;
The padlock is not a moveable.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t overlook the padlock key which is close by.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Furniture==&lt;br /&gt;
&lt;br /&gt;
===Container Furniture: Cabinets, Wardrobes, Shelf units, Desks===&lt;br /&gt;
&lt;br /&gt;
There is a range of container furniture: cabinets, wardrobes, shelf units, desk, etc. with opening doors, drawers, working handles, etc. at prefabs\furniture\cabinets&lt;br /&gt;
&lt;br /&gt;
These have separate entities for doors, hinges, mid-shelves, side-shelves, and spindles for easy removal as wardrobe or open shelving. After rotating you should restore the door origins using vertex drag. You may find example model objects included need moving separately after a rotation.&lt;br /&gt;
&lt;br /&gt;
Most can be retextured and modified how you like to convert into a shelf unit or no shelves or whatever. Some are model furniture but with separate openable doors.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cabinets27.jpg|600px|thumb|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mechanical==&lt;br /&gt;
&lt;br /&gt;
===Clocks===&lt;br /&gt;
&lt;br /&gt;
There are 4 large plain grey clocks that keep real game-time. They are not very fancy but are meant to be put high on buildings where they cannot be reached. But the time-keeping methods can be applied to fancier clocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\clocks\clock_nostrike_big_plain_grey.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\clocks\clock_nostrike_huge_plain_grey.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These are big and bigger clocks set at midnight by default and facing west. Works immediately with no script needed but nothing fancy, does not strike the hour, etc. but just shows the time. Includes a clock tick sound which can be deleted if too high on a building to hear. The clocks can be rotated to face any direction with no problem. And of course, you can rotate the hands to set the start time if you don&#039;t want midnight.  Try 6 degree movements then finer if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\clocks\clock_scriptevents_big_plain_grey.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\clocks\clock_scriptevents_huge_plain_grey.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These require a script. One is provided that keeps time and rotates the clock hands, and optionally can trigger any entities at any selected time plus a script that strikes the hour. See [[Clock-Triggered Game Events]] for how to set it up.&lt;br /&gt;
&lt;br /&gt;
===Elevator===&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\elevators,hoists\elevator_3floors.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3-floor elevator prefab that can be reduced to 2-floor or increased without too much difficulty. Basically a brick tower its side walls are sectioned so can easily be resized to make doorways on any side and of course, retextured. Drop it in your map and it works immediately. Details for customising are at [[Elevators, multi-floor#Multi-floor elevator using custom Dark Mod entities]]&lt;br /&gt;
&lt;br /&gt;
===Machine sound system===&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\machine_sound_system.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With this prefab you can make a triggered sounds system with a start sound, a looping sound and a stop sound. More info in [[Start/Loop/Stop sounds]]&lt;br /&gt;
&lt;br /&gt;
===Switches and Levers===&lt;br /&gt;
&lt;br /&gt;
These are just simple lever and switch combos ready to go. (A static backplate and a movealbe lever).&lt;br /&gt;
&lt;br /&gt;
The rotation and translation are set for a wall mount, may need adjusted if you mount them on a horizontally, or at an angle.&lt;br /&gt;
&lt;br /&gt;
===Steam Whistle Alarm===&lt;br /&gt;
TDM 1.03 release&lt;br /&gt;
&lt;br /&gt;
A steam whistle machine, with lever, particles and sound (to alert AI).&lt;br /&gt;
&lt;br /&gt;
===Printing Press===&lt;br /&gt;
TDM 1.03 release&lt;br /&gt;
&lt;br /&gt;
A working printing press with lever, gears and sound.&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Player drop start delay===&lt;br /&gt;
&lt;br /&gt;
Many Dark Mod FMs will begin with the thief dropping down from a wall, etc. At game start there seems to be a tiny delay (0.25 seconds?) before the view is rendered so the player only sees the end of the drop, maybe none of it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;misc\player_drop_start_delay.pfb&#039;&#039; provides a player start with a platform that is removed after 0.25 of a second. Reduce delay for lower heights.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===StartPack: Common Objectives, Tools, Ammo===&lt;br /&gt;
&lt;br /&gt;
misc/StartPackObjectives,Tools,Ammo.pfb contains common objectives, player tools and ammo all set up for the mapper. It is then far easier to edit or delete what you don&#039;t want rather than set them all up separately from scratch.&lt;br /&gt;
&lt;br /&gt;
Just insert into your map away from anywhere you are likely to build and immediately your mission has default working objectives and lantern, compass, etc in the player&#039;s inventory at start, and ammo you can edit.&lt;br /&gt;
&lt;br /&gt;
You MUST remember to delete the parts you don&#039;t want to avoid possible conflict. For example if you merge into a map where you already have objectives then delete the objectives entity. If you have a purchase shop set up then delete the Ammo_difficulty_settings in the prefab.&lt;br /&gt;
&lt;br /&gt;
 Note that some entity names might change on insertion so check they match where they are named, eg in objectives.&lt;br /&gt;
&lt;br /&gt;
The prefab is a small room containing (note that the contents may be slightly updated/changed from shown here):&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Player Tools:&#039;&#039;&#039;&lt;br /&gt;
compass, lantern, spyglass, all four lockpicks. All go in the inventory at start up. Edit/delete as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objectives:&#039;&#039;&#039;&lt;br /&gt;
These are set up in a target_tdm_addobjectives entity. All you need to do is click on menu: Map &amp;gt; Objectives and you will see the common objectives  already set up. Just edit or delete what you don&#039;t want or you can refer to what is there to make new ones. Change the text description to what you want.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Steal a special object&#039;&#039; - use this if your mission has a quest to get some special item like Lord Drastik&#039;s Sceptor of Death. Edit and change the entity name and the text description of course.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Trigger with any targetting entity&#039;&#039; is for a custom objective that is not covered by any other method. Any targetting entity can complete this objective. So &#039;&#039;Open the magic door for Bragbo&#039;&#039; - set the door to target the target_tdm_setobjectivestate named CompleteObjective in the prefab and set the objective number in that entity. It will complete the objective when the door opens. Any targetting entity like a lever etc will also do.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Get Loot&#039;&#039; there is one of these for each difficulty setting. Only one will be visible depending which difficulty is played. Just reword the text how you like and change the value of the loot needed how you like.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;No Killing&#039;&#039; and &#039;&#039;No KOs&#039;&#039; these also are set for special difficulties. Adjust to taste, reword, or delete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Go To Room X, eg, When all objectives done, return to start&#039;&#039; In this case you need to move the info_tdm_objective_location entity named StartingPoint from the prefab room to where you want the player to return to and enlarge it to cover the whole area where it is to trigger. You also need to edit the objective to include in its &#039;enabling objectives&#039; all the other objectives that are NOT &#039;ongoing&#039; (such as No KOs) This is because they must be completed before returning to the start. If any enabling objectives appear in several difficulties then look at how the loot enabling objectives were done in this prefab. It shows 1 and (2 or 3 or 4) which means Objective 1 MUST be done plus EITHER loot objective 2 or 3 or 4 (only one appears in each difficulty.)&lt;br /&gt;
&lt;br /&gt;
This &#039;GoTo&#039; objective method can be used for any objective where you want the player to get to a special place, eg &#039;Find a way to get into the castle&#039;. In which case you probably want to delete the &#039;Enabling Objectives&#039; entry and rename the StartingPoint&#039; entity (and in the objectives.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Start Ammo/Weapons:&#039;&#039;&#039; is set up in the atdm:difficulty_settings entity named Ammo_difficulty_settings in the prefab. (This might be done with a different type of entity at a later stage.) &lt;br /&gt;
&lt;br /&gt;
Select menu: Map&amp;gt;Difficulty. Click on atdm:player_base and you should see listed all the ammo/weapons set by default at 0 for all arrows and 1 for sword and blackjack. Change the value for each to what you want on all three difficulty tabs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Nature==&lt;br /&gt;
&lt;br /&gt;
===Skyboxes===&lt;br /&gt;
&lt;br /&gt;
Here is an explanation on how to use a [[skybox]]&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;nature\skyboxes\tdm_sky_starry1.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;nature\skyboxes\tdm_sky_starry2.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;nature\skyboxes\tdm_sky_storm_thunder.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The tdm_sky_storm_thunder.pfb contains a skybox with storm clouds and a simple thunder effect mechanism. See also [[Lightning]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Readables==&lt;br /&gt;
&lt;br /&gt;
There is an extensive selection of readable books, scroll, sheets, etc. For details see [[Readables Prefabs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}} {{darkradiant}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Prefab_Comments&amp;diff=10453</id>
		<title>Prefab Comments</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Prefab_Comments&amp;diff=10453"/>
		<updated>2010-08-12T23:04:13Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Mechanical */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
 (Note that you may need to extract provided Dark Mod prefabs first from the zip file darkmod/tdm_prefabs01.pk4 before they are visible to earlier versions of Dark Radiant.)&lt;br /&gt;
&lt;br /&gt;
With most prefabs, it is self-evident what they are but when submitting your own prefabs for use by others it is occasionally helpful, even essential, to add comments.&lt;br /&gt;
&lt;br /&gt;
You can include comments within the prefab. Add the following key/value pair to the worldspawn of the prefab...&lt;br /&gt;
&lt;br /&gt;
editor_description &amp;lt;your description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the prefab does not contain any worldspawn then add a tiny brush and texture it nodraw.&lt;br /&gt;
&lt;br /&gt;
For more detailed comments, diagrams, images, etc., please add your comments to this article.&lt;br /&gt;
&lt;br /&gt;
When loading prefabs, depending on your editor version, you need to take care:&lt;br /&gt;
&lt;br /&gt;
# Check changed entity names against any bind, frob_peer, lock_peer used_by spawnargs etc.&lt;br /&gt;
# If rotating, check the whole prefab has rotated and how. Model doors may be OK but brush doors you might find they now open the wrong way.&lt;br /&gt;
# Add complex prefabs to groups (DR=layer) if your editor provides them to make it easier to move, rotate, retexture, etc. later.&lt;br /&gt;
# Disable any filtering so you don&#039;t overlook, eg, caulk, nodraw textures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For general information about prefabs see [[Prefabs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Fireplace/Chimney===&lt;br /&gt;
&lt;br /&gt;
Prefab : architecture\fireplaces\fireplace_humble_corner_double.pfb&lt;br /&gt;
&lt;br /&gt;
* Can be retextured as a whole (ideally while still selected as a prefab)&lt;br /&gt;
* Place between between two walls where the caulk indicates or discard one side and use as single.&lt;br /&gt;
* Note multiple edge bevels and patches if cutting/reshaping.&lt;br /&gt;
* It is likely that some bevels will pass through into different visportal areas in your mission. This is likely to corrupt the texture rendering even though it looks fine in Dark Radiant. Solution: Clone offending bevel(s) and resize to fit either side of floor/ceiling etc. so each bevel is fully within one visportal area. See [[Patch Troubleshooter|Patch texture rendering error]].&lt;br /&gt;
&lt;br /&gt;
Texture aligns all round except for...&lt;br /&gt;
* one small horizontal line at one side of one of the fireplaces - not too noticeable.&lt;br /&gt;
* Horizontal line where vertical chimney starts on two sides only. This will be next dividing wall on one side anyway so only affects one side and this will generally be lost in ceiling hopefully. Not severe.&lt;br /&gt;
&lt;br /&gt;
===Rooms, corridors===&lt;br /&gt;
Rooms, corridors - these should not be used exactly as they are. We don&#039;t want lots of mission lookalikes. Instead use them as a start point then adjust, resize, and retexture. Add new features, remove old ones.&lt;br /&gt;
&lt;br /&gt;
===Steps &amp;amp; Stairs: Spiral===&lt;br /&gt;
These consist of a main module:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(architecture\steps,stairs\spiral_stairs\stair_spiral_192_main.pfb)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
which is stackable to any number of floors each 192 units high (add a few steps in a corridor if your floors are a little different) plus one top model:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(architecture\steps,stairs\spiral_stairs\stair_spiral_192_top.pfb)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the time of writing, multiple patrolling AI might get stuck at the foot of the stair. This appears to be an AI intelligence issue rather than an actual obstacle. I found if I placed a path_corner at the foot of the stairs, directly opposite the bottom step and targetted from above (ie, its preceding path_corner that targets it being place on a floor above) then the AI were OK. I had three AI patrolling and passing one another on the stair for a long time without problems this way.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;architecture\steps,stairs\spiral_stairs\bc_spiralstair_clip.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...is for use as monster clip for AI pathfinding with various models in:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;models\darkmod\architecture\stairs\&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Steps &amp;amp; Stairs: Stepladders===&lt;br /&gt;
&lt;br /&gt;
There are a rough and a smart version at...&lt;br /&gt;
&lt;br /&gt;
prefabs\architecture\steps,stairs\moveable_stairs&lt;br /&gt;
&lt;br /&gt;
These stepladders can be grabbed and moved around but you have to move in close to grab them from the side or back. This is deliberate as there was a problem: If you could frob them while standing on them you could lift yourself up and fly round like on an unstable jetpack. Unsure if that is fixed. It also &#039;feels&#039; better to me if you are hugging them close (you wouldn&#039;t hold stepladders at arms length.) Alternatively you can push them. It&#039;s somewhat of a challenge if you knock them over but it is perfectly possible to lift them up and rotate them - just difficult to get your body out of the way. Once moved you can climb them like any other ladder. The smart version is ideal for places like libraries; the rough one for a workplace. Of course, you can retexture them how you like, or shorten one if you prefer.&lt;br /&gt;
&lt;br /&gt;
==Doors==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Manhole for sewer etc.===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;doors/manhole_round_tiny_rusty.pfb&#039;&#039; is a general purpose sewer entrance. Note that the brush opening is lined with non-solids so the manhole seem a more narrow gap.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;doors/manhole_round_tiny_rusty_windup.pfb&#039;&#039; is the same but with an internal rotary control. This means the manhole cannot be opened or closed from above so the player has to find another route inside but can escape through this route. An alternative is to use a normal locked version of the firt example above and let the player find it inside.&lt;br /&gt;
&lt;br /&gt;
This version might be modified as a pressure hatch in a chemical plant, underwater facility, submarine, etc.&lt;br /&gt;
&lt;br /&gt;
===Trapdoor with padlock===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;doors\trapdoor_wood_crude_padlocked.pfb&#039;&#039; includes a moveable hasp: The openable part of the padlock, plus two staples: one that is bound to the door, and one that you need to place on your frame/floor.&lt;br /&gt;
&lt;br /&gt;
The padlock can be relocked. If the trapdoor is open then it locks when next closed onto the padlock. Not entirely logical but the alternative would close it when closing the padlock.&lt;br /&gt;
&lt;br /&gt;
The padlock is not a moveable.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t overlook the padlock key which is close by.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Furniture==&lt;br /&gt;
&lt;br /&gt;
===Container Furniture: Cabinets, Wardrobes, Shelf units, Desks===&lt;br /&gt;
&lt;br /&gt;
There is a range of container furniture: cabinets, wardrobes, shelf units, desk, etc. with opening doors, drawers, working handles, etc. at prefabs\furniture\cabinets&lt;br /&gt;
&lt;br /&gt;
These have separate entities for doors, hinges, mid-shelves, side-shelves, and spindles for easy removal as wardrobe or open shelving. After rotating you should restore the door origins using vertex drag. You may find example model objects included need moving separately after a rotation.&lt;br /&gt;
&lt;br /&gt;
Most can be retextured and modified how you like to convert into a shelf unit or no shelves or whatever. Some are model furniture but with separate openable doors.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cabinets27.jpg|600px|thumb|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mechanical==&lt;br /&gt;
&lt;br /&gt;
===Clocks===&lt;br /&gt;
&lt;br /&gt;
There are 4 large plain grey clocks that keep real game-time. They are not very fancy but are meant to be put high on buildings where they cannot be reached. But the time-keeping methods can be applied to fancier clocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\clocks\clock_nostrike_big_plain_grey.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\clocks\clock_nostrike_huge_plain_grey.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These are big and bigger clocks set at midnight by default and facing west. Works immediately with no script needed but nothing fancy, does not strike the hour, etc. but just shows the time. Includes a clock tick sound which can be deleted if too high on a building to hear. The clocks can be rotated to face any direction with no problem. And of course, you can rotate the hands to set the start time if you don&#039;t want midnight.  Try 6 degree movements then finer if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\clocks\clock_scriptevents_big_plain_grey.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\clocks\clock_scriptevents_huge_plain_grey.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These require a script. One is provided that keeps time and rotates the clock hands, and optionally can trigger any entities at any selected time plus a script that strikes the hour. See [[Clock-Triggered Game Events]] for how to set it up.&lt;br /&gt;
&lt;br /&gt;
===Elevator===&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\elevators,hoists\elevator_3floors.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3-floor elevator prefab that can be reduced to 2-floor or increased without too much difficulty. Basically a brick tower its side walls are sectioned so can easily be resized to make doorways on any side and of course, retextured. Drop it in your map and it works immediately. Details for customising are at [[Elevators, multi-floor#Multi-floor elevator using custom Dark Mod entities]]&lt;br /&gt;
&lt;br /&gt;
===Machine sound system===&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;mechanical\machine_sound_system.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With this prefab you can make a triggered sounds system with a start sound, a looping sound and a stop sound. More info in [[Start/Loop/Stop sounds]]&lt;br /&gt;
&lt;br /&gt;
===Switches and Levers===&lt;br /&gt;
&lt;br /&gt;
These are just simple lever and switch combos ready to go. (A static backplate and a movealbe lever).&lt;br /&gt;
&lt;br /&gt;
The rotation and translation are set for a wall mount, may need adjusted if you mount them on a horizontally, or at an angle.&lt;br /&gt;
&lt;br /&gt;
===Steam Whistle Alarm===&lt;br /&gt;
TDM 1.03 release&lt;br /&gt;
&lt;br /&gt;
A steam whistle machine, with lever, particles and sound (to alert AI).&lt;br /&gt;
&lt;br /&gt;
===Printing Press===&lt;br /&gt;
&lt;br /&gt;
 A working printing press with lever, gears and sound.&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Player drop start delay===&lt;br /&gt;
&lt;br /&gt;
Many Dark Mod FMs will begin with the thief dropping down from a wall, etc. At game start there seems to be a tiny delay (0.25 seconds?) before the view is rendered so the player only sees the end of the drop, maybe none of it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;misc\player_drop_start_delay.pfb&#039;&#039; provides a player start with a platform that is removed after 0.25 of a second. Reduce delay for lower heights.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===StartPack: Common Objectives, Tools, Ammo===&lt;br /&gt;
&lt;br /&gt;
misc/StartPackObjectives,Tools,Ammo.pfb contains common objectives, player tools and ammo all set up for the mapper. It is then far easier to edit or delete what you don&#039;t want rather than set them all up separately from scratch.&lt;br /&gt;
&lt;br /&gt;
Just insert into your map away from anywhere you are likely to build and immediately your mission has default working objectives and lantern, compass, etc in the player&#039;s inventory at start, and ammo you can edit.&lt;br /&gt;
&lt;br /&gt;
You MUST remember to delete the parts you don&#039;t want to avoid possible conflict. For example if you merge into a map where you already have objectives then delete the objectives entity. If you have a purchase shop set up then delete the Ammo_difficulty_settings in the prefab.&lt;br /&gt;
&lt;br /&gt;
 Note that some entity names might change on insertion so check they match where they are named, eg in objectives.&lt;br /&gt;
&lt;br /&gt;
The prefab is a small room containing (note that the contents may be slightly updated/changed from shown here):&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Player Tools:&#039;&#039;&#039;&lt;br /&gt;
compass, lantern, spyglass, all four lockpicks. All go in the inventory at start up. Edit/delete as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objectives:&#039;&#039;&#039;&lt;br /&gt;
These are set up in a target_tdm_addobjectives entity. All you need to do is click on menu: Map &amp;gt; Objectives and you will see the common objectives  already set up. Just edit or delete what you don&#039;t want or you can refer to what is there to make new ones. Change the text description to what you want.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Steal a special object&#039;&#039; - use this if your mission has a quest to get some special item like Lord Drastik&#039;s Sceptor of Death. Edit and change the entity name and the text description of course.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Trigger with any targetting entity&#039;&#039; is for a custom objective that is not covered by any other method. Any targetting entity can complete this objective. So &#039;&#039;Open the magic door for Bragbo&#039;&#039; - set the door to target the target_tdm_setobjectivestate named CompleteObjective in the prefab and set the objective number in that entity. It will complete the objective when the door opens. Any targetting entity like a lever etc will also do.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Get Loot&#039;&#039; there is one of these for each difficulty setting. Only one will be visible depending which difficulty is played. Just reword the text how you like and change the value of the loot needed how you like.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;No Killing&#039;&#039; and &#039;&#039;No KOs&#039;&#039; these also are set for special difficulties. Adjust to taste, reword, or delete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Go To Room X, eg, When all objectives done, return to start&#039;&#039; In this case you need to move the info_tdm_objective_location entity named StartingPoint from the prefab room to where you want the player to return to and enlarge it to cover the whole area where it is to trigger. You also need to edit the objective to include in its &#039;enabling objectives&#039; all the other objectives that are NOT &#039;ongoing&#039; (such as No KOs) This is because they must be completed before returning to the start. If any enabling objectives appear in several difficulties then look at how the loot enabling objectives were done in this prefab. It shows 1 and (2 or 3 or 4) which means Objective 1 MUST be done plus EITHER loot objective 2 or 3 or 4 (only one appears in each difficulty.)&lt;br /&gt;
&lt;br /&gt;
This &#039;GoTo&#039; objective method can be used for any objective where you want the player to get to a special place, eg &#039;Find a way to get into the castle&#039;. In which case you probably want to delete the &#039;Enabling Objectives&#039; entry and rename the StartingPoint&#039; entity (and in the objectives.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Start Ammo/Weapons:&#039;&#039;&#039; is set up in the atdm:difficulty_settings entity named Ammo_difficulty_settings in the prefab. (This might be done with a different type of entity at a later stage.) &lt;br /&gt;
&lt;br /&gt;
Select menu: Map&amp;gt;Difficulty. Click on atdm:player_base and you should see listed all the ammo/weapons set by default at 0 for all arrows and 1 for sword and blackjack. Change the value for each to what you want on all three difficulty tabs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Nature==&lt;br /&gt;
&lt;br /&gt;
===Skyboxes===&lt;br /&gt;
&lt;br /&gt;
Here is an explanation on how to use a [[skybox]]&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;nature\skyboxes\tdm_sky_starry1.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;nature\skyboxes\tdm_sky_starry2.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prefab: &#039;&#039;nature\skyboxes\tdm_sky_storm_thunder.pfb&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The tdm_sky_storm_thunder.pfb contains a skybox with storm clouds and a simple thunder effect mechanism. See also [[Lightning]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Readables==&lt;br /&gt;
&lt;br /&gt;
There is an extensive selection of readable books, scroll, sheets, etc. For details see [[Readables Prefabs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}} {{darkradiant}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Objectives_Editor&amp;diff=10238</id>
		<title>Objectives Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Objectives_Editor&amp;diff=10238"/>
		<updated>2010-07-21T02:02:41Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Adding Objectives Entities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Written by HappyCheeze and Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
The objectives editor is a very useful tool located inside Darkradiant (Version 0.9.7 or later) that allows the map author to set objectives or goals that the player must do in order to win the level. The opposite is also true, the author can set restrictions that the player must adhere to, or will fail the mission.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding Objectives Entities==&lt;br /&gt;
&lt;br /&gt;
 IMPORTANT: The add objectives entity has been renamed to atdm:target_addobjectives so ignore any reference to the old name target_tdm_addobjectives in the images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To access the objectives editor once inside Darkradiant, click the pull-down menu Map&amp;gt;Objectives... &lt;br /&gt;
[[Image:Objmenu.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Upon clicking you will see a separate window that looks like this. &lt;br /&gt;
[[Image:Objedblank.png|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
To start things off, click the &lt;br /&gt;
[[Image:%2Badd.png]]Button&lt;br /&gt;
&lt;br /&gt;
[[Image:Msnobjadd.png]]&lt;br /&gt;
&lt;br /&gt;
This will create an Entity that stores all of the objectives information that will you be editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we&#039;ve spawned our objectives entity,&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Image:Objentity.png]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
Notice the numbers in the “[]”&#039;s. Those are the entities&#039; coordinates on the map. These numbers will most likely be different from yours.  When the objectives entity spawns it is placed randomly around the origin (As of 0.9.7 this is how it is, it might change in future versions, but for now this is how it is).&lt;br /&gt;
&lt;br /&gt;
 *Note:Be mindful that sometimes this entity will spawn outside your map and into the void. This will cause a leak, so look around the origin.&lt;br /&gt;
&lt;br /&gt;
 **Alternatively you can right-click in an orthogonal view, create entity, Targets/atdm:target_addobjectives. This will create a small yellow box like placing any entity or object. Then when you open the objectives editor it will be in the list. Good to do this where the players starts, it will always be easy to find.&lt;br /&gt;
&lt;br /&gt;
==Adding Objectives==&lt;br /&gt;
&lt;br /&gt;
Now we&#039;re ready to start adding some objectives.&lt;br /&gt;
&lt;br /&gt;
Click the second [[Image:%2Badd.png]] Button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Newobj1.png|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
Under Objectives you&#039;ll notice there&#039;s a new Objective. You can add more as needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Editing Objectives==&lt;br /&gt;
&lt;br /&gt;
Click an objective in the list than click [[Image:Edit.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will bring up this window.&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Image:Editobj.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we&#039;re editing our first objective. It may seem a little confusing at a first glance but a lot of it is self explanitory and a little practice will take you a long way.&lt;br /&gt;
&lt;br /&gt;
So what do all these various lines and checkboxes do? &lt;br /&gt;
They effect the objective components at the bottom.&lt;br /&gt;
&lt;br /&gt;
What do they all mean?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: This what the player will read in the objectives menu. For example: “Steal the scepter”, “Don&#039;t kill any guards”, “Get back to where you entered the warehouse”. Its explaining what you want to player read so he/she knows what to do. A good rule to follow is to make them short and to the point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;:These refer to Easy/Medium/Hard difficulty levels. If the author wishes, they can be different for each difficulty. For example: on Hard difficulty the player will have to avoid being seen. On Easy the player will only have to steal 200 gold at the minimum. All Levels means that the objectives that are checked under this will be there regardless of difficulty. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Initial State&#039;&#039;&#039;:This is the condition of the objective at mission start. There are four options. Complete, Incomplete, Invalid, Failed. Typically the objective will be incomplete and the player has to complete it in-game to fulfil the objective.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flags&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Mandatory&#039;&#039; means the objective in question is necessary to complete the game. If it is unchecked than the objective will be optional. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ongoing&#039;&#039; means that the objective won&#039;t show completion until the end of the mission. Use this with do NOT type objectives, eg, do NOT kill.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Irreversible&#039;&#039; means that once the objective is done it will not UNcheck even if logically in the game it becomes no longer true. Example: get a special object. If the player later drops it normally the objective will then UNcheck because the player no longer has got it. But sometimes you don&#039;t want it to reverse. Example: get magic skull. New objective: throw it in magic pool. Player no longer has &#039;got&#039; the skull so normally it would then UNcheck the objective. Make it irreversible and it won&#039;t. Another example is to go to a location. If the player then leaves it would UNcheck so make it irreversible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Visible&#039;&#039; means that objective will be visible in the objectives menu ingame. If unchecked than there will be no objective shown. (The objective will still work, it just won&#039;t show up in the menu).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabling Objectives:&#039;&#039;&#039;&lt;br /&gt;
These are other objectives that must be completed before this objective can be done. Example: &#039;&#039;&amp;quot;When you have completed your main objectives, escape from the castle.&amp;quot;&#039;&#039; So, those main objectives would be the enabling objectives and if the player escapes the castle without doing them first then the escape objective does not check off either.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logic Success:&#039;&#039;&#039;&lt;br /&gt;
These are only needed if you have more than one type component. For example, if you can escape the castle by either of two routes this would be an objective with two go to &#039;&#039;location&#039;&#039; components. These components would be numbered 1 and 2 so the logic success would be 1 OR 2 since either would work. If however you wanted say the player to escape the castle via a special corridor then the player has to go to both corridor location and exit castle location so that would be logic success 1 AND 2. Those components need not necessarily be the same type - the player might be required to pull a lever AND escape for example (even though he could escape without pulling the lever but you don&#039;t want him to.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scripts&#039;&#039;&#039;: Under Construction&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components&#039;&#039;&#039;: These are the type of objective you want, eg, steal, kill - or rather &#039;types&#039; because each objective can have more than one (eg, go to exit A or go to exit B or it could be go to exit A AND go to exit B! - see logic success) These type components are used by the editor to specify what objectives need to be done. The map author can choose from a variety of options under &#039;&#039;&#039;Type&#039;&#039;&#039; with varying degrees of specification. For example: Knocking out an AI named &amp;quot;Roy&amp;quot;. Not being seen by the ANY enemy. (less examples, should cover this in the coming up tutorial.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components Flags&#039;&#039;&#039;:Components have their own special flags as well. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Satisfied at Start&#039;&#039;:For some objectives it makes sense to have them done at start. For example: Not killing anyone.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Irreversible&#039;&#039;:One the objective has reached a certain state, it will stay that way and not change. (more elaboration, an example?)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Boolean NOT&#039;&#039;:Adds &amp;quot;NOT&amp;quot; to your component so the player has to do the opposite of said objective. For example: Do NOT kill any AI on team 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Player Responsible&#039;&#039;:The player MUST follow through with the objective himself. For example:The player must kill the zombie to complete the objective, instead of letting something else take care of it.&lt;br /&gt;
&lt;br /&gt;
Now it might seem a bit crazy trying to take all of this in at once, so lets start with something easy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
&lt;br /&gt;
 *Note:This tutorial is assuming you&#039;ve learned the basics for using Darkradiant.&lt;br /&gt;
&lt;br /&gt;
You should already be in Darkradiant. Start a new map if you&#039;re in an existing one. &lt;br /&gt;
&lt;br /&gt;
We&#039;ll start with the basic cube room. Nothing fancy, just make a room, stick in a player start, a light and plaster on some textures.&lt;br /&gt;
[[Image:cube.png|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
For this tutorial, our player is going to have to knock out a guard and steal a trophy.&lt;br /&gt;
&lt;br /&gt;
So lets start with adding the AI, I chose atdm:ai_citywatch. Select him, go into the entity editor (&amp;quot;N&amp;quot;) and change his NAME to &amp;quot;Roy&amp;quot; (without quotes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now its time to open up our objectives editor. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Objmenu.png|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
Now as you just learned, click add, click the atdm:target_addobjectives_1 and click add again.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Edit Objective&#039;&#039; window should be open now. Clear the text under &#039;&#039;&#039;Description&#039;&#039;&#039; and type in &amp;quot;Knock out the guard&amp;quot;. Set the initial state to &#039;Complete&#039;. Check the &#039;&#039;&#039;Mandatory&#039;&#039;&#039; and &#039;&#039;&#039;Visible&#039;&#039;&#039; flags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Time for a new step, click the [[Image:%2Badd.png]] button under &#039;&#039;&#039;Components&#039;&#039;&#039; and the word &amp;quot;Kill&amp;quot; should appear. Select it and you will see some more options. Under &#039;&#039;&#039;Type&#039;&#039;&#039; select &amp;quot;AI is knocked out&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
under &#039;&#039;&#039;Knockout target:&#039;&#039;&#039; select &amp;quot;Name of single entity&amp;quot; and type in the box to the right of it, &amp;quot;roy&amp;quot; (without quotes). Set amount to 1.&lt;br /&gt;
&lt;br /&gt;
Now compare your screen to this, it should be the same.&lt;br /&gt;
[[Image:Editprogress.png|left|]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
If all looks good than click OK.&lt;br /&gt;
&lt;br /&gt;
Its always a good idea to test things to make sure everything is running right. So save your map, get into TDM and load your map.&lt;br /&gt;
&lt;br /&gt;
First, hit ESC and click &#039;&#039;Objectives&#039;&#039;. You should see your objective onscreen.&lt;br /&gt;
[[Image:Onjyes.png]]&lt;br /&gt;
 *NOTE:If you don&#039;t see it on screen, you probably forgot to check the &#039;&#039;&#039;Visible&#039;&#039;&#039; box.&lt;br /&gt;
&lt;br /&gt;
Now its time to test your objective. Exit out of the objectives menu and launch a gas arrow or use the blackjack on poor Roy. When he goes down you should see the words &amp;quot;Objective Complete&amp;quot; appear onscreen and since thats the only objective we&#039;ve added so far you&#039;ll win the mission.&lt;br /&gt;
 *NOTE:If you don&#039;t win nor see the on screen message, go back and try to figure what you did wrong.&lt;br /&gt;
&lt;br /&gt;
If all is well than its time to move on. Exit TDM and go back into Darkradiant. &lt;br /&gt;
&lt;br /&gt;
Now it is time to add the trophy. In your map add a trophy somewhere, I used the entity loot&amp;gt;atdm:loot_trophy_old&lt;br /&gt;
change its name to &amp;quot;trophy&amp;quot; and go back into objectives editor.&lt;br /&gt;
&lt;br /&gt;
Add another objective and edit it. &lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039; should be &#039;&#039;Steal the Trophy&#039;&#039;. State is &#039;&#039;Complete&#039;&#039;, &#039;&#039;&#039;Flags&#039;&#039;&#039; should be &#039;&#039;Mandatory&#039;&#039; and &#039;&#039;Visible&#039;&#039;. Click ADD and select &#039;&#039;&#039;Player possesses item&#039;&#039;. Change &#039;&#039;&#039;Item:&#039;&#039;&#039; to &#039;&#039;Name of single entity&#039;&#039; and type in the box to right, &amp;quot;trophy&amp;quot;. Change the amount to &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Your objective should look like this.&lt;br /&gt;
[[Image:Trophyedit.PNG|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
Since this is a tutorial this map is very small and very basic so we are tossing all pre-thought and planning for the objectives out the window. As maps get bigger, more elaborate, complex, so too will the objectives be to suit the level. You might want to the trophy in a vault. Maybe the guards will be patrolling. &lt;br /&gt;
&lt;br /&gt;
Save your map and load it up in TDM. Look at the objectives menu to see if the fresh addition is there. And than take it and see if it completes the objective.&lt;br /&gt;
&lt;br /&gt;
Congratulations!&lt;br /&gt;
&lt;br /&gt;
You now have a basic understanding of how the objectives editor works. For more advanced work, look for more tutorials in the future or go on the forums.&lt;br /&gt;
&lt;br /&gt;
== FAQs &amp;amp; Examples ==&lt;br /&gt;
&lt;br /&gt;
===KO objective but AI already dead!===&lt;br /&gt;
&lt;br /&gt;
;*If I kill the guard I don&#039;t fail the mission, but I can&#039;t complete it either.&lt;br /&gt;
:Answer: I&#039;ll quote Ishtvan for this one. &lt;br /&gt;
:&#039;&#039;&amp;quot;The system is not smart enough to know automatically that someone who&#039;s killed can&#039;t be KO&#039;d later, so if you want it to fail when they&#039;re killed, you have to put that in specifically. Note that this doesn&#039;t have to be a whole &#039;nother objective, it can be a component of the KO objective, so you have two components, KO them, and don&#039;t kill them. We could potentially make this automatic later on, but that&#039;s the way it is right now.&amp;quot;&#039;&#039;&lt;br /&gt;
:Until this is fixed, I&#039;d recommend making a knockout objective optional, unless you want to put in the kill component.&lt;br /&gt;
&lt;br /&gt;
===Kill objective thwarted by another AI===&lt;br /&gt;
&lt;br /&gt;
;*I put a monster in my map and he killed the guard, yet I still passed/failed the objective.&lt;br /&gt;
: Answer: Check the &#039;&#039;&#039;Player Responsible&#039;&#039;&#039; Flag, this means that the player MUST do it himself in order to get credit.&lt;br /&gt;
&lt;br /&gt;
===Leak caused by Objectives Entity===&lt;br /&gt;
&lt;br /&gt;
;*Help! My objectives entity is outside the map and I have a leak! I can&#039;t find it! I even used the pointfile!! help!!!!&lt;br /&gt;
: Answer: The objectives entity is a very small, yellow cube that is spawned around the origin. Its about the size of a light entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How to directly trigger an objective or component to complete===&lt;br /&gt;
If the actions that the player has to do in a mission are not directly covered by the normal objectives properties, for example, the player must open a door, then objectives can be triggered to complete by any target entity.&lt;br /&gt;
&lt;br /&gt;
In the objectives editor, to your objective add a component type : custom script. (this might just say &#039;custom&#039; or similar.) The objective now just awaits some external trigger or script in the game to set it complete. To do this with a trigger...&lt;br /&gt;
&lt;br /&gt;
* Create a new entity : &#039;&#039;target_tdm_setobjectivestate&#039;&#039;&lt;br /&gt;
* Give it the properties/values...&amp;lt;br&amp;gt;obj_idN O &amp;lt;br&amp;gt;... where O is the objective number and N is simply the obj_id number if you want several on the same entity. Just use obj_id1 if you only want one.&amp;lt;br&amp;gt; obj_state 1&lt;br /&gt;
&lt;br /&gt;
You must then target that from some triggering entity like a button, lever, door (see [[Doors]]) or you can trigger it from stims &amp;amp; responses or from a custom script.&lt;br /&gt;
&lt;br /&gt;
In a similar way, you can trigger individual components using entity target_tdm_setobjective_component_state. In this give it the properties/values...&lt;br /&gt;
&lt;br /&gt;
* Create a new entity : target_tdm_setobjective_component_state&lt;br /&gt;
* Give it the properties/values...&amp;lt;br&amp;gt;comp_idN C&amp;lt;br&amp;gt;... where N is just this ID number and C is the component number.&amp;lt;br&amp;gt;obj_state 1&lt;br /&gt;
&lt;br /&gt;
Again, trigger that as above.&lt;br /&gt;
&lt;br /&gt;
===How to make my invisible objective become visible to the player later===&lt;br /&gt;
&lt;br /&gt;
There are two methods. One way &#039;&#039;adds&#039;&#039; a new objective at the end of the current list of objectives. The other way makes an existing objective visible. This is the one for general use because it appears in the position in the list where you first put it rather than on the end. It makes sense to have your objectives in some kind of order so for example, you might have right at the end of the list &#039;when all else is done, escape from Castle...&#039;&lt;br /&gt;
 &lt;br /&gt;
====To make an invisible objective visible later====&lt;br /&gt;
&lt;br /&gt;
* Create a new entity : &#039;&#039;atdm:target_setobjective_visibility&#039;&#039;&lt;br /&gt;
* Give it the properties/values...&amp;lt;br&amp;gt;obj_idN O &amp;lt;br&amp;gt;... where O is the objective number and N is simply the obj_id number if you want several on the same entity. Just use obj_id1 if you only want one.&lt;br /&gt;
&lt;br /&gt;
You must then target that from some triggering entity like a button, lever, door (see [[Doors]]) or you can trigger it from stims &amp;amp; responses or from a custom script. Note that sometimes it helps to put in a delay (see below.) It will by default then become visible. You can do it the other way round and make an objective become invisible (remember it is still active by default) by changing the spawnarg value 1 to...&lt;br /&gt;
&lt;br /&gt;
obj_visibility 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====To add a new objective on the end of the list====&lt;br /&gt;
&lt;br /&gt;
* In the objectives editor use the top Add button to create a new &#039;&#039;atdm:target_addobjectives&#039;&#039; entity.&lt;br /&gt;
* Add the new objective(s) just as described above&lt;br /&gt;
* Find the atdm:target_addobjectives entity in the map (you normally need to check it is not in the void anyway plus you might like to place it near where it makes sense the new objective shows.&lt;br /&gt;
* Add to the atdm:target_addobjectives entity the property &#039;&#039;wait_for_trigger&#039;&#039; and the value 1. Otherwise it will show right at the start of the game.&lt;br /&gt;
* You then need to target that atdm:target_addobjectives from some triggering entity like a button, lever, door (see [[Doors]]) or you can trigger it from stims &amp;amp; responses or from a custom script. Note that it may help to include a delay (see below.)&lt;br /&gt;
* The new objective(s) will show as added at the end of the list of objectives when triggered.&lt;br /&gt;
&lt;br /&gt;
====Inserting a delay before new objective shows====&lt;br /&gt;
&lt;br /&gt;
It often helps to include a delay from triggering before the &#039;&#039;New Objective&#039;&#039; message shows. To do this:&lt;br /&gt;
&lt;br /&gt;
* Create a &#039;&#039;trigger_relay&#039;&#039; entity.&lt;br /&gt;
* Give it the properties:&lt;br /&gt;
** &#039;&#039;wait -1&#039;&#039;&lt;br /&gt;
** &#039;&#039;delay N&#039;&#039; (replace N with delay time in seconds)&lt;br /&gt;
** &#039;&#039;target&#039;&#039; &amp;lt;the name of the atdm:target_addobjectives&amp;gt;&lt;br /&gt;
** Make your original trigger target this relay instead of the atdm:target_addobjectives directly.&lt;br /&gt;
&lt;br /&gt;
===Completing Objective Components in a Certain Order===&lt;br /&gt;
&lt;br /&gt;
Suppose you want the player to complete two or more parts of an objective but in a certain order. Example : &amp;quot;Close the office door then open the safe.&amp;quot; In that example you want the player to close the door first not just do both in any order. If you just make the two components they default to a Success Logic of 1 AND 2 which means the player must do both to complete the objective but it does not matter which order. So if the player opens the safe and then closes the office door then the objective will check off - perhaps not what you want. This is how to do it if you want to force the order in which the player does the components...&lt;br /&gt;
&lt;br /&gt;
There are two possible outcomes :&lt;br /&gt;
&lt;br /&gt;
If you want the mission to &#039;&#039;&#039;fail&#039;&#039;&#039; set the failure logic for that objective to&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOT(1) AND 2&#039;&#039;, i.e., door is open AND safe is open.&lt;br /&gt;
&lt;br /&gt;
But if you just want the objective to not complete (so the player can try again)...&lt;br /&gt;
&lt;br /&gt;
Make &#039;&#039;&#039;two&#039;&#039;&#039; objectives, both using the door and safe components - the first is invisible but still active:&lt;br /&gt;
&lt;br /&gt;
# Objective 1: success logic: Door closed, safe not open = 1 AND NOT(2)&lt;br /&gt;
# Objective 2: success logic: Door closed, safe open = 1 AND 2&amp;lt;br&amp;gt;(Objective 2 enabling objectives = 1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===An Objective to place an object in a Certain Location===&lt;br /&gt;
&lt;br /&gt;
To make an objective where an object has to be placed somewhere:&lt;br /&gt;
&lt;br /&gt;
* Create a brush where you want the object to be put. This might be the size of a room, a street, or a chest or wherever you want the object.&lt;br /&gt;
* Texture it with common &amp;gt; clip&lt;br /&gt;
* With the brush selected, Create entity &amp;gt; info &amp;gt; info_tdm_objective_location&lt;br /&gt;
* Give this entity a name you can remember like BodyDrop. Write it down or in a text editor&lt;br /&gt;
* Give your object, eg, a ragdoll, a name, eg, JakesCorpse and note it down.&lt;br /&gt;
* If it is not the player, then give it the property objective_ent and set it to 1&lt;br /&gt;
* Menu &amp;gt; Map &amp;gt; Objectives&lt;br /&gt;
* If you haven&#039;t yet got any objectives then click the + Add button at top right.&lt;br /&gt;
* This creates a atdm:target_addobjectives entity so later make sure it is not in the void or you get a leak. Put it somewhere convenient. It is not visible in game.&lt;br /&gt;
* Select the atdm:target_addobjectives in the Objectives entities list top left&lt;br /&gt;
* In the objectives list below click the +Add button on the right.&lt;br /&gt;
* This creates a new objective in the objectives list. Select it.&lt;br /&gt;
* Click the edit button on the right.&lt;br /&gt;
* Type a description near the top, eg, Carry Jake&#039;s body back to X and drop it in the soandso&lt;br /&gt;
* In the components list further down click the +Add button on the right.&lt;br /&gt;
* This creates a default Kill objective. Select it. Click the Edit button.&lt;br /&gt;
* Just below it click the Type bar and from the list that show select &#039;Item is in location&#039;&lt;br /&gt;
* Further down click the bar below &#039;Entity&#039; and select &#039;Name of single entity&#039;&lt;br /&gt;
* On the right of that type or paste in the name of the object (eg ragdoll) entity eg, JakesCorpse&lt;br /&gt;
* Below, click the bar below Location and select &#039;Name of single entity&#039;&lt;br /&gt;
* On the right of that type or paste in the location entity name you gave above, eg, BodyDrop&lt;br /&gt;
* Click the OK button and OK again and save your map.&lt;br /&gt;
&lt;br /&gt;
===Technical info===&lt;br /&gt;
&lt;br /&gt;
;*I have some other questions about objectives&lt;br /&gt;
: Answer:This article talks about more specific, more technical and advanced work. [[Objectives]]&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}} {{darkradiant}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Objectives_Editor&amp;diff=10237</id>
		<title>Objectives Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Objectives_Editor&amp;diff=10237"/>
		<updated>2010-07-21T02:01:57Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Adding Objectives Entities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Written by HappyCheeze and Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
The objectives editor is a very useful tool located inside Darkradiant (Version 0.9.7 or later) that allows the map author to set objectives or goals that the player must do in order to win the level. The opposite is also true, the author can set restrictions that the player must adhere to, or will fail the mission.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding Objectives Entities==&lt;br /&gt;
&lt;br /&gt;
 IMPORTANT: The add objectives entity has been renamed to atdm:target_addobjectives so ignore any reference to the old name target_tdm_addobjectives in the images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To access the objectives editor once inside Darkradiant, click the pull-down menu Map&amp;gt;Objectives... &lt;br /&gt;
[[Image:Objmenu.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Upon clicking you will see a separate window that looks like this. &lt;br /&gt;
[[Image:Objedblank.png|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
To start things off, click the &lt;br /&gt;
[[Image:%2Badd.png]]Button&lt;br /&gt;
&lt;br /&gt;
[[Image:Msnobjadd.png]]&lt;br /&gt;
&lt;br /&gt;
This will create an Entity that stores all of the objectives information that will you be editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we&#039;ve spawned our objectives entity,&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Image:Objentity.png]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
Notice the numbers in the “[]”&#039;s. Those are the entities&#039; coordinates on the map. These numbers will most likely be different from yours.  When the objectives entity spawns it is placed randomly around the origin (As of 0.9.7 this is how it is, it might change in future versions, but for now this is how it is).&lt;br /&gt;
&lt;br /&gt;
 *Note:Be mindful that sometimes this entity will spawn outside your map and into the void. This will cause a leak, so look around the origin.&lt;br /&gt;
&lt;br /&gt;
 **Alternatively you can right-click in an orthogonal view, create entity, Targets/atdm:target_addobjectives.&lt;br /&gt;
This will create a small yellow box like placing any entity or object. Then when you open the objectives editor it will be in the list.&lt;br /&gt;
Good to do this where the players starts, it will always be easy to find.&lt;br /&gt;
&lt;br /&gt;
==Adding Objectives==&lt;br /&gt;
&lt;br /&gt;
Now we&#039;re ready to start adding some objectives.&lt;br /&gt;
&lt;br /&gt;
Click the second [[Image:%2Badd.png]] Button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Newobj1.png|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
Under Objectives you&#039;ll notice there&#039;s a new Objective. You can add more as needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Editing Objectives==&lt;br /&gt;
&lt;br /&gt;
Click an objective in the list than click [[Image:Edit.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will bring up this window.&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Image:Editobj.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we&#039;re editing our first objective. It may seem a little confusing at a first glance but a lot of it is self explanitory and a little practice will take you a long way.&lt;br /&gt;
&lt;br /&gt;
So what do all these various lines and checkboxes do? &lt;br /&gt;
They effect the objective components at the bottom.&lt;br /&gt;
&lt;br /&gt;
What do they all mean?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: This what the player will read in the objectives menu. For example: “Steal the scepter”, “Don&#039;t kill any guards”, “Get back to where you entered the warehouse”. Its explaining what you want to player read so he/she knows what to do. A good rule to follow is to make them short and to the point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;:These refer to Easy/Medium/Hard difficulty levels. If the author wishes, they can be different for each difficulty. For example: on Hard difficulty the player will have to avoid being seen. On Easy the player will only have to steal 200 gold at the minimum. All Levels means that the objectives that are checked under this will be there regardless of difficulty. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Initial State&#039;&#039;&#039;:This is the condition of the objective at mission start. There are four options. Complete, Incomplete, Invalid, Failed. Typically the objective will be incomplete and the player has to complete it in-game to fulfil the objective.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flags&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Mandatory&#039;&#039; means the objective in question is necessary to complete the game. If it is unchecked than the objective will be optional. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ongoing&#039;&#039; means that the objective won&#039;t show completion until the end of the mission. Use this with do NOT type objectives, eg, do NOT kill.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Irreversible&#039;&#039; means that once the objective is done it will not UNcheck even if logically in the game it becomes no longer true. Example: get a special object. If the player later drops it normally the objective will then UNcheck because the player no longer has got it. But sometimes you don&#039;t want it to reverse. Example: get magic skull. New objective: throw it in magic pool. Player no longer has &#039;got&#039; the skull so normally it would then UNcheck the objective. Make it irreversible and it won&#039;t. Another example is to go to a location. If the player then leaves it would UNcheck so make it irreversible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Visible&#039;&#039; means that objective will be visible in the objectives menu ingame. If unchecked than there will be no objective shown. (The objective will still work, it just won&#039;t show up in the menu).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabling Objectives:&#039;&#039;&#039;&lt;br /&gt;
These are other objectives that must be completed before this objective can be done. Example: &#039;&#039;&amp;quot;When you have completed your main objectives, escape from the castle.&amp;quot;&#039;&#039; So, those main objectives would be the enabling objectives and if the player escapes the castle without doing them first then the escape objective does not check off either.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logic Success:&#039;&#039;&#039;&lt;br /&gt;
These are only needed if you have more than one type component. For example, if you can escape the castle by either of two routes this would be an objective with two go to &#039;&#039;location&#039;&#039; components. These components would be numbered 1 and 2 so the logic success would be 1 OR 2 since either would work. If however you wanted say the player to escape the castle via a special corridor then the player has to go to both corridor location and exit castle location so that would be logic success 1 AND 2. Those components need not necessarily be the same type - the player might be required to pull a lever AND escape for example (even though he could escape without pulling the lever but you don&#039;t want him to.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scripts&#039;&#039;&#039;: Under Construction&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components&#039;&#039;&#039;: These are the type of objective you want, eg, steal, kill - or rather &#039;types&#039; because each objective can have more than one (eg, go to exit A or go to exit B or it could be go to exit A AND go to exit B! - see logic success) These type components are used by the editor to specify what objectives need to be done. The map author can choose from a variety of options under &#039;&#039;&#039;Type&#039;&#039;&#039; with varying degrees of specification. For example: Knocking out an AI named &amp;quot;Roy&amp;quot;. Not being seen by the ANY enemy. (less examples, should cover this in the coming up tutorial.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components Flags&#039;&#039;&#039;:Components have their own special flags as well. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Satisfied at Start&#039;&#039;:For some objectives it makes sense to have them done at start. For example: Not killing anyone.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Irreversible&#039;&#039;:One the objective has reached a certain state, it will stay that way and not change. (more elaboration, an example?)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Boolean NOT&#039;&#039;:Adds &amp;quot;NOT&amp;quot; to your component so the player has to do the opposite of said objective. For example: Do NOT kill any AI on team 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Player Responsible&#039;&#039;:The player MUST follow through with the objective himself. For example:The player must kill the zombie to complete the objective, instead of letting something else take care of it.&lt;br /&gt;
&lt;br /&gt;
Now it might seem a bit crazy trying to take all of this in at once, so lets start with something easy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
&lt;br /&gt;
 *Note:This tutorial is assuming you&#039;ve learned the basics for using Darkradiant.&lt;br /&gt;
&lt;br /&gt;
You should already be in Darkradiant. Start a new map if you&#039;re in an existing one. &lt;br /&gt;
&lt;br /&gt;
We&#039;ll start with the basic cube room. Nothing fancy, just make a room, stick in a player start, a light and plaster on some textures.&lt;br /&gt;
[[Image:cube.png|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
For this tutorial, our player is going to have to knock out a guard and steal a trophy.&lt;br /&gt;
&lt;br /&gt;
So lets start with adding the AI, I chose atdm:ai_citywatch. Select him, go into the entity editor (&amp;quot;N&amp;quot;) and change his NAME to &amp;quot;Roy&amp;quot; (without quotes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now its time to open up our objectives editor. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Objmenu.png|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
Now as you just learned, click add, click the atdm:target_addobjectives_1 and click add again.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Edit Objective&#039;&#039; window should be open now. Clear the text under &#039;&#039;&#039;Description&#039;&#039;&#039; and type in &amp;quot;Knock out the guard&amp;quot;. Set the initial state to &#039;Complete&#039;. Check the &#039;&#039;&#039;Mandatory&#039;&#039;&#039; and &#039;&#039;&#039;Visible&#039;&#039;&#039; flags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Time for a new step, click the [[Image:%2Badd.png]] button under &#039;&#039;&#039;Components&#039;&#039;&#039; and the word &amp;quot;Kill&amp;quot; should appear. Select it and you will see some more options. Under &#039;&#039;&#039;Type&#039;&#039;&#039; select &amp;quot;AI is knocked out&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
under &#039;&#039;&#039;Knockout target:&#039;&#039;&#039; select &amp;quot;Name of single entity&amp;quot; and type in the box to the right of it, &amp;quot;roy&amp;quot; (without quotes). Set amount to 1.&lt;br /&gt;
&lt;br /&gt;
Now compare your screen to this, it should be the same.&lt;br /&gt;
[[Image:Editprogress.png|left|]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
If all looks good than click OK.&lt;br /&gt;
&lt;br /&gt;
Its always a good idea to test things to make sure everything is running right. So save your map, get into TDM and load your map.&lt;br /&gt;
&lt;br /&gt;
First, hit ESC and click &#039;&#039;Objectives&#039;&#039;. You should see your objective onscreen.&lt;br /&gt;
[[Image:Onjyes.png]]&lt;br /&gt;
 *NOTE:If you don&#039;t see it on screen, you probably forgot to check the &#039;&#039;&#039;Visible&#039;&#039;&#039; box.&lt;br /&gt;
&lt;br /&gt;
Now its time to test your objective. Exit out of the objectives menu and launch a gas arrow or use the blackjack on poor Roy. When he goes down you should see the words &amp;quot;Objective Complete&amp;quot; appear onscreen and since thats the only objective we&#039;ve added so far you&#039;ll win the mission.&lt;br /&gt;
 *NOTE:If you don&#039;t win nor see the on screen message, go back and try to figure what you did wrong.&lt;br /&gt;
&lt;br /&gt;
If all is well than its time to move on. Exit TDM and go back into Darkradiant. &lt;br /&gt;
&lt;br /&gt;
Now it is time to add the trophy. In your map add a trophy somewhere, I used the entity loot&amp;gt;atdm:loot_trophy_old&lt;br /&gt;
change its name to &amp;quot;trophy&amp;quot; and go back into objectives editor.&lt;br /&gt;
&lt;br /&gt;
Add another objective and edit it. &lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039; should be &#039;&#039;Steal the Trophy&#039;&#039;. State is &#039;&#039;Complete&#039;&#039;, &#039;&#039;&#039;Flags&#039;&#039;&#039; should be &#039;&#039;Mandatory&#039;&#039; and &#039;&#039;Visible&#039;&#039;. Click ADD and select &#039;&#039;&#039;Player possesses item&#039;&#039;. Change &#039;&#039;&#039;Item:&#039;&#039;&#039; to &#039;&#039;Name of single entity&#039;&#039; and type in the box to right, &amp;quot;trophy&amp;quot;. Change the amount to &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Your objective should look like this.&lt;br /&gt;
[[Image:Trophyedit.PNG|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
Since this is a tutorial this map is very small and very basic so we are tossing all pre-thought and planning for the objectives out the window. As maps get bigger, more elaborate, complex, so too will the objectives be to suit the level. You might want to the trophy in a vault. Maybe the guards will be patrolling. &lt;br /&gt;
&lt;br /&gt;
Save your map and load it up in TDM. Look at the objectives menu to see if the fresh addition is there. And than take it and see if it completes the objective.&lt;br /&gt;
&lt;br /&gt;
Congratulations!&lt;br /&gt;
&lt;br /&gt;
You now have a basic understanding of how the objectives editor works. For more advanced work, look for more tutorials in the future or go on the forums.&lt;br /&gt;
&lt;br /&gt;
== FAQs &amp;amp; Examples ==&lt;br /&gt;
&lt;br /&gt;
===KO objective but AI already dead!===&lt;br /&gt;
&lt;br /&gt;
;*If I kill the guard I don&#039;t fail the mission, but I can&#039;t complete it either.&lt;br /&gt;
:Answer: I&#039;ll quote Ishtvan for this one. &lt;br /&gt;
:&#039;&#039;&amp;quot;The system is not smart enough to know automatically that someone who&#039;s killed can&#039;t be KO&#039;d later, so if you want it to fail when they&#039;re killed, you have to put that in specifically. Note that this doesn&#039;t have to be a whole &#039;nother objective, it can be a component of the KO objective, so you have two components, KO them, and don&#039;t kill them. We could potentially make this automatic later on, but that&#039;s the way it is right now.&amp;quot;&#039;&#039;&lt;br /&gt;
:Until this is fixed, I&#039;d recommend making a knockout objective optional, unless you want to put in the kill component.&lt;br /&gt;
&lt;br /&gt;
===Kill objective thwarted by another AI===&lt;br /&gt;
&lt;br /&gt;
;*I put a monster in my map and he killed the guard, yet I still passed/failed the objective.&lt;br /&gt;
: Answer: Check the &#039;&#039;&#039;Player Responsible&#039;&#039;&#039; Flag, this means that the player MUST do it himself in order to get credit.&lt;br /&gt;
&lt;br /&gt;
===Leak caused by Objectives Entity===&lt;br /&gt;
&lt;br /&gt;
;*Help! My objectives entity is outside the map and I have a leak! I can&#039;t find it! I even used the pointfile!! help!!!!&lt;br /&gt;
: Answer: The objectives entity is a very small, yellow cube that is spawned around the origin. Its about the size of a light entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How to directly trigger an objective or component to complete===&lt;br /&gt;
If the actions that the player has to do in a mission are not directly covered by the normal objectives properties, for example, the player must open a door, then objectives can be triggered to complete by any target entity.&lt;br /&gt;
&lt;br /&gt;
In the objectives editor, to your objective add a component type : custom script. (this might just say &#039;custom&#039; or similar.) The objective now just awaits some external trigger or script in the game to set it complete. To do this with a trigger...&lt;br /&gt;
&lt;br /&gt;
* Create a new entity : &#039;&#039;target_tdm_setobjectivestate&#039;&#039;&lt;br /&gt;
* Give it the properties/values...&amp;lt;br&amp;gt;obj_idN O &amp;lt;br&amp;gt;... where O is the objective number and N is simply the obj_id number if you want several on the same entity. Just use obj_id1 if you only want one.&amp;lt;br&amp;gt; obj_state 1&lt;br /&gt;
&lt;br /&gt;
You must then target that from some triggering entity like a button, lever, door (see [[Doors]]) or you can trigger it from stims &amp;amp; responses or from a custom script.&lt;br /&gt;
&lt;br /&gt;
In a similar way, you can trigger individual components using entity target_tdm_setobjective_component_state. In this give it the properties/values...&lt;br /&gt;
&lt;br /&gt;
* Create a new entity : target_tdm_setobjective_component_state&lt;br /&gt;
* Give it the properties/values...&amp;lt;br&amp;gt;comp_idN C&amp;lt;br&amp;gt;... where N is just this ID number and C is the component number.&amp;lt;br&amp;gt;obj_state 1&lt;br /&gt;
&lt;br /&gt;
Again, trigger that as above.&lt;br /&gt;
&lt;br /&gt;
===How to make my invisible objective become visible to the player later===&lt;br /&gt;
&lt;br /&gt;
There are two methods. One way &#039;&#039;adds&#039;&#039; a new objective at the end of the current list of objectives. The other way makes an existing objective visible. This is the one for general use because it appears in the position in the list where you first put it rather than on the end. It makes sense to have your objectives in some kind of order so for example, you might have right at the end of the list &#039;when all else is done, escape from Castle...&#039;&lt;br /&gt;
 &lt;br /&gt;
====To make an invisible objective visible later====&lt;br /&gt;
&lt;br /&gt;
* Create a new entity : &#039;&#039;atdm:target_setobjective_visibility&#039;&#039;&lt;br /&gt;
* Give it the properties/values...&amp;lt;br&amp;gt;obj_idN O &amp;lt;br&amp;gt;... where O is the objective number and N is simply the obj_id number if you want several on the same entity. Just use obj_id1 if you only want one.&lt;br /&gt;
&lt;br /&gt;
You must then target that from some triggering entity like a button, lever, door (see [[Doors]]) or you can trigger it from stims &amp;amp; responses or from a custom script. Note that sometimes it helps to put in a delay (see below.) It will by default then become visible. You can do it the other way round and make an objective become invisible (remember it is still active by default) by changing the spawnarg value 1 to...&lt;br /&gt;
&lt;br /&gt;
obj_visibility 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====To add a new objective on the end of the list====&lt;br /&gt;
&lt;br /&gt;
* In the objectives editor use the top Add button to create a new &#039;&#039;atdm:target_addobjectives&#039;&#039; entity.&lt;br /&gt;
* Add the new objective(s) just as described above&lt;br /&gt;
* Find the atdm:target_addobjectives entity in the map (you normally need to check it is not in the void anyway plus you might like to place it near where it makes sense the new objective shows.&lt;br /&gt;
* Add to the atdm:target_addobjectives entity the property &#039;&#039;wait_for_trigger&#039;&#039; and the value 1. Otherwise it will show right at the start of the game.&lt;br /&gt;
* You then need to target that atdm:target_addobjectives from some triggering entity like a button, lever, door (see [[Doors]]) or you can trigger it from stims &amp;amp; responses or from a custom script. Note that it may help to include a delay (see below.)&lt;br /&gt;
* The new objective(s) will show as added at the end of the list of objectives when triggered.&lt;br /&gt;
&lt;br /&gt;
====Inserting a delay before new objective shows====&lt;br /&gt;
&lt;br /&gt;
It often helps to include a delay from triggering before the &#039;&#039;New Objective&#039;&#039; message shows. To do this:&lt;br /&gt;
&lt;br /&gt;
* Create a &#039;&#039;trigger_relay&#039;&#039; entity.&lt;br /&gt;
* Give it the properties:&lt;br /&gt;
** &#039;&#039;wait -1&#039;&#039;&lt;br /&gt;
** &#039;&#039;delay N&#039;&#039; (replace N with delay time in seconds)&lt;br /&gt;
** &#039;&#039;target&#039;&#039; &amp;lt;the name of the atdm:target_addobjectives&amp;gt;&lt;br /&gt;
** Make your original trigger target this relay instead of the atdm:target_addobjectives directly.&lt;br /&gt;
&lt;br /&gt;
===Completing Objective Components in a Certain Order===&lt;br /&gt;
&lt;br /&gt;
Suppose you want the player to complete two or more parts of an objective but in a certain order. Example : &amp;quot;Close the office door then open the safe.&amp;quot; In that example you want the player to close the door first not just do both in any order. If you just make the two components they default to a Success Logic of 1 AND 2 which means the player must do both to complete the objective but it does not matter which order. So if the player opens the safe and then closes the office door then the objective will check off - perhaps not what you want. This is how to do it if you want to force the order in which the player does the components...&lt;br /&gt;
&lt;br /&gt;
There are two possible outcomes :&lt;br /&gt;
&lt;br /&gt;
If you want the mission to &#039;&#039;&#039;fail&#039;&#039;&#039; set the failure logic for that objective to&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOT(1) AND 2&#039;&#039;, i.e., door is open AND safe is open.&lt;br /&gt;
&lt;br /&gt;
But if you just want the objective to not complete (so the player can try again)...&lt;br /&gt;
&lt;br /&gt;
Make &#039;&#039;&#039;two&#039;&#039;&#039; objectives, both using the door and safe components - the first is invisible but still active:&lt;br /&gt;
&lt;br /&gt;
# Objective 1: success logic: Door closed, safe not open = 1 AND NOT(2)&lt;br /&gt;
# Objective 2: success logic: Door closed, safe open = 1 AND 2&amp;lt;br&amp;gt;(Objective 2 enabling objectives = 1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===An Objective to place an object in a Certain Location===&lt;br /&gt;
&lt;br /&gt;
To make an objective where an object has to be placed somewhere:&lt;br /&gt;
&lt;br /&gt;
* Create a brush where you want the object to be put. This might be the size of a room, a street, or a chest or wherever you want the object.&lt;br /&gt;
* Texture it with common &amp;gt; clip&lt;br /&gt;
* With the brush selected, Create entity &amp;gt; info &amp;gt; info_tdm_objective_location&lt;br /&gt;
* Give this entity a name you can remember like BodyDrop. Write it down or in a text editor&lt;br /&gt;
* Give your object, eg, a ragdoll, a name, eg, JakesCorpse and note it down.&lt;br /&gt;
* If it is not the player, then give it the property objective_ent and set it to 1&lt;br /&gt;
* Menu &amp;gt; Map &amp;gt; Objectives&lt;br /&gt;
* If you haven&#039;t yet got any objectives then click the + Add button at top right.&lt;br /&gt;
* This creates a atdm:target_addobjectives entity so later make sure it is not in the void or you get a leak. Put it somewhere convenient. It is not visible in game.&lt;br /&gt;
* Select the atdm:target_addobjectives in the Objectives entities list top left&lt;br /&gt;
* In the objectives list below click the +Add button on the right.&lt;br /&gt;
* This creates a new objective in the objectives list. Select it.&lt;br /&gt;
* Click the edit button on the right.&lt;br /&gt;
* Type a description near the top, eg, Carry Jake&#039;s body back to X and drop it in the soandso&lt;br /&gt;
* In the components list further down click the +Add button on the right.&lt;br /&gt;
* This creates a default Kill objective. Select it. Click the Edit button.&lt;br /&gt;
* Just below it click the Type bar and from the list that show select &#039;Item is in location&#039;&lt;br /&gt;
* Further down click the bar below &#039;Entity&#039; and select &#039;Name of single entity&#039;&lt;br /&gt;
* On the right of that type or paste in the name of the object (eg ragdoll) entity eg, JakesCorpse&lt;br /&gt;
* Below, click the bar below Location and select &#039;Name of single entity&#039;&lt;br /&gt;
* On the right of that type or paste in the location entity name you gave above, eg, BodyDrop&lt;br /&gt;
* Click the OK button and OK again and save your map.&lt;br /&gt;
&lt;br /&gt;
===Technical info===&lt;br /&gt;
&lt;br /&gt;
;*I have some other questions about objectives&lt;br /&gt;
: Answer:This article talks about more specific, more technical and advanced work. [[Objectives]]&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}} {{darkradiant}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Objectives_Editor&amp;diff=10236</id>
		<title>Objectives Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Objectives_Editor&amp;diff=10236"/>
		<updated>2010-07-21T02:01:19Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Written by HappyCheeze and Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
The objectives editor is a very useful tool located inside Darkradiant (Version 0.9.7 or later) that allows the map author to set objectives or goals that the player must do in order to win the level. The opposite is also true, the author can set restrictions that the player must adhere to, or will fail the mission.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding Objectives Entities==&lt;br /&gt;
&lt;br /&gt;
 IMPORTANT: The add objectives entity has been renamed to atdm:target_addobjectives so ignore any reference to the old name target_tdm_addobjectives in the images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To access the objectives editor once inside Darkradiant, click the pull-down menu Map&amp;gt;Objectives... &lt;br /&gt;
[[Image:Objmenu.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Upon clicking you will see a separate window that looks like this. &lt;br /&gt;
[[Image:Objedblank.png|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
To start things off, click the &lt;br /&gt;
[[Image:%2Badd.png]]Button&lt;br /&gt;
&lt;br /&gt;
[[Image:Msnobjadd.png]]&lt;br /&gt;
&lt;br /&gt;
This will create an Entity that stores all of the objectives information that will you be editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we&#039;ve spawned our objectives entity,&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Image:Objentity.png]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
Notice the numbers in the “[]”&#039;s. Those are the entities&#039; coordinates on the map. These numbers will most likely be different from yours.  When the objectives entity spawns it is placed randomly around the origin (As of 0.9.7 this is how it is, it might change in future versions, but for now this is how it is).&lt;br /&gt;
&lt;br /&gt;
 *Note:Be mindful that sometimes this entity will spawn outside your map and into the void. This will cause a leak, so look around the origin.&lt;br /&gt;
&lt;br /&gt;
 **Alternatively you can right-click in an orthogonal view, create entity, Targets/atdm:target_addobjectives. This will create a small yellow box like placing any entity or object. Then when you open the objectives editor it will be in the list. Good to do this where the players starts, it will always be easy to find.&lt;br /&gt;
&lt;br /&gt;
==Adding Objectives==&lt;br /&gt;
&lt;br /&gt;
Now we&#039;re ready to start adding some objectives.&lt;br /&gt;
&lt;br /&gt;
Click the second [[Image:%2Badd.png]] Button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Newobj1.png|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
Under Objectives you&#039;ll notice there&#039;s a new Objective. You can add more as needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Editing Objectives==&lt;br /&gt;
&lt;br /&gt;
Click an objective in the list than click [[Image:Edit.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will bring up this window.&lt;br /&gt;
{{clear}}&lt;br /&gt;
[[Image:Editobj.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we&#039;re editing our first objective. It may seem a little confusing at a first glance but a lot of it is self explanitory and a little practice will take you a long way.&lt;br /&gt;
&lt;br /&gt;
So what do all these various lines and checkboxes do? &lt;br /&gt;
They effect the objective components at the bottom.&lt;br /&gt;
&lt;br /&gt;
What do they all mean?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: This what the player will read in the objectives menu. For example: “Steal the scepter”, “Don&#039;t kill any guards”, “Get back to where you entered the warehouse”. Its explaining what you want to player read so he/she knows what to do. A good rule to follow is to make them short and to the point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;:These refer to Easy/Medium/Hard difficulty levels. If the author wishes, they can be different for each difficulty. For example: on Hard difficulty the player will have to avoid being seen. On Easy the player will only have to steal 200 gold at the minimum. All Levels means that the objectives that are checked under this will be there regardless of difficulty. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Initial State&#039;&#039;&#039;:This is the condition of the objective at mission start. There are four options. Complete, Incomplete, Invalid, Failed. Typically the objective will be incomplete and the player has to complete it in-game to fulfil the objective.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flags&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Mandatory&#039;&#039; means the objective in question is necessary to complete the game. If it is unchecked than the objective will be optional. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ongoing&#039;&#039; means that the objective won&#039;t show completion until the end of the mission. Use this with do NOT type objectives, eg, do NOT kill.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Irreversible&#039;&#039; means that once the objective is done it will not UNcheck even if logically in the game it becomes no longer true. Example: get a special object. If the player later drops it normally the objective will then UNcheck because the player no longer has got it. But sometimes you don&#039;t want it to reverse. Example: get magic skull. New objective: throw it in magic pool. Player no longer has &#039;got&#039; the skull so normally it would then UNcheck the objective. Make it irreversible and it won&#039;t. Another example is to go to a location. If the player then leaves it would UNcheck so make it irreversible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Visible&#039;&#039; means that objective will be visible in the objectives menu ingame. If unchecked than there will be no objective shown. (The objective will still work, it just won&#039;t show up in the menu).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabling Objectives:&#039;&#039;&#039;&lt;br /&gt;
These are other objectives that must be completed before this objective can be done. Example: &#039;&#039;&amp;quot;When you have completed your main objectives, escape from the castle.&amp;quot;&#039;&#039; So, those main objectives would be the enabling objectives and if the player escapes the castle without doing them first then the escape objective does not check off either.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logic Success:&#039;&#039;&#039;&lt;br /&gt;
These are only needed if you have more than one type component. For example, if you can escape the castle by either of two routes this would be an objective with two go to &#039;&#039;location&#039;&#039; components. These components would be numbered 1 and 2 so the logic success would be 1 OR 2 since either would work. If however you wanted say the player to escape the castle via a special corridor then the player has to go to both corridor location and exit castle location so that would be logic success 1 AND 2. Those components need not necessarily be the same type - the player might be required to pull a lever AND escape for example (even though he could escape without pulling the lever but you don&#039;t want him to.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scripts&#039;&#039;&#039;: Under Construction&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components&#039;&#039;&#039;: These are the type of objective you want, eg, steal, kill - or rather &#039;types&#039; because each objective can have more than one (eg, go to exit A or go to exit B or it could be go to exit A AND go to exit B! - see logic success) These type components are used by the editor to specify what objectives need to be done. The map author can choose from a variety of options under &#039;&#039;&#039;Type&#039;&#039;&#039; with varying degrees of specification. For example: Knocking out an AI named &amp;quot;Roy&amp;quot;. Not being seen by the ANY enemy. (less examples, should cover this in the coming up tutorial.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components Flags&#039;&#039;&#039;:Components have their own special flags as well. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Satisfied at Start&#039;&#039;:For some objectives it makes sense to have them done at start. For example: Not killing anyone.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Irreversible&#039;&#039;:One the objective has reached a certain state, it will stay that way and not change. (more elaboration, an example?)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Boolean NOT&#039;&#039;:Adds &amp;quot;NOT&amp;quot; to your component so the player has to do the opposite of said objective. For example: Do NOT kill any AI on team 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Player Responsible&#039;&#039;:The player MUST follow through with the objective himself. For example:The player must kill the zombie to complete the objective, instead of letting something else take care of it.&lt;br /&gt;
&lt;br /&gt;
Now it might seem a bit crazy trying to take all of this in at once, so lets start with something easy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
&lt;br /&gt;
 *Note:This tutorial is assuming you&#039;ve learned the basics for using Darkradiant.&lt;br /&gt;
&lt;br /&gt;
You should already be in Darkradiant. Start a new map if you&#039;re in an existing one. &lt;br /&gt;
&lt;br /&gt;
We&#039;ll start with the basic cube room. Nothing fancy, just make a room, stick in a player start, a light and plaster on some textures.&lt;br /&gt;
[[Image:cube.png|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
For this tutorial, our player is going to have to knock out a guard and steal a trophy.&lt;br /&gt;
&lt;br /&gt;
So lets start with adding the AI, I chose atdm:ai_citywatch. Select him, go into the entity editor (&amp;quot;N&amp;quot;) and change his NAME to &amp;quot;Roy&amp;quot; (without quotes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now its time to open up our objectives editor. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Objmenu.png|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
Now as you just learned, click add, click the atdm:target_addobjectives_1 and click add again.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Edit Objective&#039;&#039; window should be open now. Clear the text under &#039;&#039;&#039;Description&#039;&#039;&#039; and type in &amp;quot;Knock out the guard&amp;quot;. Set the initial state to &#039;Complete&#039;. Check the &#039;&#039;&#039;Mandatory&#039;&#039;&#039; and &#039;&#039;&#039;Visible&#039;&#039;&#039; flags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Time for a new step, click the [[Image:%2Badd.png]] button under &#039;&#039;&#039;Components&#039;&#039;&#039; and the word &amp;quot;Kill&amp;quot; should appear. Select it and you will see some more options. Under &#039;&#039;&#039;Type&#039;&#039;&#039; select &amp;quot;AI is knocked out&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
under &#039;&#039;&#039;Knockout target:&#039;&#039;&#039; select &amp;quot;Name of single entity&amp;quot; and type in the box to the right of it, &amp;quot;roy&amp;quot; (without quotes). Set amount to 1.&lt;br /&gt;
&lt;br /&gt;
Now compare your screen to this, it should be the same.&lt;br /&gt;
[[Image:Editprogress.png|left|]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
If all looks good than click OK.&lt;br /&gt;
&lt;br /&gt;
Its always a good idea to test things to make sure everything is running right. So save your map, get into TDM and load your map.&lt;br /&gt;
&lt;br /&gt;
First, hit ESC and click &#039;&#039;Objectives&#039;&#039;. You should see your objective onscreen.&lt;br /&gt;
[[Image:Onjyes.png]]&lt;br /&gt;
 *NOTE:If you don&#039;t see it on screen, you probably forgot to check the &#039;&#039;&#039;Visible&#039;&#039;&#039; box.&lt;br /&gt;
&lt;br /&gt;
Now its time to test your objective. Exit out of the objectives menu and launch a gas arrow or use the blackjack on poor Roy. When he goes down you should see the words &amp;quot;Objective Complete&amp;quot; appear onscreen and since thats the only objective we&#039;ve added so far you&#039;ll win the mission.&lt;br /&gt;
 *NOTE:If you don&#039;t win nor see the on screen message, go back and try to figure what you did wrong.&lt;br /&gt;
&lt;br /&gt;
If all is well than its time to move on. Exit TDM and go back into Darkradiant. &lt;br /&gt;
&lt;br /&gt;
Now it is time to add the trophy. In your map add a trophy somewhere, I used the entity loot&amp;gt;atdm:loot_trophy_old&lt;br /&gt;
change its name to &amp;quot;trophy&amp;quot; and go back into objectives editor.&lt;br /&gt;
&lt;br /&gt;
Add another objective and edit it. &lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039; should be &#039;&#039;Steal the Trophy&#039;&#039;. State is &#039;&#039;Complete&#039;&#039;, &#039;&#039;&#039;Flags&#039;&#039;&#039; should be &#039;&#039;Mandatory&#039;&#039; and &#039;&#039;Visible&#039;&#039;. Click ADD and select &#039;&#039;&#039;Player possesses item&#039;&#039;. Change &#039;&#039;&#039;Item:&#039;&#039;&#039; to &#039;&#039;Name of single entity&#039;&#039; and type in the box to right, &amp;quot;trophy&amp;quot;. Change the amount to &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Your objective should look like this.&lt;br /&gt;
[[Image:Trophyedit.PNG|left]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
Since this is a tutorial this map is very small and very basic so we are tossing all pre-thought and planning for the objectives out the window. As maps get bigger, more elaborate, complex, so too will the objectives be to suit the level. You might want to the trophy in a vault. Maybe the guards will be patrolling. &lt;br /&gt;
&lt;br /&gt;
Save your map and load it up in TDM. Look at the objectives menu to see if the fresh addition is there. And than take it and see if it completes the objective.&lt;br /&gt;
&lt;br /&gt;
Congratulations!&lt;br /&gt;
&lt;br /&gt;
You now have a basic understanding of how the objectives editor works. For more advanced work, look for more tutorials in the future or go on the forums.&lt;br /&gt;
&lt;br /&gt;
== FAQs &amp;amp; Examples ==&lt;br /&gt;
&lt;br /&gt;
===KO objective but AI already dead!===&lt;br /&gt;
&lt;br /&gt;
;*If I kill the guard I don&#039;t fail the mission, but I can&#039;t complete it either.&lt;br /&gt;
:Answer: I&#039;ll quote Ishtvan for this one. &lt;br /&gt;
:&#039;&#039;&amp;quot;The system is not smart enough to know automatically that someone who&#039;s killed can&#039;t be KO&#039;d later, so if you want it to fail when they&#039;re killed, you have to put that in specifically. Note that this doesn&#039;t have to be a whole &#039;nother objective, it can be a component of the KO objective, so you have two components, KO them, and don&#039;t kill them. We could potentially make this automatic later on, but that&#039;s the way it is right now.&amp;quot;&#039;&#039;&lt;br /&gt;
:Until this is fixed, I&#039;d recommend making a knockout objective optional, unless you want to put in the kill component.&lt;br /&gt;
&lt;br /&gt;
===Kill objective thwarted by another AI===&lt;br /&gt;
&lt;br /&gt;
;*I put a monster in my map and he killed the guard, yet I still passed/failed the objective.&lt;br /&gt;
: Answer: Check the &#039;&#039;&#039;Player Responsible&#039;&#039;&#039; Flag, this means that the player MUST do it himself in order to get credit.&lt;br /&gt;
&lt;br /&gt;
===Leak caused by Objectives Entity===&lt;br /&gt;
&lt;br /&gt;
;*Help! My objectives entity is outside the map and I have a leak! I can&#039;t find it! I even used the pointfile!! help!!!!&lt;br /&gt;
: Answer: The objectives entity is a very small, yellow cube that is spawned around the origin. Its about the size of a light entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How to directly trigger an objective or component to complete===&lt;br /&gt;
If the actions that the player has to do in a mission are not directly covered by the normal objectives properties, for example, the player must open a door, then objectives can be triggered to complete by any target entity.&lt;br /&gt;
&lt;br /&gt;
In the objectives editor, to your objective add a component type : custom script. (this might just say &#039;custom&#039; or similar.) The objective now just awaits some external trigger or script in the game to set it complete. To do this with a trigger...&lt;br /&gt;
&lt;br /&gt;
* Create a new entity : &#039;&#039;target_tdm_setobjectivestate&#039;&#039;&lt;br /&gt;
* Give it the properties/values...&amp;lt;br&amp;gt;obj_idN O &amp;lt;br&amp;gt;... where O is the objective number and N is simply the obj_id number if you want several on the same entity. Just use obj_id1 if you only want one.&amp;lt;br&amp;gt; obj_state 1&lt;br /&gt;
&lt;br /&gt;
You must then target that from some triggering entity like a button, lever, door (see [[Doors]]) or you can trigger it from stims &amp;amp; responses or from a custom script.&lt;br /&gt;
&lt;br /&gt;
In a similar way, you can trigger individual components using entity target_tdm_setobjective_component_state. In this give it the properties/values...&lt;br /&gt;
&lt;br /&gt;
* Create a new entity : target_tdm_setobjective_component_state&lt;br /&gt;
* Give it the properties/values...&amp;lt;br&amp;gt;comp_idN C&amp;lt;br&amp;gt;... where N is just this ID number and C is the component number.&amp;lt;br&amp;gt;obj_state 1&lt;br /&gt;
&lt;br /&gt;
Again, trigger that as above.&lt;br /&gt;
&lt;br /&gt;
===How to make my invisible objective become visible to the player later===&lt;br /&gt;
&lt;br /&gt;
There are two methods. One way &#039;&#039;adds&#039;&#039; a new objective at the end of the current list of objectives. The other way makes an existing objective visible. This is the one for general use because it appears in the position in the list where you first put it rather than on the end. It makes sense to have your objectives in some kind of order so for example, you might have right at the end of the list &#039;when all else is done, escape from Castle...&#039;&lt;br /&gt;
 &lt;br /&gt;
====To make an invisible objective visible later====&lt;br /&gt;
&lt;br /&gt;
* Create a new entity : &#039;&#039;atdm:target_setobjective_visibility&#039;&#039;&lt;br /&gt;
* Give it the properties/values...&amp;lt;br&amp;gt;obj_idN O &amp;lt;br&amp;gt;... where O is the objective number and N is simply the obj_id number if you want several on the same entity. Just use obj_id1 if you only want one.&lt;br /&gt;
&lt;br /&gt;
You must then target that from some triggering entity like a button, lever, door (see [[Doors]]) or you can trigger it from stims &amp;amp; responses or from a custom script. Note that sometimes it helps to put in a delay (see below.) It will by default then become visible. You can do it the other way round and make an objective become invisible (remember it is still active by default) by changing the spawnarg value 1 to...&lt;br /&gt;
&lt;br /&gt;
obj_visibility 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====To add a new objective on the end of the list====&lt;br /&gt;
&lt;br /&gt;
* In the objectives editor use the top Add button to create a new &#039;&#039;atdm:target_addobjectives&#039;&#039; entity.&lt;br /&gt;
* Add the new objective(s) just as described above&lt;br /&gt;
* Find the atdm:target_addobjectives entity in the map (you normally need to check it is not in the void anyway plus you might like to place it near where it makes sense the new objective shows.&lt;br /&gt;
* Add to the atdm:target_addobjectives entity the property &#039;&#039;wait_for_trigger&#039;&#039; and the value 1. Otherwise it will show right at the start of the game.&lt;br /&gt;
* You then need to target that atdm:target_addobjectives from some triggering entity like a button, lever, door (see [[Doors]]) or you can trigger it from stims &amp;amp; responses or from a custom script. Note that it may help to include a delay (see below.)&lt;br /&gt;
* The new objective(s) will show as added at the end of the list of objectives when triggered.&lt;br /&gt;
&lt;br /&gt;
====Inserting a delay before new objective shows====&lt;br /&gt;
&lt;br /&gt;
It often helps to include a delay from triggering before the &#039;&#039;New Objective&#039;&#039; message shows. To do this:&lt;br /&gt;
&lt;br /&gt;
* Create a &#039;&#039;trigger_relay&#039;&#039; entity.&lt;br /&gt;
* Give it the properties:&lt;br /&gt;
** &#039;&#039;wait -1&#039;&#039;&lt;br /&gt;
** &#039;&#039;delay N&#039;&#039; (replace N with delay time in seconds)&lt;br /&gt;
** &#039;&#039;target&#039;&#039; &amp;lt;the name of the atdm:target_addobjectives&amp;gt;&lt;br /&gt;
** Make your original trigger target this relay instead of the atdm:target_addobjectives directly.&lt;br /&gt;
&lt;br /&gt;
===Completing Objective Components in a Certain Order===&lt;br /&gt;
&lt;br /&gt;
Suppose you want the player to complete two or more parts of an objective but in a certain order. Example : &amp;quot;Close the office door then open the safe.&amp;quot; In that example you want the player to close the door first not just do both in any order. If you just make the two components they default to a Success Logic of 1 AND 2 which means the player must do both to complete the objective but it does not matter which order. So if the player opens the safe and then closes the office door then the objective will check off - perhaps not what you want. This is how to do it if you want to force the order in which the player does the components...&lt;br /&gt;
&lt;br /&gt;
There are two possible outcomes :&lt;br /&gt;
&lt;br /&gt;
If you want the mission to &#039;&#039;&#039;fail&#039;&#039;&#039; set the failure logic for that objective to&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOT(1) AND 2&#039;&#039;, i.e., door is open AND safe is open.&lt;br /&gt;
&lt;br /&gt;
But if you just want the objective to not complete (so the player can try again)...&lt;br /&gt;
&lt;br /&gt;
Make &#039;&#039;&#039;two&#039;&#039;&#039; objectives, both using the door and safe components - the first is invisible but still active:&lt;br /&gt;
&lt;br /&gt;
# Objective 1: success logic: Door closed, safe not open = 1 AND NOT(2)&lt;br /&gt;
# Objective 2: success logic: Door closed, safe open = 1 AND 2&amp;lt;br&amp;gt;(Objective 2 enabling objectives = 1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===An Objective to place an object in a Certain Location===&lt;br /&gt;
&lt;br /&gt;
To make an objective where an object has to be placed somewhere:&lt;br /&gt;
&lt;br /&gt;
* Create a brush where you want the object to be put. This might be the size of a room, a street, or a chest or wherever you want the object.&lt;br /&gt;
* Texture it with common &amp;gt; clip&lt;br /&gt;
* With the brush selected, Create entity &amp;gt; info &amp;gt; info_tdm_objective_location&lt;br /&gt;
* Give this entity a name you can remember like BodyDrop. Write it down or in a text editor&lt;br /&gt;
* Give your object, eg, a ragdoll, a name, eg, JakesCorpse and note it down.&lt;br /&gt;
* If it is not the player, then give it the property objective_ent and set it to 1&lt;br /&gt;
* Menu &amp;gt; Map &amp;gt; Objectives&lt;br /&gt;
* If you haven&#039;t yet got any objectives then click the + Add button at top right.&lt;br /&gt;
* This creates a atdm:target_addobjectives entity so later make sure it is not in the void or you get a leak. Put it somewhere convenient. It is not visible in game.&lt;br /&gt;
* Select the atdm:target_addobjectives in the Objectives entities list top left&lt;br /&gt;
* In the objectives list below click the +Add button on the right.&lt;br /&gt;
* This creates a new objective in the objectives list. Select it.&lt;br /&gt;
* Click the edit button on the right.&lt;br /&gt;
* Type a description near the top, eg, Carry Jake&#039;s body back to X and drop it in the soandso&lt;br /&gt;
* In the components list further down click the +Add button on the right.&lt;br /&gt;
* This creates a default Kill objective. Select it. Click the Edit button.&lt;br /&gt;
* Just below it click the Type bar and from the list that show select &#039;Item is in location&#039;&lt;br /&gt;
* Further down click the bar below &#039;Entity&#039; and select &#039;Name of single entity&#039;&lt;br /&gt;
* On the right of that type or paste in the name of the object (eg ragdoll) entity eg, JakesCorpse&lt;br /&gt;
* Below, click the bar below Location and select &#039;Name of single entity&#039;&lt;br /&gt;
* On the right of that type or paste in the location entity name you gave above, eg, BodyDrop&lt;br /&gt;
* Click the OK button and OK again and save your map.&lt;br /&gt;
&lt;br /&gt;
===Technical info===&lt;br /&gt;
&lt;br /&gt;
;*I have some other questions about objectives&lt;br /&gt;
: Answer:This article talks about more specific, more technical and advanced work. [[Objectives]]&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}} {{darkradiant}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_1.01&amp;diff=9591</id>
		<title>What&#039;s new in TDM 1.01</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=What%27s_new_in_TDM_1.01&amp;diff=9591"/>
		<updated>2010-01-24T16:44:37Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article is a work-in-progress and can change before the final release. There are &#039;&#039;&#039;no promises&#039;&#039;&#039; here. Features may be postponed or removed even if they appear on this list, and regressions may re-introduce bugs after they&#039;ve been fixed internally.&lt;br /&gt;
&lt;br /&gt;
== Bugs fixed ==&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=1921 #1921]: HUD Font reverts to Doom 3 font after fresh gamesave load.&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2067 #2067]: Fixed bug when using shop_skip 1 in FMs.&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=1970 #1970]: Chests went non-solid when frobbed&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2072 #2072]: The player could shoulder rats&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2083 #2083]: Small items like candles, candle holders, rocks etc floated on water instead of sinking&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2075 #2075]: AI were alerted when they took falling damage&lt;br /&gt;
* Fixed savegames getting to huge sizes, leading to out-of-memory or crashes&lt;br /&gt;
* Fixed a few crashes and memory errors&lt;br /&gt;
* Fixed: Crash with ATI cards when viewing certain models (like the marble column)&lt;br /&gt;
* Fixed: Location settings did not work with &amp;quot;fast&amp;quot; ambient method&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2007 #2007]: Fixed: Location settings did igore the &amp;quot;music volume&amp;quot; slider (work in progress)&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2093 #2093]: Fireplace_arch was missing its texture&lt;br /&gt;
* Melee controls now more responsive&lt;br /&gt;
* Fixed blackjack bug where player could hit low ceilings&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=1968 #1968] Blackjack no longer makes metallic clang when hitting world&lt;br /&gt;
* Fixed bug where some close-range melee attacks neglected armor&lt;br /&gt;
* Fixed bug that made shouldered bodies undroppable&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2072 #2072] Rats (and other small animals) could be shouldered&lt;br /&gt;
&lt;br /&gt;
* Minor fixes to models and textures (eg, inverted normals)&lt;br /&gt;
&lt;br /&gt;
== Features added ==&lt;br /&gt;
&lt;br /&gt;
* A lot new skins for: dirty fireplaces, unlit lamps etc.&lt;br /&gt;
* New script events for: get/setDroppable, isEntityHidden, Melee etc.&lt;br /&gt;
* Support for &amp;quot;skin_unlit&amp;quot; and &amp;quot;skin_lit&amp;quot; on light entities&lt;br /&gt;
* New &amp;quot;unbindOnAlertIndex&amp;quot; spawnarg on attached entities, to make AI drop them when alerted&lt;br /&gt;
* Crouch indicator: Lightgem &amp;quot;wings&amp;quot; squash down slightly when crouch mode is on (helpful when climbing)&lt;br /&gt;
* AI have a combat skill level now: novice, trained, skilled&lt;br /&gt;
* added Difficulty Slider for combat in menu&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2024 AI can be set to drop attached objects on alert]&lt;br /&gt;
* greater flexibility added to absence markers&lt;br /&gt;
&lt;br /&gt;
== AI added ==&lt;br /&gt;
&lt;br /&gt;
* added two zombie types with various skins, as well as &amp;quot;sleeping&amp;quot; behaviour&lt;br /&gt;
* added spiders and spider children&lt;br /&gt;
* added new elite guard character&lt;br /&gt;
* added elite guard helmet (immune to KOs)&lt;br /&gt;
* added skeleton AI&lt;br /&gt;
&lt;br /&gt;
== Entities added ==&lt;br /&gt;
&lt;br /&gt;
* A lot of new [[combo entities]] have been added: &lt;br /&gt;
** fireplaces, &lt;br /&gt;
** static torches,&lt;br /&gt;
** statues with torch in hand,&lt;br /&gt;
** campfires, bucket and bonfires,&lt;br /&gt;
** electric streetlights,&lt;br /&gt;
** wall-mounted lamps and torches,&lt;br /&gt;
** geodes with pulsating light,&lt;br /&gt;
** bottles+candle,&lt;br /&gt;
** skulls+candle etc.&lt;br /&gt;
* new colored torch flames: blue, green, orange&lt;br /&gt;
* new fireflames: white and black smoking, smouldering ones, large and huge bonfires, bucketfire&lt;br /&gt;
* a few new model props (eg, saw, wall-light)&lt;br /&gt;
* climbable ragdoll chains&lt;br /&gt;
* [http://bugs.angua.at/view.php?id=2110 Bug #2110] [[Loot paintings]]&lt;br /&gt;
&lt;br /&gt;
== Sounds ==&lt;br /&gt;
&lt;br /&gt;
* changed AI footsteps to mono (so the direction of sound is accurate)&lt;br /&gt;
* reduced volume of player footsteps&lt;br /&gt;
* increased sound radius of doors&lt;br /&gt;
&lt;br /&gt;
Added Dario D&#039;s ambient sound contributions.&lt;br /&gt;
&lt;br /&gt;
* Ambient Shaders added&lt;br /&gt;
** animal_crickets_birds01, animal_crickets04, animal_crickets05, animal_dog03, animal_frog03, animal_night_bird01, animal_owl04, animal_owl05, animal_owl06&lt;br /&gt;
** machine_sparks01&lt;br /&gt;
** music_harp01, music_harp02, music_bum_bum01, music_bum_bum02&lt;br /&gt;
** weather_thunder04, weather_thunder05&lt;br /&gt;
* Environmental Sound Shaders added&lt;br /&gt;
** drone01, drone02, drone03a, drone03b, drone05a, drone05b&lt;br /&gt;
** hit01a, hit02b, hit03a, hit03b&lt;br /&gt;
** hum01, hum01b, hum02, hum03, hum04, hum05_loop, hum05_loop_b, hum06_loop, hum06_loop_b, hum07_loop, hum07_loop_b, hum08&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Added STiFU&#039;s textures, including the following shaders:&lt;br /&gt;
* textures/darkmod/door/wood/board_brown_nails_hinge&lt;br /&gt;
* textures/darkmod/metal/detailed/threadplate_large_dirty&lt;br /&gt;
* textures/darkmod/roof/slate_cracked_large_greyblue&lt;br /&gt;
* textures/darkmod/roof/slate_cracked_large_greyblue_shiny&lt;br /&gt;
* textures/darkmod/stone/brick/tiling_1d/poolwall_large_dirty_weathered_greengrey&lt;br /&gt;
* textures/darkmod/stone/brick/tiling_1d/poolwall_large_dirty_weathered_greengrey_wet&lt;br /&gt;
* textures/darkmod/stone/cobblestones/cobblestones_large_uneven_darkgrey&lt;br /&gt;
* textures/darkmod/stone/cobblestones/cobblestones_large_uneven_darkgrey_wet&lt;br /&gt;
* textures/darkmod/stone/flat/tiles_ceramic_large_clean_even&lt;br /&gt;
* textures/darkmod/stone/flat/tiles_ceramic_large_clean_rough&lt;br /&gt;
* textures/darkmod/stone/flat/tiles_ceramic_large_ornate_old_blue&lt;br /&gt;
* textures/darkmod/stone/flat/tiles_large_dirty_cracked&lt;br /&gt;
* textures/darkmod/stone/flat/tiles_large_dirty_cracked_greasy&lt;br /&gt;
* textures/darkmod/stone/natural/rock_large_rough_grey&lt;br /&gt;
* textures/darkmod/stone/natural/rock_large_rough_grey_greasy&lt;br /&gt;
* textures/darkmod/stone/natural/rock_large_cracked_holey_grey&lt;br /&gt;
* textures/darkmod/stone/natural/rock_large_cracked_holey_grey_greasy&lt;br /&gt;
* textures/darkmod/stone/sculpted/tiling_1d/trim_large_ornate_old_bright&lt;br /&gt;
* textures/darkmod/stone/sculpted/tiling_1d/trim_large_ornate_old_bright_greasy&lt;br /&gt;
* textures/darkmod/stone/sculpted/tiling_1d/trim_large_ornate_old_dark_bluered&lt;br /&gt;
* textures/darkmod/stone/sculpted/tiling_1d/trim_large_ornate_old_dark_bluered_greasy&lt;br /&gt;
* textures/darkmod/stone/sculpted/tiling_1d/trim_small_ornate_old&lt;br /&gt;
* textures/darkmod/stone/sculpted/tiling_1d/trim_small_ornate_old_greasy&lt;br /&gt;
* textures/darkmod/wood/boards/polished_shiny_large_red&lt;br /&gt;
* textures/darkmod/wood/boards/rough_wood_large_brown&lt;br /&gt;
* textures/darkmod/wood/boards/rough_wood_large_brown_glossy&lt;br /&gt;
* textures/darkmod/wood/boards/planks_wood_large_worn_rough_bright&lt;br /&gt;
* textures/darkmod/wood/boards/planks_wood_large_worn_rough_bright_glossy&lt;br /&gt;
* textures/darkmod/wood/boards/planks_wood_large_worn_rough_dark&lt;br /&gt;
* textures/darkmod/wood/boards/planks_wood_large_worn_rough_dark_glossy&lt;br /&gt;
* textures/darkmod/wood/boards/roof_framework_boards_large_old_brown&lt;br /&gt;
* textures/darkmod/wood/boards/roof_framework_boards_large_old_green&lt;br /&gt;
* textures/darkmod/roof/shingles_blue&lt;br /&gt;
* textures/darkmod/roof/shingles_blue_shiny&lt;br /&gt;
* textures/darkmod/roof/shingles_red_shiny&lt;br /&gt;
* Improved: textures/darkmod/roof/shingles_red&lt;br /&gt;
* textures/darkmod/nature/bones/skull_panels_dirty&lt;br /&gt;
* textures/darkmod/nature/bones/bone_wall&lt;br /&gt;
* textures/darkmod/nature/bones/tiling_1d/trim_bones&lt;br /&gt;
* textures/darkmod/roof/rooftiles_ceramic_blue&lt;br /&gt;
* textures/darkmod/roof/rooftiles_ceramic_brown&lt;br /&gt;
* textures/darkmod/roof/rooftiles_ceramic_red&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [http://thedarkmod.com/downloads.php Download TDM]&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9321</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9321"/>
		<updated>2009-10-31T18:14:43Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Performance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
 Ramble on about shadows, light and gameplay...&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness, most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius, they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade, namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
 Tip: you can rotate a light so only one corner will touch a wall and make a triangluar shaped light. Or rotate it so 2 corners touch a wall and make a line of light.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options:&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
&lt;br /&gt;
If you choose pure black you will not have a black light, but instead a lack of light. Pure white will be white and very bright. Medium grey will be white, just less bright than pure white. You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Having the texture selected and displayed in the window means it is applied. To remove it close the folders so you have no texture applied (This may be tricky).&lt;br /&gt;
&lt;br /&gt;
One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
=== Parallex ===&lt;br /&gt;
 needs defined - something about pointing one direction, like a spotlight.&lt;br /&gt;
&lt;br /&gt;
=== Specular ===&lt;br /&gt;
I assume this skips a lighting pass on any specular maps on all objects and terrain. Metal has alot of spec. Oldwood is low spec.&lt;br /&gt;
&lt;br /&gt;
=== Diffuse ===&lt;br /&gt;
This would probably toggle lighting the diffuse map, so maybe you can get some shine from metal (specular) but not light the tex at all, could make cool glimmer effects.&lt;br /&gt;
&lt;br /&gt;
=== Shadows ===&lt;br /&gt;
Do not cast shadow:&lt;br /&gt;
This turns off any shadow casting. Lights and objects have this option. Boosts performance. Good for ambient fill lights.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows. It can also be used to give a nice round fade the the stock square lights. It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
== Performance Tips==&lt;br /&gt;
&lt;br /&gt;
Light performance is based on how many lights hit a polygon, how many shadows are being cast and how many objects are casting shadows from the lights. This is all computed during game so going overboard can kill performance on slower machines.&lt;br /&gt;
&lt;br /&gt;
Turning off light options is a great way to improve in game performance. But it comes at the cost of your map looking as good. You need to find a good balance.&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9320</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9320"/>
		<updated>2009-10-31T18:00:09Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Light options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
 Ramble on about shadows, light and gameplay...&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness, most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius, they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade, namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
 Tip: you can rotate a light so only one corner will touch a wall and make a triangluar shaped light. Or rotate it so 2 corners touch a wall and make a line of light.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options:&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
&lt;br /&gt;
If you choose pure black you will not have a black light, but instead a lack of light. Pure white will be white and very bright. Medium grey will be white, just less bright than pure white. You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Having the texture selected and displayed in the window means it is applied. To remove it close the folders so you have no texture applied (This may be tricky).&lt;br /&gt;
&lt;br /&gt;
One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
=== Parallex ===&lt;br /&gt;
 needs defined - something about pointing one direction, like a spotlight.&lt;br /&gt;
&lt;br /&gt;
=== Specular ===&lt;br /&gt;
I assume this skips a lighting pass on any specular maps on all objects and terrain. Metal has alot of spec. Oldwood is low spec.&lt;br /&gt;
&lt;br /&gt;
=== Diffuse ===&lt;br /&gt;
This would probably toggle lighting the diffuse map, so maybe you can get some shine from metal (specular) but not light the tex at all, could make cool glimmer effects.&lt;br /&gt;
&lt;br /&gt;
=== Shadows ===&lt;br /&gt;
Do not cast shadow:&lt;br /&gt;
This turns off any shadow casting. Lights and objects have this option. Boosts performance. Good for ambient fill lights.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows. It can also be used to give a nice round fade the the stock square lights. It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9319</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9319"/>
		<updated>2009-10-31T17:54:24Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Radius */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
 Ramble on about shadows, light and gameplay...&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness, most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius, they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade, namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
 Tip: you can rotate a light so only one corner will touch a wall and make a triangluar shaped light. Or rotate it so 2 corners touch a wall and make a line of light.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options:&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
&lt;br /&gt;
If you choose pure black you will not have a black light, but instead a lack of light. Pure white will be white and very bright. Medium grey will be white, just less bright than pure white. You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows. It can also be used to give a nice round fade the the stock square lights. It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
Having the texture selected and displayed in the window means it is applied. To remove it close the folders so you have no texture applied (This may be tricky).&lt;br /&gt;
&lt;br /&gt;
One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
=== Specular ===&lt;br /&gt;
&lt;br /&gt;
=== Diffuse ===&lt;br /&gt;
=== Shadows ===&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9318</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9318"/>
		<updated>2009-10-31T17:52:15Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Theory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
 Ramble on about shadows, light and gameplay...&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness, most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius, they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade, namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options:&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
&lt;br /&gt;
If you choose pure black you will not have a black light, but instead a lack of light. Pure white will be white and very bright. Medium grey will be white, just less bright than pure white. You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows. It can also be used to give a nice round fade the the stock square lights. It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
Having the texture selected and displayed in the window means it is applied. To remove it close the folders so you have no texture applied (This may be tricky).&lt;br /&gt;
&lt;br /&gt;
One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
=== Specular ===&lt;br /&gt;
&lt;br /&gt;
=== Diffuse ===&lt;br /&gt;
=== Shadows ===&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9312</id>
		<title>Location Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9312"/>
		<updated>2009-10-31T01:07:24Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* On Shader Names */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article describes how to setup &#039;&#039;&#039;locations&#039;&#039;&#039; (also called &amp;quot;location zones&amp;quot; or &amp;quot;zones&amp;quot;) in your level, and then use these to:&lt;br /&gt;
&lt;br /&gt;
* fade to different ambient &#039;&#039;&#039;light levels&#039;&#039;&#039; for each zone&lt;br /&gt;
* fade between different ambient &#039;&#039;&#039;sounds&#039;&#039;&#039; in each zone&lt;br /&gt;
* run &#039;&#039;&#039;scripts&#039;&#039;&#039; automatically when the player enters or exits a zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You need to use four types of entities in your map: &lt;br /&gt;
&lt;br /&gt;
* a special global entity (e.g. add only one, the position does not matter): &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
* a special global light entity named &#039;&#039;&#039;ambient_world&#039;&#039;&#039; &lt;br /&gt;
* multiple &#039;&#039;&#039;info_location&#039;&#039;&#039; and &#039;&#039;&#039;info_locationseperation&#039;&#039;&#039; entities&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
:Note:  Two alternative ways to get ambient sounds in your map are using speakers ([[Adding ambient Sounds to your Map]]), and using triggers ([[Ambient Sounds - Zone (using triggers)]]).  Speakers are good if you only want your ambient to cover a definite radius and have a very simple setup.  Triggers are basically obsoleted by the method in this tutorial.  The only time you might still want to use a trigger-system is if you want a ambient sound to begin at a place where for some reason you can&#039;t create a portal to mark the zone boundary, but you can still have a trigger brush.  There are some issues with a trigger system, too (f.i. their CPU and memory usage), that make the method in this tutorial superior.  &lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The atdm:location_settings entity ==&lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity in your blueroom (i.e., a room off to the side the player will never enter) or somewhere else in your map:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Default values ===&lt;br /&gt;
&lt;br /&gt;
The location_settings entity takes a few &#039;&#039;default&#039;&#039; spawnargs related to the ambient light settings:&lt;br /&gt;
&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_time&amp;quot;]]&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_delay&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
For their meaning and values, please refer to their sections.&lt;br /&gt;
&lt;br /&gt;
=== update_period ===&lt;br /&gt;
&lt;br /&gt;
The spawnarg &#039;&#039;&#039;update_period&#039;&#039;&#039; specifies the time in seconds between updates. A good value is 0.2, e.g. 5 times per second. That avoids to run the script too often, and still allows seamless transitions.&lt;br /&gt;
&lt;br /&gt;
=== Sound Shaders ===&lt;br /&gt;
&lt;br /&gt;
In the entity&#039;s spawnargs, put the names of all the ambient sounds you want to play in your map.  (This pre-loads the sounds into the speaker so there isn&#039;t a pause when they start playing.)  Put it in one of these property/value forms (without the quote marks):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_streets&amp;quot; &amp;quot;city_night01_loop_z&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_mansion&amp;quot; &amp;quot;sound/ambient/ambience/mansion_tense01a.ogg&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The left hand spawnarg should have a &amp;quot;snd_&amp;quot; prefix, and any name, but most useful is probably the name of the area it is for.  You&#039;ll use this name again when you place the location markers.  &lt;br /&gt;
&lt;br /&gt;
The right hand value points to the actual sound file that will play.  You can enter either the soundshader name, or the address where the sound file is (but see footnote).  You can see the soundshader names of ambient-ready sounds in the sub-folder &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot;.   You can find the address of the sound files in &amp;quot;Darkmod/sound/ambient/ambience&amp;quot; (remember to start the address with &amp;quot;sound&amp;quot; in the spawnarg).  You can also listen to the sounds at that location.  They are are in .ogg format.  &lt;br /&gt;
&lt;br /&gt;
 Edit:Baddcog-Running through this first time, leaving notes to be fixed/editted later.&lt;br /&gt;
 Hint on sounds, you can also create a speaker (left-click&amp;gt;speaker) and it will give you a sound directory where you can play sound files and find the names. No searching through sound folders outside  of DR.&lt;br /&gt;
&lt;br /&gt;
:Note that it is very easy to add custom ambients with this system.  Just create a folder in your .pk4 (a .zip file renamed to .pk4) and name the folder &amp;quot;sound&amp;quot;, with another folder inside it named after your FM or an abbreviation.  Put your custom sound inside that second folder.  (E.g., I have a custom ambient named Frozen.ogg, and my FM&#039;s name is Patently Dangerous.  So in my .pk4 was &amp;quot;sound/patent/frozen.ogg&amp;quot;.  Note that ambients must be in either .ogg or .wav format. Now in your speaker_zone_ambient, just put the sound&#039;s address in the spawnarg (but see footnote).  In my case, I have &amp;quot;snd_warehouse&amp;quot; &amp;quot;sound/patent/frozen.ogg&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
It is worth noting that one special &amp;quot;sound&amp;quot; is already loaded by default.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_silence&amp;quot; &amp;quot;silence&amp;quot;&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
You can see it if you check &amp;quot;Show Inherited Properties&amp;quot;.  This is the sound you use to turn &amp;quot;off&amp;quot; the ambient sounds playing, so there is silence in the zone.&lt;br /&gt;
&lt;br /&gt;
=== On Shader Names ===&lt;br /&gt;
&lt;br /&gt;
One footnote on the sound shader names. The &#039;&#039;shader tdm_ambient_ambience_zoned.sndshd&#039;&#039; has a special command (&amp;quot;leadin&amp;quot;) for its sounds that begins the ambient with a short pause.  This is to pre-empt a possible *pop* of sound for loud ambients which can occur when the player&#039;s system slows down (and only occasionally, at that), so the player never hears the pop.  (It&#039;s a quirk of how Doom3 does fade-ins; when you start a new sound, you have to rapidly fade it out first, like .001 seconds, then slowly fade back in.  But if the system slows and the ambient starts loud, it might stretch that .001 to something audible.)&lt;br /&gt;
 Edit:Baddcog- These seem to now have been appended with a _z if you look at sound names in speaker dialog.&lt;br /&gt;
&lt;br /&gt;
If you alternatively use the address or the shader name from &amp;quot;Darkmod/sound/tdm_ambient_ambience.sndshd&amp;quot; (which lack the &amp;quot;leadin&amp;quot; property) it will otherwise work fine, but you won&#039;t be protected from that occasional little pop (at least until we find another fix).  For ambients that start quietly or areas that won&#039;t slow the system down, it will probably never even be a problem and the player will never hear it, so using the address is fine, or using the tdm_ambient_ambience shader name if you don&#039;t want the tiny pause for whatever reason.  But if you want to control it, use the tdm_ambient_ambience_zoned name, and for a custom sound, to pre-empt the pop you&#039;ll need to use a custom shader with the &amp;quot;leadin&amp;quot; line.  Use the &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot; as a template to do that, and name the custom shader file something like YourFMsName.sndshd, and put it in the &amp;quot;sound&amp;quot; folder in your .pk4.&lt;br /&gt;
&lt;br /&gt;
=== Sound Properties ===&lt;br /&gt;
&lt;br /&gt;
Regarding properties, the speaker (the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity is a speaker in disguise :) has by default the properties &amp;quot;omni&amp;quot;, &amp;quot;global&amp;quot;, and &amp;quot;looping&amp;quot; already turned on, so that all sounds played are heard everywhere, from no direction, and will loop.  If you change these properties (e.g., for one ambient) the change will apply to all ambients on the speaker.  So you probably don&#039;t want to turn these properties off.  &amp;quot;Volume&amp;quot; is another potential property; but it has been left off as a default. You can change the volume of sounds played on the speaker with the property, but again it will apply to all the ambients on the speaker.  &lt;br /&gt;
&lt;br /&gt;
Your entity will look like this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Speaker4.jpg]]&lt;br /&gt;
&lt;br /&gt;
You are finished with the ambient sound part now.&lt;br /&gt;
&lt;br /&gt;
== The Ambient Light ==&lt;br /&gt;
&lt;br /&gt;
You need to create an ambient light in your level. This will cover the entire level, and provide a minimum default light for when there is no other light covering a surface:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;{{RMB}} -&amp;gt; Create light&#039;&#039;&#039;&lt;br /&gt;
# Move the light&#039;s origin to the center of your map, and drag it&#039;s size so that it covers your entire map, and then some more. Remember to increase the size of that light when you build more area into your map!&lt;br /&gt;
# Open the light inspector (default shortcut {{key|L}}) and set the light texture to &#039;&#039;&#039;lights/ambientlightnfo&#039;&#039;&#039;&lt;br /&gt;
# Set the color of the light to a reasonable default, f.i. &amp;quot;8 8 8&amp;quot; This value will be used when a zone has no other ambient light settings&lt;br /&gt;
# Open the entity inspector (default shortcut {{key|N}}) and set the name of the light to &#039;&#039;&#039;ambient_world&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last step is important!&lt;br /&gt;
&lt;br /&gt;
You are done now with the global ambient light.&lt;br /&gt;
&lt;br /&gt;
== The Location Entities ==&lt;br /&gt;
&lt;br /&gt;
Now you need to set up the location system so the game knows where the zones are, and their boundaries where changes will happen.  A location is basically any area that&#039;s closed in by brushes and marked portals and contains an info_location entity. Unlike a vis-portaled area (which is one area between [[vis_portals]], a.k.a. a &amp;quot;leaf&amp;quot;), a zone can cover more than one portaled area (&amp;quot;leaves&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
As an aside, locations are also used for setting the EAX properties in the area (e.g., the echo-y-ness of a big hall or cave, or the dullness of a small carpeted room).  So you have a good reason to have them even in addition to handling ambient sounds and lights.  &lt;br /&gt;
&lt;br /&gt;
=== info_locationseparator ===&lt;br /&gt;
&lt;br /&gt;
As I suggested above, you have to mark all the portals leading in and out of a zone by hand.  You do this with an entity called a &#039;&#039;&#039;info_locationseparator&#039;&#039;&#039;.  Create one so it touches the portal you want as a boundary.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_locationseparator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t touch a portal with this entity, than it will not register in the game as the boundary to a new zone, and the zone will continue into the area on the other side of the portal.  This happens even if you have a second info_location (described below) on the other side (the game will just pick one and use that for the whole zone).  This can be a good thing because, say you have a mansion with 30 portals inside.  You can cover the whole area inside it by just marking the 2 or 3 portals leading into the mansion area through the doors and open windows, and everything inside that marked area will be counted as one location (just don&#039;t miss marking an exit, or have an un-portaled gap to the outside between brushes, or the location will leak outside.  It has to be hermetically sealed).  &lt;br /&gt;
&lt;br /&gt;
I have read discussion that a door touching a portal marks it as a location boundary, but in my experiments the door did not create a new location and I still had to use a info_locationseparator over the portal to register it as a boundary.  &lt;br /&gt;
&lt;br /&gt;
=== info_location ===&lt;br /&gt;
&lt;br /&gt;
Now, inside the zone you want to have, create an &#039;&#039;&#039;info_location&#039;&#039;&#039; entity:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Anywhere in the space of the zone is fine.  Name it the name of the zone you want (to make it easy to find when you push {{key|J}}).&lt;br /&gt;
&lt;br /&gt;
== Settings per location/zone ==&lt;br /&gt;
&lt;br /&gt;
On each info_location, you can set multiple spawnargs that adjust the light or sound for that location, as well&lt;br /&gt;
as run scripts. We cover them next:&lt;br /&gt;
&lt;br /&gt;
=== Ambient sound ===&lt;br /&gt;
&lt;br /&gt;
Now create a spawnarg property of &amp;quot;ambient&amp;quot; with the value being the speaker-name of the sound you used in the location_settings entity above (NOT the soundshader name or file name).  For example, &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;ambient&amp;quot;    &amp;quot;snd_streets&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will send a command to the location_settings (in its speaker capacity) to play the ambient it has registered under &amp;quot;snd_streets&amp;quot; that you entered.  When you enter a new zone, in turn, the new info_location sends a command to the speaker to turn off that ambient and start a new one.  &lt;br /&gt;
&lt;br /&gt;
If you wanted to have no ambient playing in the zone (and turn off any ambient started from another zone), you would use &amp;quot;snd_silence&amp;quot; as the value to command the speaker to turn off.  Also, if you have an info_location with no &amp;quot;ambient&amp;quot; value at all, it will also turn off the ambient (in the present version of this system).  That means if you make a new location but want the same ambient playing in it as the location next to it, you still need to add the ambient name for the already-playing ambient for it to continue playing into the new zone; otherwise it will turn off.  &lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Here are two info_locations on two sides of a portal, with an info_locationseparator touching the portal (more like piercing it), and with each info_location containing the name of the ambient that will play in its respective zone.&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_streets.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_silence.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
That&#039;s basically it.  The ambients will now turn on when you enter a zone and turn off when you enter a new zone, turning on the new ambient in that new zone.  If you open up the console, you should see a message saying that a new ambient is now playing in your current location, naming the ambient and location.&lt;br /&gt;
&lt;br /&gt;
=== Sound Fading ===&lt;br /&gt;
&lt;br /&gt;
Finally, there are a few other spawnargs on the info_locations that you usually don&#039;t have to worry about, but you can use them if you like, so I will mention them.  They concern the properties of the ambient fading.  Check the &amp;quot;Show Inhereted Properties&amp;quot; to see their default values.  Entering a new value will over-write the default value, but only for that one object.  &lt;br /&gt;
&lt;br /&gt;
[[Image:Info_loc.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
==== fiduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in duration&amp;quot;.  This is the length of time in seconds it takes for the in-coming ambient (the one for this zone) to completely fade-in.  The default value is 4 seconds.  You can, e.g., make the fade last much longer with a larger value.  &lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want your ambient to fade in at all, but start immediately at full volume, change this value to &amp;quot;.001&amp;quot; (NOT zero). &lt;br /&gt;
&lt;br /&gt;
==== foduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out duration&amp;quot;.  This is the length of time in seconds it takes for the out-going ambient (the one from the zone you&#039;re leaving) to completely fade-out.  Again, if you want it to cut right off without fading, use a value of &amp;quot;.001&amp;quot;.   &lt;br /&gt;
&lt;br /&gt;
==== fidelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in Delay&amp;quot;.  You can delay the beginning of the in-coming ambient&#039;s fade-in after you enter the new area.  You might want to do this, for example, if you want the out-going ambient to completely fade out before you begin fading in the new ambient.  So you would set fidelay to the same time as the foduration.  By default it is set to .001 so that there is no delay and the fade in starts immediately.  If the out-going fade-out also starts immediately (which happens by default), then they blend together in a nice transition fade.  &lt;br /&gt;
&lt;br /&gt;
==== fodelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out Delay&amp;quot;.  Similarly you can delay the beginning of the out-going ambient&#039;s fade out.  You might want to do this if you wanted the in-coming ambient to completely fade in before you started the fade out of the old ambient.  Then you would set it to fiduration.  Like fidelay, it is set to .001 so there is no delay and the fade out starts immediately.  &lt;br /&gt;
&lt;br /&gt;
==== fovolume ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out volume&amp;quot;.  This sets the volume to which the out-going ambient fades to.  -60 turns it off, which is the default (0 means no decrease in volume at all).  If you go any higher than -60, than it will leave the old ambient still playing at a lower volume under the new ambient (at least until you enter a 3rd new zone).  Not sure why you&#039;d ever want to do that, so you probably don&#039;t want to change it.  &lt;br /&gt;
&lt;br /&gt;
==== volume ====&lt;br /&gt;
&lt;br /&gt;
Technically &amp;quot;Fade in volume&amp;quot;.  This sets the volume to which the in-coming ambient fades into.  60 is to its normal full volume, which is the default (0 would be no increase in volume).  Any lower value than 60 fades it into a lower volume.  Allegedly that means you can control the new ambients&#039; volume with this, which is why I named it &amp;quot;volume&amp;quot; instead of &amp;quot;fivolume&amp;quot;.  In my testing however, I couldn&#039;t seem to actually change the volume with this property.  So I don&#039;t know if it works, or how exactly it works.  But it&#039;s here if you want to experiment with it yourself.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These last two (&#039;&#039;&#039;foduration_2foip&#039;&#039;&#039; and &#039;&#039;&#039;fiduration_2foip&#039;&#039;&#039;) are pretty obscure situations, so you probably don&#039;t need to ever mess with them unless you want to completely get rid of ambient fades (then you can set them to .001 like the other &#039;fade duration&#039; properties).  &lt;br /&gt;
&lt;br /&gt;
==== foduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-out duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  This provides a shorter fade-out duration (in seconds) for when the player quickly runs into a 3rd location, such that the 1st and 2nd ambients from areas the player just left are still fading out (hence the 2 fade-outs). But the quickend-fade-out only applies to the 1st ambient fading out. (i.e., not of the ambient you just left, but the one you left just before that -- unless you&#039;re backtracking, then it just fades the prev-prev ambient back in).  Fading out that prev-prev ambient more quickly in turn quickens the time the new fade-in can start (because you can&#039;t have 3 sounds on at the same time on the zone speaker, only 2).  So it in effect reduces the gap of quiet that happens before the newest ambient fully fades-in by enabling it to start its fade-in faster.  The default is 1 second.  &lt;br /&gt;
&lt;br /&gt;
==== fiduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-in duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  Like its counterpart, this sets a shorter duration of a fade-in of a new ambient (in seconds) when you run into a 3rd location, while the ambients from the 1st and 2nd locations are fading out.  Again, because so many ambients are fading out, it can leave a gap of silence for a bit until the new 3rd ambient fades in.  So setting a shorter duration than usual for the newest ambient to fully fade in helps shorten the quiet space.  The default is 2 seconds (as opposed to a normal default fade-in duration of 4 seconds).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Example of Location with No Fading Transition ====&lt;br /&gt;
&lt;br /&gt;
As mentioned above, if you wanted a set-up that turned off all fades so that the out-going ambient shut directly off and the in-coming ambient turns directly on, you&#039;d change all the duration properties to .001, like the following image.  (Note that this modifies the transition only for entering this one location.  All the other info_locations maintain their default values unless you also change them by hand.)  &lt;br /&gt;
&lt;br /&gt;
[[image: Fade_duration.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
=== Ambient light settings ===&lt;br /&gt;
&lt;br /&gt;
These spawnargs can be set on &#039;&#039;&#039;atdm:info_location&#039;&#039;&#039; entities and apply to the current zone then:&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This spawnarg specifies the ambient light color for this zone. Setting it f.i. to &amp;quot;0.10 0.02 0.02&amp;quot; would fade the ambient light to a slightly reddish color. This can be useful for covering a lava cave. Other examples are slightly blue light for moonlit outsides, greenish cast for caves or underwater areas etc.&lt;br /&gt;
&lt;br /&gt;
If you do not set this on an info_location entity, the default value of the global &amp;quot;ambient_world&amp;quot; entity will be used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:*You need to set the color values as fractions between 0 and 1, e.g. &#039;&#039;&#039;&amp;quot;0.08 0.08 0.02&amp;quot;&#039;&#039;&#039; and &#039;&#039;&#039;NOT&#039;&#039;&#039; as integers like so &amp;lt;s&amp;gt;&amp;quot;8 8 2&amp;quot;&amp;lt;/s&amp;gt;, or it will not work.&lt;br /&gt;
&lt;br /&gt;
:*If the color change between two zones is too big, the fading and change can become obvious to the player and spoil the subtlety. This can happen for instance if you zoom from a bluish-lit outside directly to a reddish-glowing cave inside. To help the transition, consider adding an intermidiate zone with a light color that is either in between the two, or a more neutral grey. Making it not possible to look from one zone to the other also helps, this way they player can&#039;t see that f.i. the outside ground suddenly also glows reddish when looking back from the cave entrance to the outside.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_time&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds it will take to fade from the current ambient light color to the one specified for this location. A slower fade means more gradual light changes, so they don&#039;t become too obvious to the player. Use at least 3, better 5 or 7 seconds.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_delay&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds the fading will be delayed when the player changes location.&lt;br /&gt;
&lt;br /&gt;
Useful to prevent fades toggling back and forth when the player stands in a doorway and goes a nudge forward/backwards. A good value is at least 1 second.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
If set to a value other than &amp;quot;0 0 0&amp;quot;, the lights in the current zone will be all summed together and then&lt;br /&gt;
added to the current base ambient light. This happens with the frequency of &#039;&#039;&#039;update_period&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The basic effect is that a roaring fire also slightly makes the walls flicker, and extinguishing all lights in a room would decrease the ambient light slightly.&lt;br /&gt;
&lt;br /&gt;
The factor should be set up so that for large and dark rooms (e.g. caves) the dynamic part is small, while for small, bright rooms (white walls) the dynamic part is bigger. Examples are: &amp;quot;0.05 0.05 0.05&amp;quot; and &amp;quot;0.1 0.1 0.1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Note that setting the dynamic factor to high can result in the player being busted by lights that are turned on in the room even when the player is in the shadow.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic_cap&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Used to cap the dynamic ambient light part. If set to 0, will be ignored, so to have a very very small&lt;br /&gt;
cap, set to &amp;quot;0.01&amp;quot;, e.g. if you want only the red part to be dynamic, set it f.i. &amp;quot;0.15 0.01 0.01&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Script calls ===&lt;br /&gt;
&lt;br /&gt;
The next four spawnargs all specify scripts to call when the player enters or exits a zone. Note that the very first zone is not &amp;quot;entered&amp;quot; by the player when the map starts, he is already there. That means &amp;quot;call_once_on_entry&amp;quot; for the start zone will be called when the player re-enters this zone for the first time.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is left by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is entered by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player leaves that zone.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player enters that zone.&lt;br /&gt;
&lt;br /&gt;
==== Example scripts ====&lt;br /&gt;
&lt;br /&gt;
Here is an example script that spawns an object where the &#039;&#039;&#039;info_location&#039;&#039;&#039; entity is for the zone the player just left. You can call this script by setting:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;call_once_on_exit&amp;quot; &amp;quot;spawn_pear&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
on your info_location entity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void spawn_pear( entity old_zone )&lt;br /&gt;
  {&lt;br /&gt;
  string location_name = old_zone.getName();&lt;br /&gt;
  sys.print (&amp;quot;Spawning pear after leaving &amp;quot; + location_name + &amp;quot;\n&amp;quot;);&lt;br /&gt;
  entity pear = sys.spawn(&amp;quot;atdm:moveable_food_pear&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // move the pear to the point of the info_location&lt;br /&gt;
  vector origin = old_zone.getOrigin();&lt;br /&gt;
  pear.setOrigin( origin );&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Adding ambient Sounds to your Map]]&lt;br /&gt;
* [[Ambient Sounds - Zone (using triggers)]]&lt;br /&gt;
* [[Sound File Formats]]&lt;br /&gt;
&lt;br /&gt;
{{tutorial-sound}}&lt;br /&gt;
{{editing}}&lt;br /&gt;
{{tutorial-scripting}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9311</id>
		<title>Location Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9311"/>
		<updated>2009-10-31T01:06:13Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Sound Shaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article describes how to setup &#039;&#039;&#039;locations&#039;&#039;&#039; (also called &amp;quot;location zones&amp;quot; or &amp;quot;zones&amp;quot;) in your level, and then use these to:&lt;br /&gt;
&lt;br /&gt;
* fade to different ambient &#039;&#039;&#039;light levels&#039;&#039;&#039; for each zone&lt;br /&gt;
* fade between different ambient &#039;&#039;&#039;sounds&#039;&#039;&#039; in each zone&lt;br /&gt;
* run &#039;&#039;&#039;scripts&#039;&#039;&#039; automatically when the player enters or exits a zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You need to use four types of entities in your map: &lt;br /&gt;
&lt;br /&gt;
* a special global entity (e.g. add only one, the position does not matter): &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
* a special global light entity named &#039;&#039;&#039;ambient_world&#039;&#039;&#039; &lt;br /&gt;
* multiple &#039;&#039;&#039;info_location&#039;&#039;&#039; and &#039;&#039;&#039;info_locationseperation&#039;&#039;&#039; entities&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
:Note:  Two alternative ways to get ambient sounds in your map are using speakers ([[Adding ambient Sounds to your Map]]), and using triggers ([[Ambient Sounds - Zone (using triggers)]]).  Speakers are good if you only want your ambient to cover a definite radius and have a very simple setup.  Triggers are basically obsoleted by the method in this tutorial.  The only time you might still want to use a trigger-system is if you want a ambient sound to begin at a place where for some reason you can&#039;t create a portal to mark the zone boundary, but you can still have a trigger brush.  There are some issues with a trigger system, too (f.i. their CPU and memory usage), that make the method in this tutorial superior.  &lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The atdm:location_settings entity ==&lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity in your blueroom (i.e., a room off to the side the player will never enter) or somewhere else in your map:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Default values ===&lt;br /&gt;
&lt;br /&gt;
The location_settings entity takes a few &#039;&#039;default&#039;&#039; spawnargs related to the ambient light settings:&lt;br /&gt;
&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_time&amp;quot;]]&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_delay&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
For their meaning and values, please refer to their sections.&lt;br /&gt;
&lt;br /&gt;
=== update_period ===&lt;br /&gt;
&lt;br /&gt;
The spawnarg &#039;&#039;&#039;update_period&#039;&#039;&#039; specifies the time in seconds between updates. A good value is 0.2, e.g. 5 times per second. That avoids to run the script too often, and still allows seamless transitions.&lt;br /&gt;
&lt;br /&gt;
=== Sound Shaders ===&lt;br /&gt;
&lt;br /&gt;
In the entity&#039;s spawnargs, put the names of all the ambient sounds you want to play in your map.  (This pre-loads the sounds into the speaker so there isn&#039;t a pause when they start playing.)  Put it in one of these property/value forms (without the quote marks):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_streets&amp;quot; &amp;quot;city_night01_loop_z&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_mansion&amp;quot; &amp;quot;sound/ambient/ambience/mansion_tense01a.ogg&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The left hand spawnarg should have a &amp;quot;snd_&amp;quot; prefix, and any name, but most useful is probably the name of the area it is for.  You&#039;ll use this name again when you place the location markers.  &lt;br /&gt;
&lt;br /&gt;
The right hand value points to the actual sound file that will play.  You can enter either the soundshader name, or the address where the sound file is (but see footnote).  You can see the soundshader names of ambient-ready sounds in the sub-folder &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot;.   You can find the address of the sound files in &amp;quot;Darkmod/sound/ambient/ambience&amp;quot; (remember to start the address with &amp;quot;sound&amp;quot; in the spawnarg).  You can also listen to the sounds at that location.  They are are in .ogg format.  &lt;br /&gt;
&lt;br /&gt;
 Edit:Baddcog-Running through this first time, leaving notes to be fixed/editted later.&lt;br /&gt;
 Hint on sounds, you can also create a speaker (left-click&amp;gt;speaker) and it will give you a sound directory where you can play sound files and find the names. No searching through sound folders outside  of DR.&lt;br /&gt;
&lt;br /&gt;
:Note that it is very easy to add custom ambients with this system.  Just create a folder in your .pk4 (a .zip file renamed to .pk4) and name the folder &amp;quot;sound&amp;quot;, with another folder inside it named after your FM or an abbreviation.  Put your custom sound inside that second folder.  (E.g., I have a custom ambient named Frozen.ogg, and my FM&#039;s name is Patently Dangerous.  So in my .pk4 was &amp;quot;sound/patent/frozen.ogg&amp;quot;.  Note that ambients must be in either .ogg or .wav format. Now in your speaker_zone_ambient, just put the sound&#039;s address in the spawnarg (but see footnote).  In my case, I have &amp;quot;snd_warehouse&amp;quot; &amp;quot;sound/patent/frozen.ogg&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
It is worth noting that one special &amp;quot;sound&amp;quot; is already loaded by default.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_silence&amp;quot; &amp;quot;silence&amp;quot;&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
You can see it if you check &amp;quot;Show Inherited Properties&amp;quot;.  This is the sound you use to turn &amp;quot;off&amp;quot; the ambient sounds playing, so there is silence in the zone.&lt;br /&gt;
&lt;br /&gt;
=== On Shader Names ===&lt;br /&gt;
&lt;br /&gt;
One footnote on the sound shader names. The &#039;&#039;shader tdm_ambient_ambience_zoned.sndshd&#039;&#039; has a special command (&amp;quot;leadin&amp;quot;) for its sounds that begins the ambient with a short pause.  This is to pre-empt a possible *pop* of sound for loud ambients which can occur when the player&#039;s system slows down (and only occasionally, at that), so the player never hears the pop.  (It&#039;s a quirk of how Doom3 does fade-ins; when you start a new sound, you have to rapidly fade it out first, like .001 seconds, then slowly fade back in.  But if the system slows and the ambient starts loud, it might stretch that .001 to something audible.)&lt;br /&gt;
&lt;br /&gt;
If you alternatively use the address or the shader name from &amp;quot;Darkmod/sound/tdm_ambient_ambience.sndshd&amp;quot; (which lack the &amp;quot;leadin&amp;quot; property) it will otherwise work fine, but you won&#039;t be protected from that occasional little pop (at least until we find another fix).  For ambients that start quietly or areas that won&#039;t slow the system down, it will probably never even be a problem and the player will never hear it, so using the address is fine, or using the tdm_ambient_ambience shader name if you don&#039;t want the tiny pause for whatever reason.  But if you want to control it, use the tdm_ambient_ambience_zoned name, and for a custom sound, to pre-empt the pop you&#039;ll need to use a custom shader with the &amp;quot;leadin&amp;quot; line.  Use the &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot; as a template to do that, and name the custom shader file something like YourFMsName.sndshd, and put it in the &amp;quot;sound&amp;quot; folder in your .pk4.  &lt;br /&gt;
&lt;br /&gt;
=== Sound Properties ===&lt;br /&gt;
&lt;br /&gt;
Regarding properties, the speaker (the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity is a speaker in disguise :) has by default the properties &amp;quot;omni&amp;quot;, &amp;quot;global&amp;quot;, and &amp;quot;looping&amp;quot; already turned on, so that all sounds played are heard everywhere, from no direction, and will loop.  If you change these properties (e.g., for one ambient) the change will apply to all ambients on the speaker.  So you probably don&#039;t want to turn these properties off.  &amp;quot;Volume&amp;quot; is another potential property; but it has been left off as a default. You can change the volume of sounds played on the speaker with the property, but again it will apply to all the ambients on the speaker.  &lt;br /&gt;
&lt;br /&gt;
Your entity will look like this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Speaker4.jpg]]&lt;br /&gt;
&lt;br /&gt;
You are finished with the ambient sound part now.&lt;br /&gt;
&lt;br /&gt;
== The Ambient Light ==&lt;br /&gt;
&lt;br /&gt;
You need to create an ambient light in your level. This will cover the entire level, and provide a minimum default light for when there is no other light covering a surface:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;{{RMB}} -&amp;gt; Create light&#039;&#039;&#039;&lt;br /&gt;
# Move the light&#039;s origin to the center of your map, and drag it&#039;s size so that it covers your entire map, and then some more. Remember to increase the size of that light when you build more area into your map!&lt;br /&gt;
# Open the light inspector (default shortcut {{key|L}}) and set the light texture to &#039;&#039;&#039;lights/ambientlightnfo&#039;&#039;&#039;&lt;br /&gt;
# Set the color of the light to a reasonable default, f.i. &amp;quot;8 8 8&amp;quot; This value will be used when a zone has no other ambient light settings&lt;br /&gt;
# Open the entity inspector (default shortcut {{key|N}}) and set the name of the light to &#039;&#039;&#039;ambient_world&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last step is important!&lt;br /&gt;
&lt;br /&gt;
You are done now with the global ambient light.&lt;br /&gt;
&lt;br /&gt;
== The Location Entities ==&lt;br /&gt;
&lt;br /&gt;
Now you need to set up the location system so the game knows where the zones are, and their boundaries where changes will happen.  A location is basically any area that&#039;s closed in by brushes and marked portals and contains an info_location entity. Unlike a vis-portaled area (which is one area between [[vis_portals]], a.k.a. a &amp;quot;leaf&amp;quot;), a zone can cover more than one portaled area (&amp;quot;leaves&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
As an aside, locations are also used for setting the EAX properties in the area (e.g., the echo-y-ness of a big hall or cave, or the dullness of a small carpeted room).  So you have a good reason to have them even in addition to handling ambient sounds and lights.  &lt;br /&gt;
&lt;br /&gt;
=== info_locationseparator ===&lt;br /&gt;
&lt;br /&gt;
As I suggested above, you have to mark all the portals leading in and out of a zone by hand.  You do this with an entity called a &#039;&#039;&#039;info_locationseparator&#039;&#039;&#039;.  Create one so it touches the portal you want as a boundary.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_locationseparator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t touch a portal with this entity, than it will not register in the game as the boundary to a new zone, and the zone will continue into the area on the other side of the portal.  This happens even if you have a second info_location (described below) on the other side (the game will just pick one and use that for the whole zone).  This can be a good thing because, say you have a mansion with 30 portals inside.  You can cover the whole area inside it by just marking the 2 or 3 portals leading into the mansion area through the doors and open windows, and everything inside that marked area will be counted as one location (just don&#039;t miss marking an exit, or have an un-portaled gap to the outside between brushes, or the location will leak outside.  It has to be hermetically sealed).  &lt;br /&gt;
&lt;br /&gt;
I have read discussion that a door touching a portal marks it as a location boundary, but in my experiments the door did not create a new location and I still had to use a info_locationseparator over the portal to register it as a boundary.  &lt;br /&gt;
&lt;br /&gt;
=== info_location ===&lt;br /&gt;
&lt;br /&gt;
Now, inside the zone you want to have, create an &#039;&#039;&#039;info_location&#039;&#039;&#039; entity:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Anywhere in the space of the zone is fine.  Name it the name of the zone you want (to make it easy to find when you push {{key|J}}).&lt;br /&gt;
&lt;br /&gt;
== Settings per location/zone ==&lt;br /&gt;
&lt;br /&gt;
On each info_location, you can set multiple spawnargs that adjust the light or sound for that location, as well&lt;br /&gt;
as run scripts. We cover them next:&lt;br /&gt;
&lt;br /&gt;
=== Ambient sound ===&lt;br /&gt;
&lt;br /&gt;
Now create a spawnarg property of &amp;quot;ambient&amp;quot; with the value being the speaker-name of the sound you used in the location_settings entity above (NOT the soundshader name or file name).  For example, &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;ambient&amp;quot;    &amp;quot;snd_streets&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will send a command to the location_settings (in its speaker capacity) to play the ambient it has registered under &amp;quot;snd_streets&amp;quot; that you entered.  When you enter a new zone, in turn, the new info_location sends a command to the speaker to turn off that ambient and start a new one.  &lt;br /&gt;
&lt;br /&gt;
If you wanted to have no ambient playing in the zone (and turn off any ambient started from another zone), you would use &amp;quot;snd_silence&amp;quot; as the value to command the speaker to turn off.  Also, if you have an info_location with no &amp;quot;ambient&amp;quot; value at all, it will also turn off the ambient (in the present version of this system).  That means if you make a new location but want the same ambient playing in it as the location next to it, you still need to add the ambient name for the already-playing ambient for it to continue playing into the new zone; otherwise it will turn off.  &lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Here are two info_locations on two sides of a portal, with an info_locationseparator touching the portal (more like piercing it), and with each info_location containing the name of the ambient that will play in its respective zone.&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_streets.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_silence.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
That&#039;s basically it.  The ambients will now turn on when you enter a zone and turn off when you enter a new zone, turning on the new ambient in that new zone.  If you open up the console, you should see a message saying that a new ambient is now playing in your current location, naming the ambient and location.&lt;br /&gt;
&lt;br /&gt;
=== Sound Fading ===&lt;br /&gt;
&lt;br /&gt;
Finally, there are a few other spawnargs on the info_locations that you usually don&#039;t have to worry about, but you can use them if you like, so I will mention them.  They concern the properties of the ambient fading.  Check the &amp;quot;Show Inhereted Properties&amp;quot; to see their default values.  Entering a new value will over-write the default value, but only for that one object.  &lt;br /&gt;
&lt;br /&gt;
[[Image:Info_loc.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
==== fiduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in duration&amp;quot;.  This is the length of time in seconds it takes for the in-coming ambient (the one for this zone) to completely fade-in.  The default value is 4 seconds.  You can, e.g., make the fade last much longer with a larger value.  &lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want your ambient to fade in at all, but start immediately at full volume, change this value to &amp;quot;.001&amp;quot; (NOT zero). &lt;br /&gt;
&lt;br /&gt;
==== foduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out duration&amp;quot;.  This is the length of time in seconds it takes for the out-going ambient (the one from the zone you&#039;re leaving) to completely fade-out.  Again, if you want it to cut right off without fading, use a value of &amp;quot;.001&amp;quot;.   &lt;br /&gt;
&lt;br /&gt;
==== fidelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in Delay&amp;quot;.  You can delay the beginning of the in-coming ambient&#039;s fade-in after you enter the new area.  You might want to do this, for example, if you want the out-going ambient to completely fade out before you begin fading in the new ambient.  So you would set fidelay to the same time as the foduration.  By default it is set to .001 so that there is no delay and the fade in starts immediately.  If the out-going fade-out also starts immediately (which happens by default), then they blend together in a nice transition fade.  &lt;br /&gt;
&lt;br /&gt;
==== fodelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out Delay&amp;quot;.  Similarly you can delay the beginning of the out-going ambient&#039;s fade out.  You might want to do this if you wanted the in-coming ambient to completely fade in before you started the fade out of the old ambient.  Then you would set it to fiduration.  Like fidelay, it is set to .001 so there is no delay and the fade out starts immediately.  &lt;br /&gt;
&lt;br /&gt;
==== fovolume ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out volume&amp;quot;.  This sets the volume to which the out-going ambient fades to.  -60 turns it off, which is the default (0 means no decrease in volume at all).  If you go any higher than -60, than it will leave the old ambient still playing at a lower volume under the new ambient (at least until you enter a 3rd new zone).  Not sure why you&#039;d ever want to do that, so you probably don&#039;t want to change it.  &lt;br /&gt;
&lt;br /&gt;
==== volume ====&lt;br /&gt;
&lt;br /&gt;
Technically &amp;quot;Fade in volume&amp;quot;.  This sets the volume to which the in-coming ambient fades into.  60 is to its normal full volume, which is the default (0 would be no increase in volume).  Any lower value than 60 fades it into a lower volume.  Allegedly that means you can control the new ambients&#039; volume with this, which is why I named it &amp;quot;volume&amp;quot; instead of &amp;quot;fivolume&amp;quot;.  In my testing however, I couldn&#039;t seem to actually change the volume with this property.  So I don&#039;t know if it works, or how exactly it works.  But it&#039;s here if you want to experiment with it yourself.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These last two (&#039;&#039;&#039;foduration_2foip&#039;&#039;&#039; and &#039;&#039;&#039;fiduration_2foip&#039;&#039;&#039;) are pretty obscure situations, so you probably don&#039;t need to ever mess with them unless you want to completely get rid of ambient fades (then you can set them to .001 like the other &#039;fade duration&#039; properties).  &lt;br /&gt;
&lt;br /&gt;
==== foduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-out duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  This provides a shorter fade-out duration (in seconds) for when the player quickly runs into a 3rd location, such that the 1st and 2nd ambients from areas the player just left are still fading out (hence the 2 fade-outs). But the quickend-fade-out only applies to the 1st ambient fading out. (i.e., not of the ambient you just left, but the one you left just before that -- unless you&#039;re backtracking, then it just fades the prev-prev ambient back in).  Fading out that prev-prev ambient more quickly in turn quickens the time the new fade-in can start (because you can&#039;t have 3 sounds on at the same time on the zone speaker, only 2).  So it in effect reduces the gap of quiet that happens before the newest ambient fully fades-in by enabling it to start its fade-in faster.  The default is 1 second.  &lt;br /&gt;
&lt;br /&gt;
==== fiduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-in duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  Like its counterpart, this sets a shorter duration of a fade-in of a new ambient (in seconds) when you run into a 3rd location, while the ambients from the 1st and 2nd locations are fading out.  Again, because so many ambients are fading out, it can leave a gap of silence for a bit until the new 3rd ambient fades in.  So setting a shorter duration than usual for the newest ambient to fully fade in helps shorten the quiet space.  The default is 2 seconds (as opposed to a normal default fade-in duration of 4 seconds).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Example of Location with No Fading Transition ====&lt;br /&gt;
&lt;br /&gt;
As mentioned above, if you wanted a set-up that turned off all fades so that the out-going ambient shut directly off and the in-coming ambient turns directly on, you&#039;d change all the duration properties to .001, like the following image.  (Note that this modifies the transition only for entering this one location.  All the other info_locations maintain their default values unless you also change them by hand.)  &lt;br /&gt;
&lt;br /&gt;
[[image: Fade_duration.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
=== Ambient light settings ===&lt;br /&gt;
&lt;br /&gt;
These spawnargs can be set on &#039;&#039;&#039;atdm:info_location&#039;&#039;&#039; entities and apply to the current zone then:&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This spawnarg specifies the ambient light color for this zone. Setting it f.i. to &amp;quot;0.10 0.02 0.02&amp;quot; would fade the ambient light to a slightly reddish color. This can be useful for covering a lava cave. Other examples are slightly blue light for moonlit outsides, greenish cast for caves or underwater areas etc.&lt;br /&gt;
&lt;br /&gt;
If you do not set this on an info_location entity, the default value of the global &amp;quot;ambient_world&amp;quot; entity will be used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:*You need to set the color values as fractions between 0 and 1, e.g. &#039;&#039;&#039;&amp;quot;0.08 0.08 0.02&amp;quot;&#039;&#039;&#039; and &#039;&#039;&#039;NOT&#039;&#039;&#039; as integers like so &amp;lt;s&amp;gt;&amp;quot;8 8 2&amp;quot;&amp;lt;/s&amp;gt;, or it will not work.&lt;br /&gt;
&lt;br /&gt;
:*If the color change between two zones is too big, the fading and change can become obvious to the player and spoil the subtlety. This can happen for instance if you zoom from a bluish-lit outside directly to a reddish-glowing cave inside. To help the transition, consider adding an intermidiate zone with a light color that is either in between the two, or a more neutral grey. Making it not possible to look from one zone to the other also helps, this way they player can&#039;t see that f.i. the outside ground suddenly also glows reddish when looking back from the cave entrance to the outside.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_time&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds it will take to fade from the current ambient light color to the one specified for this location. A slower fade means more gradual light changes, so they don&#039;t become too obvious to the player. Use at least 3, better 5 or 7 seconds.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_delay&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds the fading will be delayed when the player changes location.&lt;br /&gt;
&lt;br /&gt;
Useful to prevent fades toggling back and forth when the player stands in a doorway and goes a nudge forward/backwards. A good value is at least 1 second.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
If set to a value other than &amp;quot;0 0 0&amp;quot;, the lights in the current zone will be all summed together and then&lt;br /&gt;
added to the current base ambient light. This happens with the frequency of &#039;&#039;&#039;update_period&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The basic effect is that a roaring fire also slightly makes the walls flicker, and extinguishing all lights in a room would decrease the ambient light slightly.&lt;br /&gt;
&lt;br /&gt;
The factor should be set up so that for large and dark rooms (e.g. caves) the dynamic part is small, while for small, bright rooms (white walls) the dynamic part is bigger. Examples are: &amp;quot;0.05 0.05 0.05&amp;quot; and &amp;quot;0.1 0.1 0.1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Note that setting the dynamic factor to high can result in the player being busted by lights that are turned on in the room even when the player is in the shadow.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic_cap&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Used to cap the dynamic ambient light part. If set to 0, will be ignored, so to have a very very small&lt;br /&gt;
cap, set to &amp;quot;0.01&amp;quot;, e.g. if you want only the red part to be dynamic, set it f.i. &amp;quot;0.15 0.01 0.01&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Script calls ===&lt;br /&gt;
&lt;br /&gt;
The next four spawnargs all specify scripts to call when the player enters or exits a zone. Note that the very first zone is not &amp;quot;entered&amp;quot; by the player when the map starts, he is already there. That means &amp;quot;call_once_on_entry&amp;quot; for the start zone will be called when the player re-enters this zone for the first time.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is left by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is entered by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player leaves that zone.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player enters that zone.&lt;br /&gt;
&lt;br /&gt;
==== Example scripts ====&lt;br /&gt;
&lt;br /&gt;
Here is an example script that spawns an object where the &#039;&#039;&#039;info_location&#039;&#039;&#039; entity is for the zone the player just left. You can call this script by setting:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;call_once_on_exit&amp;quot; &amp;quot;spawn_pear&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
on your info_location entity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void spawn_pear( entity old_zone )&lt;br /&gt;
  {&lt;br /&gt;
  string location_name = old_zone.getName();&lt;br /&gt;
  sys.print (&amp;quot;Spawning pear after leaving &amp;quot; + location_name + &amp;quot;\n&amp;quot;);&lt;br /&gt;
  entity pear = sys.spawn(&amp;quot;atdm:moveable_food_pear&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // move the pear to the point of the info_location&lt;br /&gt;
  vector origin = old_zone.getOrigin();&lt;br /&gt;
  pear.setOrigin( origin );&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Adding ambient Sounds to your Map]]&lt;br /&gt;
* [[Ambient Sounds - Zone (using triggers)]]&lt;br /&gt;
* [[Sound File Formats]]&lt;br /&gt;
&lt;br /&gt;
{{tutorial-sound}}&lt;br /&gt;
{{editing}}&lt;br /&gt;
{{tutorial-scripting}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9310</id>
		<title>Location Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9310"/>
		<updated>2009-10-31T01:05:51Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Sound Shaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article describes how to setup &#039;&#039;&#039;locations&#039;&#039;&#039; (also called &amp;quot;location zones&amp;quot; or &amp;quot;zones&amp;quot;) in your level, and then use these to:&lt;br /&gt;
&lt;br /&gt;
* fade to different ambient &#039;&#039;&#039;light levels&#039;&#039;&#039; for each zone&lt;br /&gt;
* fade between different ambient &#039;&#039;&#039;sounds&#039;&#039;&#039; in each zone&lt;br /&gt;
* run &#039;&#039;&#039;scripts&#039;&#039;&#039; automatically when the player enters or exits a zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You need to use four types of entities in your map: &lt;br /&gt;
&lt;br /&gt;
* a special global entity (e.g. add only one, the position does not matter): &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
* a special global light entity named &#039;&#039;&#039;ambient_world&#039;&#039;&#039; &lt;br /&gt;
* multiple &#039;&#039;&#039;info_location&#039;&#039;&#039; and &#039;&#039;&#039;info_locationseperation&#039;&#039;&#039; entities&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
:Note:  Two alternative ways to get ambient sounds in your map are using speakers ([[Adding ambient Sounds to your Map]]), and using triggers ([[Ambient Sounds - Zone (using triggers)]]).  Speakers are good if you only want your ambient to cover a definite radius and have a very simple setup.  Triggers are basically obsoleted by the method in this tutorial.  The only time you might still want to use a trigger-system is if you want a ambient sound to begin at a place where for some reason you can&#039;t create a portal to mark the zone boundary, but you can still have a trigger brush.  There are some issues with a trigger system, too (f.i. their CPU and memory usage), that make the method in this tutorial superior.  &lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The atdm:location_settings entity ==&lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity in your blueroom (i.e., a room off to the side the player will never enter) or somewhere else in your map:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Default values ===&lt;br /&gt;
&lt;br /&gt;
The location_settings entity takes a few &#039;&#039;default&#039;&#039; spawnargs related to the ambient light settings:&lt;br /&gt;
&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_time&amp;quot;]]&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_delay&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
For their meaning and values, please refer to their sections.&lt;br /&gt;
&lt;br /&gt;
=== update_period ===&lt;br /&gt;
&lt;br /&gt;
The spawnarg &#039;&#039;&#039;update_period&#039;&#039;&#039; specifies the time in seconds between updates. A good value is 0.2, e.g. 5 times per second. That avoids to run the script too often, and still allows seamless transitions.&lt;br /&gt;
&lt;br /&gt;
=== Sound Shaders ===&lt;br /&gt;
&lt;br /&gt;
In the entity&#039;s spawnargs, put the names of all the ambient sounds you want to play in your map.  (This pre-loads the sounds into the speaker so there isn&#039;t a pause when they start playing.)  Put it in one of these property/value forms (without the quote marks):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_streets&amp;quot; &amp;quot;city_night01_loop_z&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_mansion&amp;quot; &amp;quot;sound/ambient/ambience/mansion_tense01a.ogg&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The left hand spawnarg should have a &amp;quot;snd_&amp;quot; prefix, and any name, but most useful is probably the name of the area it is for.  You&#039;ll use this name again when you place the location markers.  &lt;br /&gt;
&lt;br /&gt;
The right hand value points to the actual sound file that will play.  You can enter either the soundshader name, or the address where the sound file is (but see footnote).  You can see the soundshader names of ambient-ready sounds in the sub-folder &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot;.   You can find the address of the sound files in &amp;quot;Darkmod/sound/ambient/ambience&amp;quot; (remember to start the address with &amp;quot;sound&amp;quot; in the spawnarg).  You can also listen to the sounds at that location.  They are are in .ogg format.  &lt;br /&gt;
&lt;br /&gt;
 Edit:Baddcog-Running through this first time, leaving notes to be fixed/editted later.&lt;br /&gt;
Hint on sounds, you can also create a speaker (left-click&amp;gt;speaker) and it will give you a sound directory where you can play sound files and find the names. No searching through sound folders outside of DR.&lt;br /&gt;
&lt;br /&gt;
:Note that it is very easy to add custom ambients with this system.  Just create a folder in your .pk4 (a .zip file renamed to .pk4) and name the folder &amp;quot;sound&amp;quot;, with another folder inside it named after your FM or an abbreviation.  Put your custom sound inside that second folder.  (E.g., I have a custom ambient named Frozen.ogg, and my FM&#039;s name is Patently Dangerous.  So in my .pk4 was &amp;quot;sound/patent/frozen.ogg&amp;quot;.  Note that ambients must be in either .ogg or .wav format. Now in your speaker_zone_ambient, just put the sound&#039;s address in the spawnarg (but see footnote).  In my case, I have &amp;quot;snd_warehouse&amp;quot; &amp;quot;sound/patent/frozen.ogg&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
It is worth noting that one special &amp;quot;sound&amp;quot; is already loaded by default.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_silence&amp;quot; &amp;quot;silence&amp;quot;&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
You can see it if you check &amp;quot;Show Inherited Properties&amp;quot;.  This is the sound you use to turn &amp;quot;off&amp;quot; the ambient sounds playing, so there is silence in the zone.&lt;br /&gt;
&lt;br /&gt;
=== On Shader Names ===&lt;br /&gt;
&lt;br /&gt;
One footnote on the sound shader names. The &#039;&#039;shader tdm_ambient_ambience_zoned.sndshd&#039;&#039; has a special command (&amp;quot;leadin&amp;quot;) for its sounds that begins the ambient with a short pause.  This is to pre-empt a possible *pop* of sound for loud ambients which can occur when the player&#039;s system slows down (and only occasionally, at that), so the player never hears the pop.  (It&#039;s a quirk of how Doom3 does fade-ins; when you start a new sound, you have to rapidly fade it out first, like .001 seconds, then slowly fade back in.  But if the system slows and the ambient starts loud, it might stretch that .001 to something audible.)&lt;br /&gt;
&lt;br /&gt;
If you alternatively use the address or the shader name from &amp;quot;Darkmod/sound/tdm_ambient_ambience.sndshd&amp;quot; (which lack the &amp;quot;leadin&amp;quot; property) it will otherwise work fine, but you won&#039;t be protected from that occasional little pop (at least until we find another fix).  For ambients that start quietly or areas that won&#039;t slow the system down, it will probably never even be a problem and the player will never hear it, so using the address is fine, or using the tdm_ambient_ambience shader name if you don&#039;t want the tiny pause for whatever reason.  But if you want to control it, use the tdm_ambient_ambience_zoned name, and for a custom sound, to pre-empt the pop you&#039;ll need to use a custom shader with the &amp;quot;leadin&amp;quot; line.  Use the &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot; as a template to do that, and name the custom shader file something like YourFMsName.sndshd, and put it in the &amp;quot;sound&amp;quot; folder in your .pk4.  &lt;br /&gt;
&lt;br /&gt;
=== Sound Properties ===&lt;br /&gt;
&lt;br /&gt;
Regarding properties, the speaker (the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity is a speaker in disguise :) has by default the properties &amp;quot;omni&amp;quot;, &amp;quot;global&amp;quot;, and &amp;quot;looping&amp;quot; already turned on, so that all sounds played are heard everywhere, from no direction, and will loop.  If you change these properties (e.g., for one ambient) the change will apply to all ambients on the speaker.  So you probably don&#039;t want to turn these properties off.  &amp;quot;Volume&amp;quot; is another potential property; but it has been left off as a default. You can change the volume of sounds played on the speaker with the property, but again it will apply to all the ambients on the speaker.  &lt;br /&gt;
&lt;br /&gt;
Your entity will look like this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Speaker4.jpg]]&lt;br /&gt;
&lt;br /&gt;
You are finished with the ambient sound part now.&lt;br /&gt;
&lt;br /&gt;
== The Ambient Light ==&lt;br /&gt;
&lt;br /&gt;
You need to create an ambient light in your level. This will cover the entire level, and provide a minimum default light for when there is no other light covering a surface:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;{{RMB}} -&amp;gt; Create light&#039;&#039;&#039;&lt;br /&gt;
# Move the light&#039;s origin to the center of your map, and drag it&#039;s size so that it covers your entire map, and then some more. Remember to increase the size of that light when you build more area into your map!&lt;br /&gt;
# Open the light inspector (default shortcut {{key|L}}) and set the light texture to &#039;&#039;&#039;lights/ambientlightnfo&#039;&#039;&#039;&lt;br /&gt;
# Set the color of the light to a reasonable default, f.i. &amp;quot;8 8 8&amp;quot; This value will be used when a zone has no other ambient light settings&lt;br /&gt;
# Open the entity inspector (default shortcut {{key|N}}) and set the name of the light to &#039;&#039;&#039;ambient_world&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last step is important!&lt;br /&gt;
&lt;br /&gt;
You are done now with the global ambient light.&lt;br /&gt;
&lt;br /&gt;
== The Location Entities ==&lt;br /&gt;
&lt;br /&gt;
Now you need to set up the location system so the game knows where the zones are, and their boundaries where changes will happen.  A location is basically any area that&#039;s closed in by brushes and marked portals and contains an info_location entity. Unlike a vis-portaled area (which is one area between [[vis_portals]], a.k.a. a &amp;quot;leaf&amp;quot;), a zone can cover more than one portaled area (&amp;quot;leaves&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
As an aside, locations are also used for setting the EAX properties in the area (e.g., the echo-y-ness of a big hall or cave, or the dullness of a small carpeted room).  So you have a good reason to have them even in addition to handling ambient sounds and lights.  &lt;br /&gt;
&lt;br /&gt;
=== info_locationseparator ===&lt;br /&gt;
&lt;br /&gt;
As I suggested above, you have to mark all the portals leading in and out of a zone by hand.  You do this with an entity called a &#039;&#039;&#039;info_locationseparator&#039;&#039;&#039;.  Create one so it touches the portal you want as a boundary.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_locationseparator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t touch a portal with this entity, than it will not register in the game as the boundary to a new zone, and the zone will continue into the area on the other side of the portal.  This happens even if you have a second info_location (described below) on the other side (the game will just pick one and use that for the whole zone).  This can be a good thing because, say you have a mansion with 30 portals inside.  You can cover the whole area inside it by just marking the 2 or 3 portals leading into the mansion area through the doors and open windows, and everything inside that marked area will be counted as one location (just don&#039;t miss marking an exit, or have an un-portaled gap to the outside between brushes, or the location will leak outside.  It has to be hermetically sealed).  &lt;br /&gt;
&lt;br /&gt;
I have read discussion that a door touching a portal marks it as a location boundary, but in my experiments the door did not create a new location and I still had to use a info_locationseparator over the portal to register it as a boundary.  &lt;br /&gt;
&lt;br /&gt;
=== info_location ===&lt;br /&gt;
&lt;br /&gt;
Now, inside the zone you want to have, create an &#039;&#039;&#039;info_location&#039;&#039;&#039; entity:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Anywhere in the space of the zone is fine.  Name it the name of the zone you want (to make it easy to find when you push {{key|J}}).&lt;br /&gt;
&lt;br /&gt;
== Settings per location/zone ==&lt;br /&gt;
&lt;br /&gt;
On each info_location, you can set multiple spawnargs that adjust the light or sound for that location, as well&lt;br /&gt;
as run scripts. We cover them next:&lt;br /&gt;
&lt;br /&gt;
=== Ambient sound ===&lt;br /&gt;
&lt;br /&gt;
Now create a spawnarg property of &amp;quot;ambient&amp;quot; with the value being the speaker-name of the sound you used in the location_settings entity above (NOT the soundshader name or file name).  For example, &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;ambient&amp;quot;    &amp;quot;snd_streets&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will send a command to the location_settings (in its speaker capacity) to play the ambient it has registered under &amp;quot;snd_streets&amp;quot; that you entered.  When you enter a new zone, in turn, the new info_location sends a command to the speaker to turn off that ambient and start a new one.  &lt;br /&gt;
&lt;br /&gt;
If you wanted to have no ambient playing in the zone (and turn off any ambient started from another zone), you would use &amp;quot;snd_silence&amp;quot; as the value to command the speaker to turn off.  Also, if you have an info_location with no &amp;quot;ambient&amp;quot; value at all, it will also turn off the ambient (in the present version of this system).  That means if you make a new location but want the same ambient playing in it as the location next to it, you still need to add the ambient name for the already-playing ambient for it to continue playing into the new zone; otherwise it will turn off.  &lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Here are two info_locations on two sides of a portal, with an info_locationseparator touching the portal (more like piercing it), and with each info_location containing the name of the ambient that will play in its respective zone.&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_streets.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_silence.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
That&#039;s basically it.  The ambients will now turn on when you enter a zone and turn off when you enter a new zone, turning on the new ambient in that new zone.  If you open up the console, you should see a message saying that a new ambient is now playing in your current location, naming the ambient and location.&lt;br /&gt;
&lt;br /&gt;
=== Sound Fading ===&lt;br /&gt;
&lt;br /&gt;
Finally, there are a few other spawnargs on the info_locations that you usually don&#039;t have to worry about, but you can use them if you like, so I will mention them.  They concern the properties of the ambient fading.  Check the &amp;quot;Show Inhereted Properties&amp;quot; to see their default values.  Entering a new value will over-write the default value, but only for that one object.  &lt;br /&gt;
&lt;br /&gt;
[[Image:Info_loc.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
==== fiduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in duration&amp;quot;.  This is the length of time in seconds it takes for the in-coming ambient (the one for this zone) to completely fade-in.  The default value is 4 seconds.  You can, e.g., make the fade last much longer with a larger value.  &lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want your ambient to fade in at all, but start immediately at full volume, change this value to &amp;quot;.001&amp;quot; (NOT zero). &lt;br /&gt;
&lt;br /&gt;
==== foduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out duration&amp;quot;.  This is the length of time in seconds it takes for the out-going ambient (the one from the zone you&#039;re leaving) to completely fade-out.  Again, if you want it to cut right off without fading, use a value of &amp;quot;.001&amp;quot;.   &lt;br /&gt;
&lt;br /&gt;
==== fidelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in Delay&amp;quot;.  You can delay the beginning of the in-coming ambient&#039;s fade-in after you enter the new area.  You might want to do this, for example, if you want the out-going ambient to completely fade out before you begin fading in the new ambient.  So you would set fidelay to the same time as the foduration.  By default it is set to .001 so that there is no delay and the fade in starts immediately.  If the out-going fade-out also starts immediately (which happens by default), then they blend together in a nice transition fade.  &lt;br /&gt;
&lt;br /&gt;
==== fodelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out Delay&amp;quot;.  Similarly you can delay the beginning of the out-going ambient&#039;s fade out.  You might want to do this if you wanted the in-coming ambient to completely fade in before you started the fade out of the old ambient.  Then you would set it to fiduration.  Like fidelay, it is set to .001 so there is no delay and the fade out starts immediately.  &lt;br /&gt;
&lt;br /&gt;
==== fovolume ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out volume&amp;quot;.  This sets the volume to which the out-going ambient fades to.  -60 turns it off, which is the default (0 means no decrease in volume at all).  If you go any higher than -60, than it will leave the old ambient still playing at a lower volume under the new ambient (at least until you enter a 3rd new zone).  Not sure why you&#039;d ever want to do that, so you probably don&#039;t want to change it.  &lt;br /&gt;
&lt;br /&gt;
==== volume ====&lt;br /&gt;
&lt;br /&gt;
Technically &amp;quot;Fade in volume&amp;quot;.  This sets the volume to which the in-coming ambient fades into.  60 is to its normal full volume, which is the default (0 would be no increase in volume).  Any lower value than 60 fades it into a lower volume.  Allegedly that means you can control the new ambients&#039; volume with this, which is why I named it &amp;quot;volume&amp;quot; instead of &amp;quot;fivolume&amp;quot;.  In my testing however, I couldn&#039;t seem to actually change the volume with this property.  So I don&#039;t know if it works, or how exactly it works.  But it&#039;s here if you want to experiment with it yourself.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These last two (&#039;&#039;&#039;foduration_2foip&#039;&#039;&#039; and &#039;&#039;&#039;fiduration_2foip&#039;&#039;&#039;) are pretty obscure situations, so you probably don&#039;t need to ever mess with them unless you want to completely get rid of ambient fades (then you can set them to .001 like the other &#039;fade duration&#039; properties).  &lt;br /&gt;
&lt;br /&gt;
==== foduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-out duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  This provides a shorter fade-out duration (in seconds) for when the player quickly runs into a 3rd location, such that the 1st and 2nd ambients from areas the player just left are still fading out (hence the 2 fade-outs). But the quickend-fade-out only applies to the 1st ambient fading out. (i.e., not of the ambient you just left, but the one you left just before that -- unless you&#039;re backtracking, then it just fades the prev-prev ambient back in).  Fading out that prev-prev ambient more quickly in turn quickens the time the new fade-in can start (because you can&#039;t have 3 sounds on at the same time on the zone speaker, only 2).  So it in effect reduces the gap of quiet that happens before the newest ambient fully fades-in by enabling it to start its fade-in faster.  The default is 1 second.  &lt;br /&gt;
&lt;br /&gt;
==== fiduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-in duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  Like its counterpart, this sets a shorter duration of a fade-in of a new ambient (in seconds) when you run into a 3rd location, while the ambients from the 1st and 2nd locations are fading out.  Again, because so many ambients are fading out, it can leave a gap of silence for a bit until the new 3rd ambient fades in.  So setting a shorter duration than usual for the newest ambient to fully fade in helps shorten the quiet space.  The default is 2 seconds (as opposed to a normal default fade-in duration of 4 seconds).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Example of Location with No Fading Transition ====&lt;br /&gt;
&lt;br /&gt;
As mentioned above, if you wanted a set-up that turned off all fades so that the out-going ambient shut directly off and the in-coming ambient turns directly on, you&#039;d change all the duration properties to .001, like the following image.  (Note that this modifies the transition only for entering this one location.  All the other info_locations maintain their default values unless you also change them by hand.)  &lt;br /&gt;
&lt;br /&gt;
[[image: Fade_duration.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
=== Ambient light settings ===&lt;br /&gt;
&lt;br /&gt;
These spawnargs can be set on &#039;&#039;&#039;atdm:info_location&#039;&#039;&#039; entities and apply to the current zone then:&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This spawnarg specifies the ambient light color for this zone. Setting it f.i. to &amp;quot;0.10 0.02 0.02&amp;quot; would fade the ambient light to a slightly reddish color. This can be useful for covering a lava cave. Other examples are slightly blue light for moonlit outsides, greenish cast for caves or underwater areas etc.&lt;br /&gt;
&lt;br /&gt;
If you do not set this on an info_location entity, the default value of the global &amp;quot;ambient_world&amp;quot; entity will be used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:*You need to set the color values as fractions between 0 and 1, e.g. &#039;&#039;&#039;&amp;quot;0.08 0.08 0.02&amp;quot;&#039;&#039;&#039; and &#039;&#039;&#039;NOT&#039;&#039;&#039; as integers like so &amp;lt;s&amp;gt;&amp;quot;8 8 2&amp;quot;&amp;lt;/s&amp;gt;, or it will not work.&lt;br /&gt;
&lt;br /&gt;
:*If the color change between two zones is too big, the fading and change can become obvious to the player and spoil the subtlety. This can happen for instance if you zoom from a bluish-lit outside directly to a reddish-glowing cave inside. To help the transition, consider adding an intermidiate zone with a light color that is either in between the two, or a more neutral grey. Making it not possible to look from one zone to the other also helps, this way they player can&#039;t see that f.i. the outside ground suddenly also glows reddish when looking back from the cave entrance to the outside.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_time&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds it will take to fade from the current ambient light color to the one specified for this location. A slower fade means more gradual light changes, so they don&#039;t become too obvious to the player. Use at least 3, better 5 or 7 seconds.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_delay&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds the fading will be delayed when the player changes location.&lt;br /&gt;
&lt;br /&gt;
Useful to prevent fades toggling back and forth when the player stands in a doorway and goes a nudge forward/backwards. A good value is at least 1 second.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
If set to a value other than &amp;quot;0 0 0&amp;quot;, the lights in the current zone will be all summed together and then&lt;br /&gt;
added to the current base ambient light. This happens with the frequency of &#039;&#039;&#039;update_period&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The basic effect is that a roaring fire also slightly makes the walls flicker, and extinguishing all lights in a room would decrease the ambient light slightly.&lt;br /&gt;
&lt;br /&gt;
The factor should be set up so that for large and dark rooms (e.g. caves) the dynamic part is small, while for small, bright rooms (white walls) the dynamic part is bigger. Examples are: &amp;quot;0.05 0.05 0.05&amp;quot; and &amp;quot;0.1 0.1 0.1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Note that setting the dynamic factor to high can result in the player being busted by lights that are turned on in the room even when the player is in the shadow.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic_cap&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Used to cap the dynamic ambient light part. If set to 0, will be ignored, so to have a very very small&lt;br /&gt;
cap, set to &amp;quot;0.01&amp;quot;, e.g. if you want only the red part to be dynamic, set it f.i. &amp;quot;0.15 0.01 0.01&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Script calls ===&lt;br /&gt;
&lt;br /&gt;
The next four spawnargs all specify scripts to call when the player enters or exits a zone. Note that the very first zone is not &amp;quot;entered&amp;quot; by the player when the map starts, he is already there. That means &amp;quot;call_once_on_entry&amp;quot; for the start zone will be called when the player re-enters this zone for the first time.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is left by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is entered by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player leaves that zone.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player enters that zone.&lt;br /&gt;
&lt;br /&gt;
==== Example scripts ====&lt;br /&gt;
&lt;br /&gt;
Here is an example script that spawns an object where the &#039;&#039;&#039;info_location&#039;&#039;&#039; entity is for the zone the player just left. You can call this script by setting:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;call_once_on_exit&amp;quot; &amp;quot;spawn_pear&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
on your info_location entity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void spawn_pear( entity old_zone )&lt;br /&gt;
  {&lt;br /&gt;
  string location_name = old_zone.getName();&lt;br /&gt;
  sys.print (&amp;quot;Spawning pear after leaving &amp;quot; + location_name + &amp;quot;\n&amp;quot;);&lt;br /&gt;
  entity pear = sys.spawn(&amp;quot;atdm:moveable_food_pear&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // move the pear to the point of the info_location&lt;br /&gt;
  vector origin = old_zone.getOrigin();&lt;br /&gt;
  pear.setOrigin( origin );&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Adding ambient Sounds to your Map]]&lt;br /&gt;
* [[Ambient Sounds - Zone (using triggers)]]&lt;br /&gt;
* [[Sound File Formats]]&lt;br /&gt;
&lt;br /&gt;
{{tutorial-sound}}&lt;br /&gt;
{{editing}}&lt;br /&gt;
{{tutorial-scripting}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9309</id>
		<title>Location Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9309"/>
		<updated>2009-10-31T01:05:31Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Sound Shaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article describes how to setup &#039;&#039;&#039;locations&#039;&#039;&#039; (also called &amp;quot;location zones&amp;quot; or &amp;quot;zones&amp;quot;) in your level, and then use these to:&lt;br /&gt;
&lt;br /&gt;
* fade to different ambient &#039;&#039;&#039;light levels&#039;&#039;&#039; for each zone&lt;br /&gt;
* fade between different ambient &#039;&#039;&#039;sounds&#039;&#039;&#039; in each zone&lt;br /&gt;
* run &#039;&#039;&#039;scripts&#039;&#039;&#039; automatically when the player enters or exits a zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You need to use four types of entities in your map: &lt;br /&gt;
&lt;br /&gt;
* a special global entity (e.g. add only one, the position does not matter): &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
* a special global light entity named &#039;&#039;&#039;ambient_world&#039;&#039;&#039; &lt;br /&gt;
* multiple &#039;&#039;&#039;info_location&#039;&#039;&#039; and &#039;&#039;&#039;info_locationseperation&#039;&#039;&#039; entities&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
:Note:  Two alternative ways to get ambient sounds in your map are using speakers ([[Adding ambient Sounds to your Map]]), and using triggers ([[Ambient Sounds - Zone (using triggers)]]).  Speakers are good if you only want your ambient to cover a definite radius and have a very simple setup.  Triggers are basically obsoleted by the method in this tutorial.  The only time you might still want to use a trigger-system is if you want a ambient sound to begin at a place where for some reason you can&#039;t create a portal to mark the zone boundary, but you can still have a trigger brush.  There are some issues with a trigger system, too (f.i. their CPU and memory usage), that make the method in this tutorial superior.  &lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The atdm:location_settings entity ==&lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity in your blueroom (i.e., a room off to the side the player will never enter) or somewhere else in your map:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Default values ===&lt;br /&gt;
&lt;br /&gt;
The location_settings entity takes a few &#039;&#039;default&#039;&#039; spawnargs related to the ambient light settings:&lt;br /&gt;
&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_time&amp;quot;]]&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_delay&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
For their meaning and values, please refer to their sections.&lt;br /&gt;
&lt;br /&gt;
=== update_period ===&lt;br /&gt;
&lt;br /&gt;
The spawnarg &#039;&#039;&#039;update_period&#039;&#039;&#039; specifies the time in seconds between updates. A good value is 0.2, e.g. 5 times per second. That avoids to run the script too often, and still allows seamless transitions.&lt;br /&gt;
&lt;br /&gt;
=== Sound Shaders ===&lt;br /&gt;
&lt;br /&gt;
In the entity&#039;s spawnargs, put the names of all the ambient sounds you want to play in your map.  (This pre-loads the sounds into the speaker so there isn&#039;t a pause when they start playing.)  Put it in one of these property/value forms (without the quote marks):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_streets&amp;quot; &amp;quot;city_night01_loop_z&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_mansion&amp;quot; &amp;quot;sound/ambient/ambience/mansion_tense01a.ogg&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The left hand spawnarg should have a &amp;quot;snd_&amp;quot; prefix, and any name, but most useful is probably the name of the area it is for.  You&#039;ll use this name again when you place the location markers.  &lt;br /&gt;
&lt;br /&gt;
The right hand value points to the actual sound file that will play.  You can enter either the soundshader name, or the address where the sound file is (but see footnote).  You can see the soundshader names of ambient-ready sounds in the sub-folder &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot;.   You can find the address of the sound files in &amp;quot;Darkmod/sound/ambient/ambience&amp;quot; (remember to start the address with &amp;quot;sound&amp;quot; in the spawnarg).  You can also listen to the sounds at that location.  They are are in .ogg format.  &lt;br /&gt;
&lt;br /&gt;
 Edit:Baddcog&lt;br /&gt;
Running through this first time, leaving notes to be fixed/editted later.&lt;br /&gt;
Hint on sounds, you can also create a speaker (left-click&amp;gt;speaker) and it will give you a sound directory where you can play sound files and find the names. No searching through sound folders outside of DR.&lt;br /&gt;
&lt;br /&gt;
:Note that it is very easy to add custom ambients with this system.  Just create a folder in your .pk4 (a .zip file renamed to .pk4) and name the folder &amp;quot;sound&amp;quot;, with another folder inside it named after your FM or an abbreviation.  Put your custom sound inside that second folder.  (E.g., I have a custom ambient named Frozen.ogg, and my FM&#039;s name is Patently Dangerous.  So in my .pk4 was &amp;quot;sound/patent/frozen.ogg&amp;quot;.  Note that ambients must be in either .ogg or .wav format. Now in your speaker_zone_ambient, just put the sound&#039;s address in the spawnarg (but see footnote).  In my case, I have &amp;quot;snd_warehouse&amp;quot; &amp;quot;sound/patent/frozen.ogg&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
It is worth noting that one special &amp;quot;sound&amp;quot; is already loaded by default.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_silence&amp;quot; &amp;quot;silence&amp;quot;&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
You can see it if you check &amp;quot;Show Inherited Properties&amp;quot;.  This is the sound you use to turn &amp;quot;off&amp;quot; the ambient sounds playing, so there is silence in the zone.&lt;br /&gt;
&lt;br /&gt;
=== On Shader Names ===&lt;br /&gt;
&lt;br /&gt;
One footnote on the sound shader names. The &#039;&#039;shader tdm_ambient_ambience_zoned.sndshd&#039;&#039; has a special command (&amp;quot;leadin&amp;quot;) for its sounds that begins the ambient with a short pause.  This is to pre-empt a possible *pop* of sound for loud ambients which can occur when the player&#039;s system slows down (and only occasionally, at that), so the player never hears the pop.  (It&#039;s a quirk of how Doom3 does fade-ins; when you start a new sound, you have to rapidly fade it out first, like .001 seconds, then slowly fade back in.  But if the system slows and the ambient starts loud, it might stretch that .001 to something audible.)&lt;br /&gt;
&lt;br /&gt;
If you alternatively use the address or the shader name from &amp;quot;Darkmod/sound/tdm_ambient_ambience.sndshd&amp;quot; (which lack the &amp;quot;leadin&amp;quot; property) it will otherwise work fine, but you won&#039;t be protected from that occasional little pop (at least until we find another fix).  For ambients that start quietly or areas that won&#039;t slow the system down, it will probably never even be a problem and the player will never hear it, so using the address is fine, or using the tdm_ambient_ambience shader name if you don&#039;t want the tiny pause for whatever reason.  But if you want to control it, use the tdm_ambient_ambience_zoned name, and for a custom sound, to pre-empt the pop you&#039;ll need to use a custom shader with the &amp;quot;leadin&amp;quot; line.  Use the &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot; as a template to do that, and name the custom shader file something like YourFMsName.sndshd, and put it in the &amp;quot;sound&amp;quot; folder in your .pk4.  &lt;br /&gt;
&lt;br /&gt;
=== Sound Properties ===&lt;br /&gt;
&lt;br /&gt;
Regarding properties, the speaker (the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity is a speaker in disguise :) has by default the properties &amp;quot;omni&amp;quot;, &amp;quot;global&amp;quot;, and &amp;quot;looping&amp;quot; already turned on, so that all sounds played are heard everywhere, from no direction, and will loop.  If you change these properties (e.g., for one ambient) the change will apply to all ambients on the speaker.  So you probably don&#039;t want to turn these properties off.  &amp;quot;Volume&amp;quot; is another potential property; but it has been left off as a default. You can change the volume of sounds played on the speaker with the property, but again it will apply to all the ambients on the speaker.  &lt;br /&gt;
&lt;br /&gt;
Your entity will look like this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Speaker4.jpg]]&lt;br /&gt;
&lt;br /&gt;
You are finished with the ambient sound part now.&lt;br /&gt;
&lt;br /&gt;
== The Ambient Light ==&lt;br /&gt;
&lt;br /&gt;
You need to create an ambient light in your level. This will cover the entire level, and provide a minimum default light for when there is no other light covering a surface:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;{{RMB}} -&amp;gt; Create light&#039;&#039;&#039;&lt;br /&gt;
# Move the light&#039;s origin to the center of your map, and drag it&#039;s size so that it covers your entire map, and then some more. Remember to increase the size of that light when you build more area into your map!&lt;br /&gt;
# Open the light inspector (default shortcut {{key|L}}) and set the light texture to &#039;&#039;&#039;lights/ambientlightnfo&#039;&#039;&#039;&lt;br /&gt;
# Set the color of the light to a reasonable default, f.i. &amp;quot;8 8 8&amp;quot; This value will be used when a zone has no other ambient light settings&lt;br /&gt;
# Open the entity inspector (default shortcut {{key|N}}) and set the name of the light to &#039;&#039;&#039;ambient_world&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last step is important!&lt;br /&gt;
&lt;br /&gt;
You are done now with the global ambient light.&lt;br /&gt;
&lt;br /&gt;
== The Location Entities ==&lt;br /&gt;
&lt;br /&gt;
Now you need to set up the location system so the game knows where the zones are, and their boundaries where changes will happen.  A location is basically any area that&#039;s closed in by brushes and marked portals and contains an info_location entity. Unlike a vis-portaled area (which is one area between [[vis_portals]], a.k.a. a &amp;quot;leaf&amp;quot;), a zone can cover more than one portaled area (&amp;quot;leaves&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
As an aside, locations are also used for setting the EAX properties in the area (e.g., the echo-y-ness of a big hall or cave, or the dullness of a small carpeted room).  So you have a good reason to have them even in addition to handling ambient sounds and lights.  &lt;br /&gt;
&lt;br /&gt;
=== info_locationseparator ===&lt;br /&gt;
&lt;br /&gt;
As I suggested above, you have to mark all the portals leading in and out of a zone by hand.  You do this with an entity called a &#039;&#039;&#039;info_locationseparator&#039;&#039;&#039;.  Create one so it touches the portal you want as a boundary.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_locationseparator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t touch a portal with this entity, than it will not register in the game as the boundary to a new zone, and the zone will continue into the area on the other side of the portal.  This happens even if you have a second info_location (described below) on the other side (the game will just pick one and use that for the whole zone).  This can be a good thing because, say you have a mansion with 30 portals inside.  You can cover the whole area inside it by just marking the 2 or 3 portals leading into the mansion area through the doors and open windows, and everything inside that marked area will be counted as one location (just don&#039;t miss marking an exit, or have an un-portaled gap to the outside between brushes, or the location will leak outside.  It has to be hermetically sealed).  &lt;br /&gt;
&lt;br /&gt;
I have read discussion that a door touching a portal marks it as a location boundary, but in my experiments the door did not create a new location and I still had to use a info_locationseparator over the portal to register it as a boundary.  &lt;br /&gt;
&lt;br /&gt;
=== info_location ===&lt;br /&gt;
&lt;br /&gt;
Now, inside the zone you want to have, create an &#039;&#039;&#039;info_location&#039;&#039;&#039; entity:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Anywhere in the space of the zone is fine.  Name it the name of the zone you want (to make it easy to find when you push {{key|J}}).&lt;br /&gt;
&lt;br /&gt;
== Settings per location/zone ==&lt;br /&gt;
&lt;br /&gt;
On each info_location, you can set multiple spawnargs that adjust the light or sound for that location, as well&lt;br /&gt;
as run scripts. We cover them next:&lt;br /&gt;
&lt;br /&gt;
=== Ambient sound ===&lt;br /&gt;
&lt;br /&gt;
Now create a spawnarg property of &amp;quot;ambient&amp;quot; with the value being the speaker-name of the sound you used in the location_settings entity above (NOT the soundshader name or file name).  For example, &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;ambient&amp;quot;    &amp;quot;snd_streets&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will send a command to the location_settings (in its speaker capacity) to play the ambient it has registered under &amp;quot;snd_streets&amp;quot; that you entered.  When you enter a new zone, in turn, the new info_location sends a command to the speaker to turn off that ambient and start a new one.  &lt;br /&gt;
&lt;br /&gt;
If you wanted to have no ambient playing in the zone (and turn off any ambient started from another zone), you would use &amp;quot;snd_silence&amp;quot; as the value to command the speaker to turn off.  Also, if you have an info_location with no &amp;quot;ambient&amp;quot; value at all, it will also turn off the ambient (in the present version of this system).  That means if you make a new location but want the same ambient playing in it as the location next to it, you still need to add the ambient name for the already-playing ambient for it to continue playing into the new zone; otherwise it will turn off.  &lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Here are two info_locations on two sides of a portal, with an info_locationseparator touching the portal (more like piercing it), and with each info_location containing the name of the ambient that will play in its respective zone.&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_streets.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_silence.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
That&#039;s basically it.  The ambients will now turn on when you enter a zone and turn off when you enter a new zone, turning on the new ambient in that new zone.  If you open up the console, you should see a message saying that a new ambient is now playing in your current location, naming the ambient and location.&lt;br /&gt;
&lt;br /&gt;
=== Sound Fading ===&lt;br /&gt;
&lt;br /&gt;
Finally, there are a few other spawnargs on the info_locations that you usually don&#039;t have to worry about, but you can use them if you like, so I will mention them.  They concern the properties of the ambient fading.  Check the &amp;quot;Show Inhereted Properties&amp;quot; to see their default values.  Entering a new value will over-write the default value, but only for that one object.  &lt;br /&gt;
&lt;br /&gt;
[[Image:Info_loc.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
==== fiduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in duration&amp;quot;.  This is the length of time in seconds it takes for the in-coming ambient (the one for this zone) to completely fade-in.  The default value is 4 seconds.  You can, e.g., make the fade last much longer with a larger value.  &lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want your ambient to fade in at all, but start immediately at full volume, change this value to &amp;quot;.001&amp;quot; (NOT zero). &lt;br /&gt;
&lt;br /&gt;
==== foduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out duration&amp;quot;.  This is the length of time in seconds it takes for the out-going ambient (the one from the zone you&#039;re leaving) to completely fade-out.  Again, if you want it to cut right off without fading, use a value of &amp;quot;.001&amp;quot;.   &lt;br /&gt;
&lt;br /&gt;
==== fidelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in Delay&amp;quot;.  You can delay the beginning of the in-coming ambient&#039;s fade-in after you enter the new area.  You might want to do this, for example, if you want the out-going ambient to completely fade out before you begin fading in the new ambient.  So you would set fidelay to the same time as the foduration.  By default it is set to .001 so that there is no delay and the fade in starts immediately.  If the out-going fade-out also starts immediately (which happens by default), then they blend together in a nice transition fade.  &lt;br /&gt;
&lt;br /&gt;
==== fodelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out Delay&amp;quot;.  Similarly you can delay the beginning of the out-going ambient&#039;s fade out.  You might want to do this if you wanted the in-coming ambient to completely fade in before you started the fade out of the old ambient.  Then you would set it to fiduration.  Like fidelay, it is set to .001 so there is no delay and the fade out starts immediately.  &lt;br /&gt;
&lt;br /&gt;
==== fovolume ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out volume&amp;quot;.  This sets the volume to which the out-going ambient fades to.  -60 turns it off, which is the default (0 means no decrease in volume at all).  If you go any higher than -60, than it will leave the old ambient still playing at a lower volume under the new ambient (at least until you enter a 3rd new zone).  Not sure why you&#039;d ever want to do that, so you probably don&#039;t want to change it.  &lt;br /&gt;
&lt;br /&gt;
==== volume ====&lt;br /&gt;
&lt;br /&gt;
Technically &amp;quot;Fade in volume&amp;quot;.  This sets the volume to which the in-coming ambient fades into.  60 is to its normal full volume, which is the default (0 would be no increase in volume).  Any lower value than 60 fades it into a lower volume.  Allegedly that means you can control the new ambients&#039; volume with this, which is why I named it &amp;quot;volume&amp;quot; instead of &amp;quot;fivolume&amp;quot;.  In my testing however, I couldn&#039;t seem to actually change the volume with this property.  So I don&#039;t know if it works, or how exactly it works.  But it&#039;s here if you want to experiment with it yourself.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These last two (&#039;&#039;&#039;foduration_2foip&#039;&#039;&#039; and &#039;&#039;&#039;fiduration_2foip&#039;&#039;&#039;) are pretty obscure situations, so you probably don&#039;t need to ever mess with them unless you want to completely get rid of ambient fades (then you can set them to .001 like the other &#039;fade duration&#039; properties).  &lt;br /&gt;
&lt;br /&gt;
==== foduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-out duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  This provides a shorter fade-out duration (in seconds) for when the player quickly runs into a 3rd location, such that the 1st and 2nd ambients from areas the player just left are still fading out (hence the 2 fade-outs). But the quickend-fade-out only applies to the 1st ambient fading out. (i.e., not of the ambient you just left, but the one you left just before that -- unless you&#039;re backtracking, then it just fades the prev-prev ambient back in).  Fading out that prev-prev ambient more quickly in turn quickens the time the new fade-in can start (because you can&#039;t have 3 sounds on at the same time on the zone speaker, only 2).  So it in effect reduces the gap of quiet that happens before the newest ambient fully fades-in by enabling it to start its fade-in faster.  The default is 1 second.  &lt;br /&gt;
&lt;br /&gt;
==== fiduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-in duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  Like its counterpart, this sets a shorter duration of a fade-in of a new ambient (in seconds) when you run into a 3rd location, while the ambients from the 1st and 2nd locations are fading out.  Again, because so many ambients are fading out, it can leave a gap of silence for a bit until the new 3rd ambient fades in.  So setting a shorter duration than usual for the newest ambient to fully fade in helps shorten the quiet space.  The default is 2 seconds (as opposed to a normal default fade-in duration of 4 seconds).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Example of Location with No Fading Transition ====&lt;br /&gt;
&lt;br /&gt;
As mentioned above, if you wanted a set-up that turned off all fades so that the out-going ambient shut directly off and the in-coming ambient turns directly on, you&#039;d change all the duration properties to .001, like the following image.  (Note that this modifies the transition only for entering this one location.  All the other info_locations maintain their default values unless you also change them by hand.)  &lt;br /&gt;
&lt;br /&gt;
[[image: Fade_duration.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
=== Ambient light settings ===&lt;br /&gt;
&lt;br /&gt;
These spawnargs can be set on &#039;&#039;&#039;atdm:info_location&#039;&#039;&#039; entities and apply to the current zone then:&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This spawnarg specifies the ambient light color for this zone. Setting it f.i. to &amp;quot;0.10 0.02 0.02&amp;quot; would fade the ambient light to a slightly reddish color. This can be useful for covering a lava cave. Other examples are slightly blue light for moonlit outsides, greenish cast for caves or underwater areas etc.&lt;br /&gt;
&lt;br /&gt;
If you do not set this on an info_location entity, the default value of the global &amp;quot;ambient_world&amp;quot; entity will be used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:*You need to set the color values as fractions between 0 and 1, e.g. &#039;&#039;&#039;&amp;quot;0.08 0.08 0.02&amp;quot;&#039;&#039;&#039; and &#039;&#039;&#039;NOT&#039;&#039;&#039; as integers like so &amp;lt;s&amp;gt;&amp;quot;8 8 2&amp;quot;&amp;lt;/s&amp;gt;, or it will not work.&lt;br /&gt;
&lt;br /&gt;
:*If the color change between two zones is too big, the fading and change can become obvious to the player and spoil the subtlety. This can happen for instance if you zoom from a bluish-lit outside directly to a reddish-glowing cave inside. To help the transition, consider adding an intermidiate zone with a light color that is either in between the two, or a more neutral grey. Making it not possible to look from one zone to the other also helps, this way they player can&#039;t see that f.i. the outside ground suddenly also glows reddish when looking back from the cave entrance to the outside.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_time&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds it will take to fade from the current ambient light color to the one specified for this location. A slower fade means more gradual light changes, so they don&#039;t become too obvious to the player. Use at least 3, better 5 or 7 seconds.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_delay&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds the fading will be delayed when the player changes location.&lt;br /&gt;
&lt;br /&gt;
Useful to prevent fades toggling back and forth when the player stands in a doorway and goes a nudge forward/backwards. A good value is at least 1 second.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
If set to a value other than &amp;quot;0 0 0&amp;quot;, the lights in the current zone will be all summed together and then&lt;br /&gt;
added to the current base ambient light. This happens with the frequency of &#039;&#039;&#039;update_period&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The basic effect is that a roaring fire also slightly makes the walls flicker, and extinguishing all lights in a room would decrease the ambient light slightly.&lt;br /&gt;
&lt;br /&gt;
The factor should be set up so that for large and dark rooms (e.g. caves) the dynamic part is small, while for small, bright rooms (white walls) the dynamic part is bigger. Examples are: &amp;quot;0.05 0.05 0.05&amp;quot; and &amp;quot;0.1 0.1 0.1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Note that setting the dynamic factor to high can result in the player being busted by lights that are turned on in the room even when the player is in the shadow.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic_cap&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Used to cap the dynamic ambient light part. If set to 0, will be ignored, so to have a very very small&lt;br /&gt;
cap, set to &amp;quot;0.01&amp;quot;, e.g. if you want only the red part to be dynamic, set it f.i. &amp;quot;0.15 0.01 0.01&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Script calls ===&lt;br /&gt;
&lt;br /&gt;
The next four spawnargs all specify scripts to call when the player enters or exits a zone. Note that the very first zone is not &amp;quot;entered&amp;quot; by the player when the map starts, he is already there. That means &amp;quot;call_once_on_entry&amp;quot; for the start zone will be called when the player re-enters this zone for the first time.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is left by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is entered by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player leaves that zone.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player enters that zone.&lt;br /&gt;
&lt;br /&gt;
==== Example scripts ====&lt;br /&gt;
&lt;br /&gt;
Here is an example script that spawns an object where the &#039;&#039;&#039;info_location&#039;&#039;&#039; entity is for the zone the player just left. You can call this script by setting:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;call_once_on_exit&amp;quot; &amp;quot;spawn_pear&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
on your info_location entity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void spawn_pear( entity old_zone )&lt;br /&gt;
  {&lt;br /&gt;
  string location_name = old_zone.getName();&lt;br /&gt;
  sys.print (&amp;quot;Spawning pear after leaving &amp;quot; + location_name + &amp;quot;\n&amp;quot;);&lt;br /&gt;
  entity pear = sys.spawn(&amp;quot;atdm:moveable_food_pear&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // move the pear to the point of the info_location&lt;br /&gt;
  vector origin = old_zone.getOrigin();&lt;br /&gt;
  pear.setOrigin( origin );&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Adding ambient Sounds to your Map]]&lt;br /&gt;
* [[Ambient Sounds - Zone (using triggers)]]&lt;br /&gt;
* [[Sound File Formats]]&lt;br /&gt;
&lt;br /&gt;
{{tutorial-sound}}&lt;br /&gt;
{{editing}}&lt;br /&gt;
{{tutorial-scripting}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9308</id>
		<title>Location Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Location_Settings&amp;diff=9308"/>
		<updated>2009-10-31T01:04:57Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Sound Shaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article describes how to setup &#039;&#039;&#039;locations&#039;&#039;&#039; (also called &amp;quot;location zones&amp;quot; or &amp;quot;zones&amp;quot;) in your level, and then use these to:&lt;br /&gt;
&lt;br /&gt;
* fade to different ambient &#039;&#039;&#039;light levels&#039;&#039;&#039; for each zone&lt;br /&gt;
* fade between different ambient &#039;&#039;&#039;sounds&#039;&#039;&#039; in each zone&lt;br /&gt;
* run &#039;&#039;&#039;scripts&#039;&#039;&#039; automatically when the player enters or exits a zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You need to use four types of entities in your map: &lt;br /&gt;
&lt;br /&gt;
* a special global entity (e.g. add only one, the position does not matter): &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
* a special global light entity named &#039;&#039;&#039;ambient_world&#039;&#039;&#039; &lt;br /&gt;
* multiple &#039;&#039;&#039;info_location&#039;&#039;&#039; and &#039;&#039;&#039;info_locationseperation&#039;&#039;&#039; entities&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
:Note:  Two alternative ways to get ambient sounds in your map are using speakers ([[Adding ambient Sounds to your Map]]), and using triggers ([[Ambient Sounds - Zone (using triggers)]]).  Speakers are good if you only want your ambient to cover a definite radius and have a very simple setup.  Triggers are basically obsoleted by the method in this tutorial.  The only time you might still want to use a trigger-system is if you want a ambient sound to begin at a place where for some reason you can&#039;t create a portal to mark the zone boundary, but you can still have a trigger brush.  There are some issues with a trigger system, too (f.i. their CPU and memory usage), that make the method in this tutorial superior.  &lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The atdm:location_settings entity ==&lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity in your blueroom (i.e., a room off to the side the player will never enter) or somewhere else in your map:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; atdm:location_settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Default values ===&lt;br /&gt;
&lt;br /&gt;
The location_settings entity takes a few &#039;&#039;default&#039;&#039; spawnargs related to the ambient light settings:&lt;br /&gt;
&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_time&amp;quot;]]&lt;br /&gt;
* [[Location Settings#&amp;quot;ambient_light_fade_delay&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
For their meaning and values, please refer to their sections.&lt;br /&gt;
&lt;br /&gt;
=== update_period ===&lt;br /&gt;
&lt;br /&gt;
The spawnarg &#039;&#039;&#039;update_period&#039;&#039;&#039; specifies the time in seconds between updates. A good value is 0.2, e.g. 5 times per second. That avoids to run the script too often, and still allows seamless transitions.&lt;br /&gt;
&lt;br /&gt;
=== Sound Shaders ===&lt;br /&gt;
&lt;br /&gt;
In the entity&#039;s spawnargs, put the names of all the ambient sounds you want to play in your map.  (This pre-loads the sounds into the speaker so there isn&#039;t a pause when they start playing.)  Put it in one of these property/value forms (without the quote marks):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_streets&amp;quot; &amp;quot;city_night01_loop_z&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_mansion&amp;quot; &amp;quot;sound/ambient/ambience/mansion_tense01a.ogg&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The left hand spawnarg should have a &amp;quot;snd_&amp;quot; prefix, and any name, but most useful is probably the name of the area it is for.  You&#039;ll use this name again when you place the location markers.  &lt;br /&gt;
&lt;br /&gt;
The right hand value points to the actual sound file that will play.  You can enter either the soundshader name, or the address where the sound file is (but see footnote).  You can see the soundshader names of ambient-ready sounds in the sub-folder &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot;.   You can find the address of the sound files in &amp;quot;Darkmod/sound/ambient/ambience&amp;quot; (remember to start the address with &amp;quot;sound&amp;quot; in the spawnarg).  You can also listen to the sounds at that location.  They are are in .ogg format.  &lt;br /&gt;
&lt;br /&gt;
Edit:Baddcog&lt;br /&gt;
 running through this first time, leaving notes to be fixed/editted later.&lt;br /&gt;
Hint on sounds, you can also create a speaker (left-click&amp;gt;speaker) and it will give you a sound directory where you can play sound files and find the names. No searching through sound folders outside of DR.&lt;br /&gt;
&lt;br /&gt;
:Note that it is very easy to add custom ambients with this system.  Just create a folder in your .pk4 (a .zip file renamed to .pk4) and name the folder &amp;quot;sound&amp;quot;, with another folder inside it named after your FM or an abbreviation.  Put your custom sound inside that second folder.  (E.g., I have a custom ambient named Frozen.ogg, and my FM&#039;s name is Patently Dangerous.  So in my .pk4 was &amp;quot;sound/patent/frozen.ogg&amp;quot;.  Note that ambients must be in either .ogg or .wav format. Now in your speaker_zone_ambient, just put the sound&#039;s address in the spawnarg (but see footnote).  In my case, I have &amp;quot;snd_warehouse&amp;quot; &amp;quot;sound/patent/frozen.ogg&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
It is worth noting that one special &amp;quot;sound&amp;quot; is already loaded by default.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;snd_silence&amp;quot; &amp;quot;silence&amp;quot;&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
You can see it if you check &amp;quot;Show Inherited Properties&amp;quot;.  This is the sound you use to turn &amp;quot;off&amp;quot; the ambient sounds playing, so there is silence in the zone.&lt;br /&gt;
&lt;br /&gt;
=== On Shader Names ===&lt;br /&gt;
&lt;br /&gt;
One footnote on the sound shader names. The &#039;&#039;shader tdm_ambient_ambience_zoned.sndshd&#039;&#039; has a special command (&amp;quot;leadin&amp;quot;) for its sounds that begins the ambient with a short pause.  This is to pre-empt a possible *pop* of sound for loud ambients which can occur when the player&#039;s system slows down (and only occasionally, at that), so the player never hears the pop.  (It&#039;s a quirk of how Doom3 does fade-ins; when you start a new sound, you have to rapidly fade it out first, like .001 seconds, then slowly fade back in.  But if the system slows and the ambient starts loud, it might stretch that .001 to something audible.)&lt;br /&gt;
&lt;br /&gt;
If you alternatively use the address or the shader name from &amp;quot;Darkmod/sound/tdm_ambient_ambience.sndshd&amp;quot; (which lack the &amp;quot;leadin&amp;quot; property) it will otherwise work fine, but you won&#039;t be protected from that occasional little pop (at least until we find another fix).  For ambients that start quietly or areas that won&#039;t slow the system down, it will probably never even be a problem and the player will never hear it, so using the address is fine, or using the tdm_ambient_ambience shader name if you don&#039;t want the tiny pause for whatever reason.  But if you want to control it, use the tdm_ambient_ambience_zoned name, and for a custom sound, to pre-empt the pop you&#039;ll need to use a custom shader with the &amp;quot;leadin&amp;quot; line.  Use the &amp;quot;Darkmod/sound/tdm_ambient_ambience_zoned.sndshd&amp;quot; as a template to do that, and name the custom shader file something like YourFMsName.sndshd, and put it in the &amp;quot;sound&amp;quot; folder in your .pk4.  &lt;br /&gt;
&lt;br /&gt;
=== Sound Properties ===&lt;br /&gt;
&lt;br /&gt;
Regarding properties, the speaker (the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity is a speaker in disguise :) has by default the properties &amp;quot;omni&amp;quot;, &amp;quot;global&amp;quot;, and &amp;quot;looping&amp;quot; already turned on, so that all sounds played are heard everywhere, from no direction, and will loop.  If you change these properties (e.g., for one ambient) the change will apply to all ambients on the speaker.  So you probably don&#039;t want to turn these properties off.  &amp;quot;Volume&amp;quot; is another potential property; but it has been left off as a default. You can change the volume of sounds played on the speaker with the property, but again it will apply to all the ambients on the speaker.  &lt;br /&gt;
&lt;br /&gt;
Your entity will look like this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Speaker4.jpg]]&lt;br /&gt;
&lt;br /&gt;
You are finished with the ambient sound part now.&lt;br /&gt;
&lt;br /&gt;
== The Ambient Light ==&lt;br /&gt;
&lt;br /&gt;
You need to create an ambient light in your level. This will cover the entire level, and provide a minimum default light for when there is no other light covering a surface:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;{{RMB}} -&amp;gt; Create light&#039;&#039;&#039;&lt;br /&gt;
# Move the light&#039;s origin to the center of your map, and drag it&#039;s size so that it covers your entire map, and then some more. Remember to increase the size of that light when you build more area into your map!&lt;br /&gt;
# Open the light inspector (default shortcut {{key|L}}) and set the light texture to &#039;&#039;&#039;lights/ambientlightnfo&#039;&#039;&#039;&lt;br /&gt;
# Set the color of the light to a reasonable default, f.i. &amp;quot;8 8 8&amp;quot; This value will be used when a zone has no other ambient light settings&lt;br /&gt;
# Open the entity inspector (default shortcut {{key|N}}) and set the name of the light to &#039;&#039;&#039;ambient_world&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last step is important!&lt;br /&gt;
&lt;br /&gt;
You are done now with the global ambient light.&lt;br /&gt;
&lt;br /&gt;
== The Location Entities ==&lt;br /&gt;
&lt;br /&gt;
Now you need to set up the location system so the game knows where the zones are, and their boundaries where changes will happen.  A location is basically any area that&#039;s closed in by brushes and marked portals and contains an info_location entity. Unlike a vis-portaled area (which is one area between [[vis_portals]], a.k.a. a &amp;quot;leaf&amp;quot;), a zone can cover more than one portaled area (&amp;quot;leaves&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
As an aside, locations are also used for setting the EAX properties in the area (e.g., the echo-y-ness of a big hall or cave, or the dullness of a small carpeted room).  So you have a good reason to have them even in addition to handling ambient sounds and lights.  &lt;br /&gt;
&lt;br /&gt;
=== info_locationseparator ===&lt;br /&gt;
&lt;br /&gt;
As I suggested above, you have to mark all the portals leading in and out of a zone by hand.  You do this with an entity called a &#039;&#039;&#039;info_locationseparator&#039;&#039;&#039;.  Create one so it touches the portal you want as a boundary.  &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_locationseparator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t touch a portal with this entity, than it will not register in the game as the boundary to a new zone, and the zone will continue into the area on the other side of the portal.  This happens even if you have a second info_location (described below) on the other side (the game will just pick one and use that for the whole zone).  This can be a good thing because, say you have a mansion with 30 portals inside.  You can cover the whole area inside it by just marking the 2 or 3 portals leading into the mansion area through the doors and open windows, and everything inside that marked area will be counted as one location (just don&#039;t miss marking an exit, or have an un-portaled gap to the outside between brushes, or the location will leak outside.  It has to be hermetically sealed).  &lt;br /&gt;
&lt;br /&gt;
I have read discussion that a door touching a portal marks it as a location boundary, but in my experiments the door did not create a new location and I still had to use a info_locationseparator over the portal to register it as a boundary.  &lt;br /&gt;
&lt;br /&gt;
=== info_location ===&lt;br /&gt;
&lt;br /&gt;
Now, inside the zone you want to have, create an &#039;&#039;&#039;info_location&#039;&#039;&#039; entity:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;{{RMB}} -&amp;gt; Create entity -&amp;gt; Darkmod -&amp;gt; Info -&amp;gt; info_location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Anywhere in the space of the zone is fine.  Name it the name of the zone you want (to make it easy to find when you push {{key|J}}).&lt;br /&gt;
&lt;br /&gt;
== Settings per location/zone ==&lt;br /&gt;
&lt;br /&gt;
On each info_location, you can set multiple spawnargs that adjust the light or sound for that location, as well&lt;br /&gt;
as run scripts. We cover them next:&lt;br /&gt;
&lt;br /&gt;
=== Ambient sound ===&lt;br /&gt;
&lt;br /&gt;
Now create a spawnarg property of &amp;quot;ambient&amp;quot; with the value being the speaker-name of the sound you used in the location_settings entity above (NOT the soundshader name or file name).  For example, &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;ambient&amp;quot;    &amp;quot;snd_streets&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will send a command to the location_settings (in its speaker capacity) to play the ambient it has registered under &amp;quot;snd_streets&amp;quot; that you entered.  When you enter a new zone, in turn, the new info_location sends a command to the speaker to turn off that ambient and start a new one.  &lt;br /&gt;
&lt;br /&gt;
If you wanted to have no ambient playing in the zone (and turn off any ambient started from another zone), you would use &amp;quot;snd_silence&amp;quot; as the value to command the speaker to turn off.  Also, if you have an info_location with no &amp;quot;ambient&amp;quot; value at all, it will also turn off the ambient (in the present version of this system).  That means if you make a new location but want the same ambient playing in it as the location next to it, you still need to add the ambient name for the already-playing ambient for it to continue playing into the new zone; otherwise it will turn off.  &lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Here are two info_locations on two sides of a portal, with an info_locationseparator touching the portal (more like piercing it), and with each info_location containing the name of the ambient that will play in its respective zone.&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_streets.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Snd_silence.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
That&#039;s basically it.  The ambients will now turn on when you enter a zone and turn off when you enter a new zone, turning on the new ambient in that new zone.  If you open up the console, you should see a message saying that a new ambient is now playing in your current location, naming the ambient and location.&lt;br /&gt;
&lt;br /&gt;
=== Sound Fading ===&lt;br /&gt;
&lt;br /&gt;
Finally, there are a few other spawnargs on the info_locations that you usually don&#039;t have to worry about, but you can use them if you like, so I will mention them.  They concern the properties of the ambient fading.  Check the &amp;quot;Show Inhereted Properties&amp;quot; to see their default values.  Entering a new value will over-write the default value, but only for that one object.  &lt;br /&gt;
&lt;br /&gt;
[[Image:Info_loc.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
==== fiduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in duration&amp;quot;.  This is the length of time in seconds it takes for the in-coming ambient (the one for this zone) to completely fade-in.  The default value is 4 seconds.  You can, e.g., make the fade last much longer with a larger value.  &lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want your ambient to fade in at all, but start immediately at full volume, change this value to &amp;quot;.001&amp;quot; (NOT zero). &lt;br /&gt;
&lt;br /&gt;
==== foduration ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out duration&amp;quot;.  This is the length of time in seconds it takes for the out-going ambient (the one from the zone you&#039;re leaving) to completely fade-out.  Again, if you want it to cut right off without fading, use a value of &amp;quot;.001&amp;quot;.   &lt;br /&gt;
&lt;br /&gt;
==== fidelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade in Delay&amp;quot;.  You can delay the beginning of the in-coming ambient&#039;s fade-in after you enter the new area.  You might want to do this, for example, if you want the out-going ambient to completely fade out before you begin fading in the new ambient.  So you would set fidelay to the same time as the foduration.  By default it is set to .001 so that there is no delay and the fade in starts immediately.  If the out-going fade-out also starts immediately (which happens by default), then they blend together in a nice transition fade.  &lt;br /&gt;
&lt;br /&gt;
==== fodelay ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out Delay&amp;quot;.  Similarly you can delay the beginning of the out-going ambient&#039;s fade out.  You might want to do this if you wanted the in-coming ambient to completely fade in before you started the fade out of the old ambient.  Then you would set it to fiduration.  Like fidelay, it is set to .001 so there is no delay and the fade out starts immediately.  &lt;br /&gt;
&lt;br /&gt;
==== fovolume ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade out volume&amp;quot;.  This sets the volume to which the out-going ambient fades to.  -60 turns it off, which is the default (0 means no decrease in volume at all).  If you go any higher than -60, than it will leave the old ambient still playing at a lower volume under the new ambient (at least until you enter a 3rd new zone).  Not sure why you&#039;d ever want to do that, so you probably don&#039;t want to change it.  &lt;br /&gt;
&lt;br /&gt;
==== volume ====&lt;br /&gt;
&lt;br /&gt;
Technically &amp;quot;Fade in volume&amp;quot;.  This sets the volume to which the in-coming ambient fades into.  60 is to its normal full volume, which is the default (0 would be no increase in volume).  Any lower value than 60 fades it into a lower volume.  Allegedly that means you can control the new ambients&#039; volume with this, which is why I named it &amp;quot;volume&amp;quot; instead of &amp;quot;fivolume&amp;quot;.  In my testing however, I couldn&#039;t seem to actually change the volume with this property.  So I don&#039;t know if it works, or how exactly it works.  But it&#039;s here if you want to experiment with it yourself.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These last two (&#039;&#039;&#039;foduration_2foip&#039;&#039;&#039; and &#039;&#039;&#039;fiduration_2foip&#039;&#039;&#039;) are pretty obscure situations, so you probably don&#039;t need to ever mess with them unless you want to completely get rid of ambient fades (then you can set them to .001 like the other &#039;fade duration&#039; properties).  &lt;br /&gt;
&lt;br /&gt;
==== foduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-out duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  This provides a shorter fade-out duration (in seconds) for when the player quickly runs into a 3rd location, such that the 1st and 2nd ambients from areas the player just left are still fading out (hence the 2 fade-outs). But the quickend-fade-out only applies to the 1st ambient fading out. (i.e., not of the ambient you just left, but the one you left just before that -- unless you&#039;re backtracking, then it just fades the prev-prev ambient back in).  Fading out that prev-prev ambient more quickly in turn quickens the time the new fade-in can start (because you can&#039;t have 3 sounds on at the same time on the zone speaker, only 2).  So it in effect reduces the gap of quiet that happens before the newest ambient fully fades-in by enabling it to start its fade-in faster.  The default is 1 second.  &lt;br /&gt;
&lt;br /&gt;
==== fiduration_2foip ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Fade-in duration during a &#039;2 Fade-outs in progress&#039; situation&amp;quot;.  Like its counterpart, this sets a shorter duration of a fade-in of a new ambient (in seconds) when you run into a 3rd location, while the ambients from the 1st and 2nd locations are fading out.  Again, because so many ambients are fading out, it can leave a gap of silence for a bit until the new 3rd ambient fades in.  So setting a shorter duration than usual for the newest ambient to fully fade in helps shorten the quiet space.  The default is 2 seconds (as opposed to a normal default fade-in duration of 4 seconds).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Example of Location with No Fading Transition ====&lt;br /&gt;
&lt;br /&gt;
As mentioned above, if you wanted a set-up that turned off all fades so that the out-going ambient shut directly off and the in-coming ambient turns directly on, you&#039;d change all the duration properties to .001, like the following image.  (Note that this modifies the transition only for entering this one location.  All the other info_locations maintain their default values unless you also change them by hand.)  &lt;br /&gt;
&lt;br /&gt;
[[image: Fade_duration.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
=== Ambient light settings ===&lt;br /&gt;
&lt;br /&gt;
These spawnargs can be set on &#039;&#039;&#039;atdm:info_location&#039;&#039;&#039; entities and apply to the current zone then:&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This spawnarg specifies the ambient light color for this zone. Setting it f.i. to &amp;quot;0.10 0.02 0.02&amp;quot; would fade the ambient light to a slightly reddish color. This can be useful for covering a lava cave. Other examples are slightly blue light for moonlit outsides, greenish cast for caves or underwater areas etc.&lt;br /&gt;
&lt;br /&gt;
If you do not set this on an info_location entity, the default value of the global &amp;quot;ambient_world&amp;quot; entity will be used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:*You need to set the color values as fractions between 0 and 1, e.g. &#039;&#039;&#039;&amp;quot;0.08 0.08 0.02&amp;quot;&#039;&#039;&#039; and &#039;&#039;&#039;NOT&#039;&#039;&#039; as integers like so &amp;lt;s&amp;gt;&amp;quot;8 8 2&amp;quot;&amp;lt;/s&amp;gt;, or it will not work.&lt;br /&gt;
&lt;br /&gt;
:*If the color change between two zones is too big, the fading and change can become obvious to the player and spoil the subtlety. This can happen for instance if you zoom from a bluish-lit outside directly to a reddish-glowing cave inside. To help the transition, consider adding an intermidiate zone with a light color that is either in between the two, or a more neutral grey. Making it not possible to look from one zone to the other also helps, this way they player can&#039;t see that f.i. the outside ground suddenly also glows reddish when looking back from the cave entrance to the outside.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_time&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds it will take to fade from the current ambient light color to the one specified for this location. A slower fade means more gradual light changes, so they don&#039;t become too obvious to the player. Use at least 3, better 5 or 7 seconds.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_fade_delay&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This specifies the time in seconds the fading will be delayed when the player changes location.&lt;br /&gt;
&lt;br /&gt;
Useful to prevent fades toggling back and forth when the player stands in a doorway and goes a nudge forward/backwards. A good value is at least 1 second.&lt;br /&gt;
&lt;br /&gt;
If set to -1, the default time specified at the &#039;&#039;&#039;atdm:location_settings&#039;&#039;&#039; entity will be used.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
If set to a value other than &amp;quot;0 0 0&amp;quot;, the lights in the current zone will be all summed together and then&lt;br /&gt;
added to the current base ambient light. This happens with the frequency of &#039;&#039;&#039;update_period&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The basic effect is that a roaring fire also slightly makes the walls flicker, and extinguishing all lights in a room would decrease the ambient light slightly.&lt;br /&gt;
&lt;br /&gt;
The factor should be set up so that for large and dark rooms (e.g. caves) the dynamic part is small, while for small, bright rooms (white walls) the dynamic part is bigger. Examples are: &amp;quot;0.05 0.05 0.05&amp;quot; and &amp;quot;0.1 0.1 0.1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Note that setting the dynamic factor to high can result in the player being busted by lights that are turned on in the room even when the player is in the shadow.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;ambient_light_dynamic_cap&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Used to cap the dynamic ambient light part. If set to 0, will be ignored, so to have a very very small&lt;br /&gt;
cap, set to &amp;quot;0.01&amp;quot;, e.g. if you want only the red part to be dynamic, set it f.i. &amp;quot;0.15 0.01 0.01&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Script calls ===&lt;br /&gt;
&lt;br /&gt;
The next four spawnargs all specify scripts to call when the player enters or exits a zone. Note that the very first zone is not &amp;quot;entered&amp;quot; by the player when the map starts, he is already there. That means &amp;quot;call_once_on_entry&amp;quot; for the start zone will be called when the player re-enters this zone for the first time.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is left by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_once_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Called only once when the zone is entered by the player.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_exit&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player leaves that zone.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;call_on_entry&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Always called when the player enters that zone.&lt;br /&gt;
&lt;br /&gt;
==== Example scripts ====&lt;br /&gt;
&lt;br /&gt;
Here is an example script that spawns an object where the &#039;&#039;&#039;info_location&#039;&#039;&#039; entity is for the zone the player just left. You can call this script by setting:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;quot;call_once_on_exit&amp;quot; &amp;quot;spawn_pear&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
on your info_location entity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void spawn_pear( entity old_zone )&lt;br /&gt;
  {&lt;br /&gt;
  string location_name = old_zone.getName();&lt;br /&gt;
  sys.print (&amp;quot;Spawning pear after leaving &amp;quot; + location_name + &amp;quot;\n&amp;quot;);&lt;br /&gt;
  entity pear = sys.spawn(&amp;quot;atdm:moveable_food_pear&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // move the pear to the point of the info_location&lt;br /&gt;
  vector origin = old_zone.getOrigin();&lt;br /&gt;
  pear.setOrigin( origin );&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Adding ambient Sounds to your Map]]&lt;br /&gt;
* [[Ambient Sounds - Zone (using triggers)]]&lt;br /&gt;
* [[Sound File Formats]]&lt;br /&gt;
&lt;br /&gt;
{{tutorial-sound}}&lt;br /&gt;
{{editing}}&lt;br /&gt;
{{tutorial-scripting}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9307</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9307"/>
		<updated>2009-10-30T22:32:07Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Theory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
&lt;br /&gt;
 This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
 Ramble on about shadows, light and gameplay...&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
&lt;br /&gt;
 Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness,&lt;br /&gt;
 most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
 The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius,&lt;br /&gt;
 they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light&lt;br /&gt;
 everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade,&lt;br /&gt;
 namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
&lt;br /&gt;
 To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
 Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
 If you choose pure black you will not have a black light, but instead a lack of light.&lt;br /&gt;
 Pure white will be white and very bright.&lt;br /&gt;
 Medium grey will be white, just less bright than pure white.&lt;br /&gt;
&lt;br /&gt;
 You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
&lt;br /&gt;
 The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows.&lt;br /&gt;
 It can also be used to give a nice round fade the the stock square lights.&lt;br /&gt;
 It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
 Having the texture selected and displayed in the window means it is applied. To remove it close the folders so you have no texture applied (This may be tricky).&lt;br /&gt;
&lt;br /&gt;
 One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
 A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
=== Specular ===&lt;br /&gt;
&lt;br /&gt;
=== Diffuse ===&lt;br /&gt;
=== Shadows ===&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9306</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9306"/>
		<updated>2009-10-30T22:31:45Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Lighting A to Z : Baddcog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
&lt;br /&gt;
 This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
&lt;br /&gt;
 Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness,&lt;br /&gt;
 most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
 The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius,&lt;br /&gt;
 they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light&lt;br /&gt;
 everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade,&lt;br /&gt;
 namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
&lt;br /&gt;
 To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
 Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
 If you choose pure black you will not have a black light, but instead a lack of light.&lt;br /&gt;
 Pure white will be white and very bright.&lt;br /&gt;
 Medium grey will be white, just less bright than pure white.&lt;br /&gt;
&lt;br /&gt;
 You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
&lt;br /&gt;
 The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows.&lt;br /&gt;
 It can also be used to give a nice round fade the the stock square lights.&lt;br /&gt;
 It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
 Having the texture selected and displayed in the window means it is applied. To remove it close the folders so you have no texture applied (This may be tricky).&lt;br /&gt;
&lt;br /&gt;
 One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
 A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
=== Specular ===&lt;br /&gt;
&lt;br /&gt;
=== Diffuse ===&lt;br /&gt;
=== Shadows ===&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9305</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9305"/>
		<updated>2009-10-30T21:46:58Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Light options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
&lt;br /&gt;
 This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
&lt;br /&gt;
 Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness,&lt;br /&gt;
 most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
&lt;br /&gt;
 To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options:&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
 The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius,&lt;br /&gt;
 they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light&lt;br /&gt;
 everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade,&lt;br /&gt;
 namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
 Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
 If you choose pure black you will not have a black light, but instead a lack of light.&lt;br /&gt;
 Pure white will be white and very bright.&lt;br /&gt;
 Medium grey will be white, just less bright than pure white.&lt;br /&gt;
&lt;br /&gt;
 You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
&lt;br /&gt;
 The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows.&lt;br /&gt;
 It can also be used to give a nice round fade the the stock square lights.&lt;br /&gt;
 It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
 Having the texture selected and displayed in the window means it is applied. To remove it close the folders so you have no texture applied (This may be tricky).&lt;br /&gt;
&lt;br /&gt;
 One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
 A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
=== Specular ===&lt;br /&gt;
&lt;br /&gt;
=== Diffuse ===&lt;br /&gt;
=== Shadows ===&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9304</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9304"/>
		<updated>2009-10-30T21:37:13Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Radius */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
&lt;br /&gt;
 This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
&lt;br /&gt;
 Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness,&lt;br /&gt;
 most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
&lt;br /&gt;
 To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options.&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
 The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius,&lt;br /&gt;
 they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light&lt;br /&gt;
 everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade,&lt;br /&gt;
 namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
 Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
 If you choose pure black you will not have a black light, but instead a lack of light.&lt;br /&gt;
 Pure white will be white and very bright.&lt;br /&gt;
 Medium grey will be white, just less bright than pure white.&lt;br /&gt;
&lt;br /&gt;
 You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
&lt;br /&gt;
 The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows.&lt;br /&gt;
 It can also be used to give a nice round fade the the stock square lights.&lt;br /&gt;
 It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
 One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
 A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9303</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9303"/>
		<updated>2009-10-30T21:36:52Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Creating a light */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
&lt;br /&gt;
 This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
&lt;br /&gt;
 Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness,&lt;br /&gt;
 most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
&lt;br /&gt;
 To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options.&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
 The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius, they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade, namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
 Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
 If you choose pure black you will not have a black light, but instead a lack of light.&lt;br /&gt;
 Pure white will be white and very bright.&lt;br /&gt;
 Medium grey will be white, just less bright than pure white.&lt;br /&gt;
&lt;br /&gt;
 You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
&lt;br /&gt;
 The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows.&lt;br /&gt;
 It can also be used to give a nice round fade the the stock square lights.&lt;br /&gt;
 It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
 One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
 A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9302</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9302"/>
		<updated>2009-10-30T21:36:26Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;br /&gt;
&lt;br /&gt;
 This will cover all things to do with lighting in Dark Radiant.&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a light ==&lt;br /&gt;
&lt;br /&gt;
 Simply right-clicking in any 2d view will create a light entity in your map. This will create a default white light of 100 brightness, most likely you will want to change the radius of the light and other properties such as color.&lt;br /&gt;
&lt;br /&gt;
== Light options ==&lt;br /&gt;
&lt;br /&gt;
 To change a lights options select it and press &#039;L&#039;. This will open up the lights dialog and give you the following options.&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
 The &#039;radius&#039; of your light can be changed by dragging it&#039;s corners around in the 2d windows. Doom 3 lights do not have an actual radius, they are actually square lights and will light up everything they touch inside their bounding box in the editor. They will evenly light everything to their edges. While square lights might seem fairly odd there are options to make them more believeable and have a nice fade, namely the &#039;texture&#039; applied.&lt;br /&gt;
&lt;br /&gt;
=== Color &amp;amp; Brightness ===&lt;br /&gt;
 Using the color wheel you can select the color of light you want and also the brightness. Lights tend to be very bright if you saty in the brighter colors, dragging the dot towards the black side of the spectrum will dim them.&lt;br /&gt;
 If you choose pure black you will not have a black light, but instead a lack of light.&lt;br /&gt;
 Pure white will be white and very bright.&lt;br /&gt;
 Medium grey will be white, just less bright than pure white.&lt;br /&gt;
&lt;br /&gt;
 You can also use the rgb number bars to add exact colors/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Texture ===&lt;br /&gt;
&lt;br /&gt;
 The texture selection can add some great effects while keeping performance good. Torch entities have an animated &#039;pulsing&#039; texture applied already. This gives the illusion that light flames are flickering, but it won&#039;t cast expensive flickering shadows.&lt;br /&gt;
 It can also be used to give a nice round fade the the stock square lights.&lt;br /&gt;
 It can also be used to cast a window texture across a floor to make it look like moonlight is pouring through the window.&lt;br /&gt;
&lt;br /&gt;
 One issue I have found so far is that any objects (tables, chairs, etc..) and patches will be &#039;full bright&#039; if they fall within the lights bounding box. While this looks good on a fully lit electric chandelier it doesn&#039;t look good on a dining room table.&lt;br /&gt;
&lt;br /&gt;
 A workaround is to use 2 lights. One with the texture you want, carefully placed to not hit any major objects in the scene, with shadows turned off. And a second light with no texture to light the room, objects and cast shadows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9301</id>
		<title>Lighting A to Z</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Lighting_A_to_Z&amp;diff=9301"/>
		<updated>2009-10-30T21:14:29Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: WIP lighting guide tut&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lighting A to Z : Baddcog =&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Creating_Large_Areas&amp;diff=9282</id>
		<title>Creating Large Areas</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Creating_Large_Areas&amp;diff=9282"/>
		<updated>2009-10-25T18:04:35Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Intermediate Lighting Techniques for Performance and Aesthetics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tips on Creating Large Complex Areas =&lt;br /&gt;
= Intro =&lt;br /&gt;
This is a (WIP) tutorial by Jdude to help beginner and intermediate mappers come to grasp with how to create large complex environments, specifically as cities.  It will cover a variety of topics which are covered more in depth in other articles.  There is no one way to go about creating a large complex city environment, but this may help and give some direction to those that are eager to do so:&lt;br /&gt;
&lt;br /&gt;
= Basic required knowledge of the Doom3 engine: =&lt;br /&gt;
&#039;&#039;Note:  This is very generalized but has most of the information one would need to understand Doom3&#039;s performance:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Before you begin there are a few things you will need to understand about the Doom3 engine to fully utilize the engine.  The Doom3 engine relies on both graphical and processing power.  Therefore the performance of a map will rely on both the graphics card and the processor of any given machine (as well as other factors such as RAM but for simplicity purposes we will ignore that and categorize it under processing power).  When you understand which factors affect which components of a computer, you can work to maximize each specific asset.  For example, if you have to much visual components, your graphics card may lag causing the entire game to lag, but this doesn&#039;t necessarily mean your processor is lagging.  Therefore if you can balance the two you can get the best results.&lt;br /&gt;
&lt;br /&gt;
=== The GPU(Graphics processing unit) ===&lt;br /&gt;
&lt;br /&gt;
Generally speaking, the graphics card will be doing all the rendering of polygons in a map.  Every brush you make, every model you insert will add polygons to your map.  In addition, sprites and graphical affects such as fog and post processing effects (like overlays) affect this aspect of the engine.  The Doom3 engine is a great polygon pusher however and one will have to have created a very complex area to experience slow-down due to polygons.  Usually unnecessary patches are the cause of polygon related lagging. [See using patches effectively. (coming soon)]  Sprites however may cause severe fps drop; the reason is unknown as Doom3 is not open source yet but sprite affects such as snow, rain, smoke ect. should be used sparingly especially in areas which the player will be close to the sprites because when the player gets close to a sprite, the engine will slow down.  You may notice this if you place a puff of smoke or several torches near each other.  From a distance you may get decent FPS (frames per second), but when you are very close to them you will experience slowdown.&lt;br /&gt;
&lt;br /&gt;
=== The Processor ===&lt;br /&gt;
&lt;br /&gt;
Your processor, generally speaking again, will be rendering the shadows, physics, sound propagation and AI calculations (including pathfinding). This means that every shadow you have will slow down your FPS.  The CPU tells the GPU where to render the lights, and each lights is a mathematical calculation.  Lights which do not cast shadows also slow your FPS but not nearly as much as calculated shadows.  For this reason it is important to understand how the Doom3 engine acts with shadows.  A popular conception is that the Doom3 engine will slow down when you add additional lights but that is not true.  The performance you get in Doom3 in regards to lighting will be directly linked to how many shadows you have in each rendered scene.  For instance:  You could have 5 lights casting 5 shadows, it will render roughly the same as one light casting five shadows.  This is important to keep in mind when placing lights.  You don&#039;t want the engine rendering a bunch of shadows that the player will not even notice.  You also want to take into consideration how many AI you will have in a given scene.  With the current version of TDM having more than three AI actively searching for a player can be very detrimental to your FPS.  AI optimization techniques include extensive monster clip work [link will go here] and good planning.&lt;br /&gt;
&lt;br /&gt;
=== How to Use This information ===&lt;br /&gt;
&lt;br /&gt;
Now that you have a basic understanding of what aspects of the Doom3 engine effect your FPS you can use this information to troubleshoot your map and plan it better.  For instance if you notice you are having FPS issues in a specific area, try using r_shadows 0 (this removes dynamic shadows) and see what the difference in FPS is.  If it is minuscule then you know it isn&#039;t an issue related to lighting.&lt;br /&gt;
&lt;br /&gt;
= Intermediate Lighting Techniques for Performance and Aesthetics =&lt;br /&gt;
&lt;br /&gt;
For the above reasons it’s important to be creative in the placement of lights throughout your level.  Certain objects and lights should have the &amp;quot;noshadows 1&amp;quot; parameter applied to them.  This can be set in a light by selecting the light and pressing J then checking the &amp;quot;noshadows&amp;quot; box, or in the entity inspector toolbox.  To optimize your map properly, you must first pick and choose which lights have the “noshadows 1” parameter.  They must be properly placed or else they will appear strange to the player and take away from game play.  This can be difficult due to how Doom3 renders lights.  The “noshadows 1” option will cause the light to go through brushes.  Below is an image that displays how the Doom3 engine renders lights:&lt;br /&gt;
&lt;br /&gt;
[[Image:Large area tutorial noshadows.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Notice how with &amp;quot;noshadows 1&amp;quot; applied the light travels through the wall in the middle but with &amp;quot;noshadow 0&amp;quot; meaning the light casts a shadow, it does not.  Thus anything within the radius of your light with &amp;quot;noshadows 1&amp;quot; applied will be lighted as per your light settings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With this in mind, you can pick and choose which lights should have &amp;quot;noshadows 1&amp;quot; applied to them.  Sometimes a light which regularly casts shadows, set to not cast shadows, won&#039;t even be noticeable to the player.  Below are two example pictures:&lt;br /&gt;
&lt;br /&gt;
[[Image:Large area tutorial noshadows 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;One would not regularly notice that the light on the left doesn&#039;t cast any shadows.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:Large area tutorial noshadows 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The lights with the red circles around them are the only lights which cast shadows.  The rest are using &amp;quot;noshadows 1&amp;quot; on them.  Note:  The strange jagged lines in this picture are from using noclip.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the above picture you may also notice that non of the lanterns are casting shadows.  This is because on the model itself, the &amp;quot;noshadows 1&amp;quot; parameter is applied.  This prevents the object from rendering a shadow.  This can help drastically because the mapper can pick and choose which objects cast shadows, and the less shadows, the better the performance.  Many times players will not even notice if an object is not casting a shadow, especially if it is on the edge of a light.&lt;br /&gt;
&lt;br /&gt;
The above image also shows how no shadow lights can be used to illuminate windows.  There will rarely be an exception to using &amp;quot;noshadows 1&amp;quot; on window illumination lights as the shadows will rarely ever be important.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also important to remember the rules and tips from previous tutorials [link will go here], such as:&lt;br /&gt;
&lt;br /&gt;
Moving lights cause a lot more lag than stationary.&lt;br /&gt;
Moving objects which cast shadows in lights may cause lag.&lt;br /&gt;
Lights which cast shadows and overlap cause lag.&lt;br /&gt;
&lt;br /&gt;
In some cases you may want to consider making custom shaders for your map.  This will allow for your light to not cast shadows, but look as if it is by using a specifically made shader.  A custom shader tutorial can be found here [link].  You should only use this method however, if you have exhausted all other techniques.&lt;br /&gt;
&lt;br /&gt;
= Visportaling and Planning = &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Before progressing to this part of the tutorial, you should have a basic knowledge of how visportals work [see this link].  Visportals are the most important optimization process!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One cannot start making a map without having at least a rough plan of the layout of the map either on paper or in their head.  If you have begun to construct a map without any direction you are likely to run into un-fixable performance problems.  When constructing wide open areas you should take into consideration three main issues:&lt;br /&gt;
&lt;br /&gt;
# How many shadow casting lights will there be?&lt;br /&gt;
# How will the vis portaling be setup?&lt;br /&gt;
# What is the layout like?&lt;br /&gt;
&lt;br /&gt;
This tutorial is made specifically for a detailed large scale city map.  Large terrain maps have different attributes than complex dense city maps and have been explored in forums such as doom3world.org.  One should have two trains main of thought when making plans for their map.  Firstly, imagine your roads and buildings as hallways.  This train of thought goes back far even to Thief 2 where levels such as “Life of the Party” take advantage of this layout (Link to reference picture).  The other train of thought should be how you can use bottleneck points to your advantage.  Both of these will be discussed below:&lt;br /&gt;
&lt;br /&gt;
With a basic understanding of how visportals work, one can see how the image below results in optimization using visportals.&lt;br /&gt;
&lt;br /&gt;
[[Image:Large area tutorial visportaling 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
The areas highlighted in red are the main city street.  Every time there is a corner, there is a visportal.  This allows for the Doom3 engine to only render the straight hallways directly infront of the player.  This concept is the most crucial part when planning a map.  Your map must have corners such as shown in the above image, to support visportals.  If you cannot support visportals in your map, your map will either A) run horribly or B) look horrible, because you will have to reduce your detail to accommodate the extreme rendering.  The above image does not allow for the player to go on the roofs of buildings, that will be discussed later and is far more advanced to setup.  However you can see how it isn&#039;t a sandbox like a GTA game where you can go anywhere.  TDM is not setup for that type of level so you will have to follow specific guidelines to give the illusion of a large city, but in actuality, the map is a series of hallways separated by visportals!  It&#039;s easier than it sounds.&lt;br /&gt;
&lt;br /&gt;
The bottleneck technique is for large open areas which are seen more as large rooms with lots of details connected by hallways.  Imagine the first map you made.  It was likely two rooms connected by a hallway.  We are basically using the exact same idea, but instead of two rooms, it&#039;s two large cities connected by a pathway.  The image below illustrates this concept:&lt;br /&gt;
&lt;br /&gt;
[[Image:Large area tutorial visportaling 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
As you can see the area circled in red is a small hallway which separates two large areas.  Therefore, when the player is in the top area, the engine wont render the bottom area, and when the player is in the bottom area, it wont render the top area.  The bottleneck must consist of some turns to allow for proper visportaling.  An &amp;quot;L&amp;quot; technique is ideal and this will be covered shortly.  By using this bottleneck technique, you can create the maximum detail possible for both the top and bottom areas and by using a bottleneck such as a gate, a sewer pipe, ect ect (get creative)  The player will not feel as if it is two seperate areas, rather just one giant one.  This is very important for areas which permit the player to run on specific rooftops.  (Imagine &amp;quot;Life of the Party again.  It had many areas that you had to go into interiors.  These are the bottlenecks!)&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;L&amp;quot; Technique =&lt;br /&gt;
&lt;br /&gt;
The L Technique is a simple but extremely effective way for cramming a bunch of interiors into a small area.  Say you have a street with 6 houses, 3 on either side.  If you open every door you will have lag because the Doom3 engine will be rendering some of the insides of those houses.  What you must do is create an L shaped entrance with minimum detail to prevent a performance drop.  The image below illustraits this point:&lt;br /&gt;
&lt;br /&gt;
[[Image:Large area tutorial ltechnique.jpg]]&lt;br /&gt;
&lt;br /&gt;
The red square is the player and the yellow is what is being rendered by the engine(of course the red shouldn&#039;t be behind the player, because the engine wont render things behind you, my mistake).  The green is your door / visportal, and notice how the second visportal inside blocks the rendering of the rest of the house.  One must always consider how the Doom3 engine will render what you are making.  Say you have another door leading to a bedroom within that red area inside the house.  If the player opens both those doors than it&#039;s going to be rendering some of the interior entrance, as well as some of the bedroom.  It&#039;s ideal to move that bedroom somewhere in the un-rendered area where when the player has both doors open, he will only render the minimal amount of the inside of the house.  When planning your map you must also take into consideration where the player will be positioned in regards to visportals.  For example if the player is in the left of the image facing the visportal door while the door is opened, obviously more of the inside will be being rendered.  If this is too much then instead of using an &amp;quot;L&amp;quot; shape use an &amp;quot;U&amp;quot; or &amp;quot;S&amp;quot; shape.&lt;br /&gt;
&lt;br /&gt;
= Possible Errors =&lt;br /&gt;
&lt;br /&gt;
Although the Doom3 engine is extremely flexible, you may come into a particular error if your map exceeds the limit that your computer can handle.  As far as I&#039;ve been able to decipher, this specific error is not related to how &amp;quot;large&amp;quot; your map is on either the X,Y or Z axis, rather it&#039;s related to the amount of texture your map has.  The Doom3 engine is only limited by current hardware in this aspect.  If your map is using too many different textures (textures are used on models as well, do not forget that!) your graphics card may not be able to load all the textures into it&#039;s memory resulting in a Malloc failure:&lt;br /&gt;
&lt;br /&gt;
[[Image:Large area tutorial doom3 map error.png]]&lt;br /&gt;
&lt;br /&gt;
note: This error will only occur when you try and run the map, the map should compile fine.&lt;br /&gt;
&lt;br /&gt;
This error occurred for me when I was adding onto a map which consisted of:  14538 brushes 973 patches, 2674 entities, and approximately 150 brush textures alone, with the dimensions of 6144X6144.&lt;br /&gt;
This is an extreme case however.  It was running on a 1.87ghz core 2 duo, 3 gigs of ram with a x1950 pro 256 card.&lt;br /&gt;
&lt;br /&gt;
= More to come! =&lt;br /&gt;
{{tutorial-editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Known_System_Configurations&amp;diff=9240</id>
		<title>Known System Configurations</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Known_System_Configurations&amp;diff=9240"/>
		<updated>2009-10-19T18:46:19Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Nvidia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
This page should be used to collect feedback about user system and the performance or problems they have been experiencing. Be sure to mention your CPU, amount of RAM, graphics card and operating system in the specs. (Don&#039;t post unimportant things like power supply or what type of case you have.). For performance feedback, specify an average FPS you&#039;ve been getting, the video settings you&#039;re using and (important!) the FM you&#039;ve been playing. Feel free to post a free-form description of your experience. In case of display problems, the graphics driver version might be of interest.&lt;br /&gt;
&lt;br /&gt;
==Nvidia==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nvidia GeForce FX5900===&lt;br /&gt;
&lt;br /&gt;
*Fidcal (1)&lt;br /&gt;
**CPU: Celeron 3.06Ghz&lt;br /&gt;
**Ram: 2.0GB&lt;br /&gt;
**GPU: Nvidia GeForce FX5900 128MB&lt;br /&gt;
**OS: Windows XP SP3&lt;br /&gt;
**Performance: Just about playable on minimal settings 800 x 600 etc. Chalice of Kings seeing 20 to 30fps at best (well 50 or 60fps in a cupboard); the most complex areas in the house it drops to 10 to 20 and sometimes 7 or 8. Even with alerts I played through this OK but definitely not smooth.&lt;br /&gt;
**DarkRadiant: Slow but useable but cannot run simultaneously with Dark Mod except with very small maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nvidia GeForce 6150SE nForce430===&lt;br /&gt;
&lt;br /&gt;
*demagogue (desktop)&lt;br /&gt;
**CPU: AMD Athlon 2650e 1.60 GHz&lt;br /&gt;
**Ram: 2.0 GB&lt;br /&gt;
**GPU: Nvidia GeForce 6150SE nForce430&lt;br /&gt;
**OS: Windows Vista sp1&lt;br /&gt;
**Performance: On my own Patently Dangerous, running at 800x600, no AA, Ambient and Interactive Shading on &amp;quot;Standard&amp;quot;.  Usually 40+ FPS inside and 20 outside on the streets.  I&#039;m also running it off an external hard-drive; not sure if that slows things down a little.  IMPORTANT:  I noticed in the &amp;quot;Video&amp;quot; settings, if I set &amp;quot;Interactive Shading&amp;quot; to &amp;quot;High Quality&amp;quot; (which is currently the default setting in the release version), a lot of brushes start getting large white-out video artifacts (You&#039;ll see them in the Training Mission sparring area).  You can get rid of them by switching Interactive Shading to &amp;quot;Standard&amp;quot;.  This problem was also reported by someone with a 6800GT (TelMarine, but SneaksieDave, also with a 6800 didn&#039;t report it, whatever that tells you.)  &lt;br /&gt;
**DarkRadiant: No problems.&lt;br /&gt;
&lt;br /&gt;
===nVidia GeForce 6800===&lt;br /&gt;
&lt;br /&gt;
* SneaksieDave (1)&lt;br /&gt;
** CPU: Intel Pentium 4 1.4 GHz&lt;br /&gt;
** RAM: 1 GB&lt;br /&gt;
** GPU: nVidia GeForce 6800&lt;br /&gt;
** OS: Windows XP SP1&lt;br /&gt;
** Performance: no problem running TDM missions in general, and usually decent to good framerates.  A mission like Saint Lucia gets at least 15 FPS in the worst areas, and 40 FPS in simple areas.  Running at 800x600, no AA, std ambient.  Launching (first time only) and compiling missions can take a few minutes.&lt;br /&gt;
** DarkRadiant: no problems.&lt;br /&gt;
&lt;br /&gt;
===nVidia GeForce 7600 GT===&lt;br /&gt;
&lt;br /&gt;
* SneaksieDave (4, updated configuration of 3)&lt;br /&gt;
** CPU: Intel Core 2 Duo 2.66 GHz&lt;br /&gt;
** RAM: 2 GB&lt;br /&gt;
** GPU: nVidia GeForce 7600 GT&lt;br /&gt;
** OS: Windows XP SP2&lt;br /&gt;
** Performance:  In all areas of trainer and Saint Lucia with vsync disabled, framerate tops out and stays at 60FPS.  Running at 1024x760, 2x AA, std ambient.&lt;br /&gt;
** DarkRadiant: no problems.&lt;br /&gt;
&lt;br /&gt;
===Nvidia GeForce 8600GTS===&lt;br /&gt;
&lt;br /&gt;
*Baddcog&lt;br /&gt;
**CPU: Intel Core Duo 6600, 2.66 ghz&lt;br /&gt;
**RAM: 4 GB dual channel ddr2 800&lt;br /&gt;
**GPU: Nvidia 8600GTS 512MB&lt;br /&gt;
**OS: Windows Vista Home Basic (32 bit, 3 gigs useable ram)&lt;br /&gt;
**Sound: X-Fi Xtreme gamer&lt;br /&gt;
**Performance: Fine on St. Lucia, need to DL beta...&lt;br /&gt;
&lt;br /&gt;
===Nvidia 8800GS===&lt;br /&gt;
&lt;br /&gt;
*BrokenArts&lt;br /&gt;
**CPU: AMD Athlon64 X2 4400+ 2.3GHz&lt;br /&gt;
**RAM: 2.5GB&lt;br /&gt;
**GPU: Nvidia 8800GS 384MB&lt;br /&gt;
**OS: Windows Vista / Ubuntu 9.04 64bit&lt;br /&gt;
**Performance: No problems with any map @ 1680x1050, 0xAA, 8xAF, Bloom disabled.&lt;br /&gt;
&lt;br /&gt;
===Nvidia 8800GT===&lt;br /&gt;
&lt;br /&gt;
*HappyCheeze&lt;br /&gt;
**CPU:Intel Q6600 Quadcore 2.4 GHz&lt;br /&gt;
**Ram: 4.0 GB&lt;br /&gt;
**GPU: Nvidia 8800GT&lt;br /&gt;
**OS: Windows XP and Windows 7 RC&lt;br /&gt;
**Performance: Running at 1280x1024, all max except for AA. I get around 60 FPS indoor and usually 30s outdoors. For some reason, I cannot run maximum AA. It drops the FPS sharply. I am unsure as to why this is. I can run maxed out AA on other games such as TF2 and Oblivion (with clip plane low of course). If I can run source engine games maxed out, than I am confused as to why an older engine cannot be run the same way.&lt;br /&gt;
**DarkRadiant: No problems. I use two monitors. Really helps.&lt;br /&gt;
&lt;br /&gt;
===Nvidia 9600GT===&lt;br /&gt;
&lt;br /&gt;
*LeatherMan&lt;br /&gt;
**CPU: AMD Athlon64 X2 5050e 2.6GHz&lt;br /&gt;
**RAM: 2.5GB&lt;br /&gt;
**GPU: Nvidia 9600GT 512MB&lt;br /&gt;
**OS: Mandriva 2009.1 32bit / Ubuntu 9.04 64bit/32bit&lt;br /&gt;
**Performance: Quite playable @ 1680x1050 with 2xAA, 8xAF, Standard ambient, High Quality shaders, and Bloom enabled. Very few slowdowns, even on large maps, but with some lag underwater.&lt;br /&gt;
**Dark Radiant: No problems&lt;br /&gt;
&lt;br /&gt;
===nVidia 9700M GT===&lt;br /&gt;
&lt;br /&gt;
* greebo&lt;br /&gt;
** CPU: Intel Core 2 Duo T9400 (2.4 GHz)&lt;br /&gt;
** RAM: 4 GB&lt;br /&gt;
** GPU: nVidia 9700M GT&lt;br /&gt;
** OS: Vista x64&lt;br /&gt;
** Performance: I can run and dmap just about any map. I&#039;m usually capping at 60 FPS, the larger maps with lots of AI tickle around 30 FPS. I have my video setting at 1920x1200, no anti-aliasing, 4x anisotropy, Standard ambient and High Quality interaction shaders.&lt;br /&gt;
** DarkRadiant: no problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nvidia GTX280===&lt;br /&gt;
&lt;br /&gt;
*Fidcal (2)&lt;br /&gt;
**CPU: AMD Phenom  Quad core 2.6Ghz &lt;br /&gt;
**Ram: 8GB&lt;br /&gt;
**GPU: Nvidia GTX280 PCI Express 1GB&lt;br /&gt;
**OS: Windows Vista Home Premium SP1&lt;br /&gt;
**Performance: Maps and Dmaps all FMs I&#039;ve tried so far. Decent performance, rarely below 20fps, mostly 25 to 50 on not quite the top settings but fairly high.&lt;br /&gt;
**DarkRadiant: Cannot do render mode or far clip mode. Slow with big maps so use the grid filter to just show the area I&#039;m working on mostly.&lt;br /&gt;
&lt;br /&gt;
==Radeon==&lt;br /&gt;
&lt;br /&gt;
===Radeon 4850 HD===&lt;br /&gt;
&lt;br /&gt;
*Mortem Desino (2)&lt;br /&gt;
** CPU: Intel Core 2 Duo 3.2 GHz&lt;br /&gt;
** RAM: 4.0 GB&lt;br /&gt;
** GPU: ATI Radeon 4850 HD (1 GB model)&lt;br /&gt;
** OS: Windows XP Professional&lt;br /&gt;
** Performance: Running at 1920x1080, 8x AA, 8x AF, std ambient, Saint Lucia hovers at 30 fps outdoors and 60 fps indoors. Large maps with lots of AI usually get no less than 30 fps.&lt;br /&gt;
** DarkRadiant: no problems.&lt;br /&gt;
&lt;br /&gt;
*Briareos H&lt;br /&gt;
** CPU: Intel Core 2 Duo E8500 @ 3.16 GHz&lt;br /&gt;
** RAM: 4.0 GB&lt;br /&gt;
** GPU: ATI Radeon 4850 HD (512 MB model)&lt;br /&gt;
** Catalyst version: 9.9&lt;br /&gt;
** OS: Windows Vista Home Premium&lt;br /&gt;
** Performance: Running at 1680x1050, 4x AA, 4x AF, std ambient, Beta 1.0  at ~30 fps outdoors and ~40 fps indoors. Rarely going under 25 fps.&lt;br /&gt;
** DarkRadiant: no problems.&lt;br /&gt;
** Known problems: Activating Bloom turns the game upside down. On any settings the skybox pans faster than the geometry, leading to a weird, noticeable effect.&lt;br /&gt;
&lt;br /&gt;
===Radeon 7500 video card===&lt;br /&gt;
&lt;br /&gt;
*demagogue (old Inspiron 5100 laptop)&lt;br /&gt;
**CPU: Pentium 4 CPU, 2.66 GHz&lt;br /&gt;
**Ram: 384 MB Ram&lt;br /&gt;
**GPU: Radeon 7500 video card&lt;br /&gt;
**OS: Windows XP sp3&lt;br /&gt;
**Performance:  Running at 800x600, no AA, std ambient, on any FM, FPS down to &amp;lt;5 and brush textures were whited out because of old video card.  An example of below the lower bounds, but I was surprised it ran at all.  &lt;br /&gt;
**DarkRadiant: I was able to open a map, but didn&#039;t try editing. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Radeon 9600 Pro (128 Mb)===&lt;br /&gt;
&lt;br /&gt;
* Mortem Desino (1)&lt;br /&gt;
** CPU: Intel Pentium 4 2.4 GHz&lt;br /&gt;
** RAM: 1.25 GB&lt;br /&gt;
** GPU: ATI Radeon 9600 Pro (128 Mb)&lt;br /&gt;
** OS: Windows XP Professional&lt;br /&gt;
** Performace: Running at 1440x900 No AA, No AF, std ambient, Saint Lucia hovers around 15 fps outdoors and 30-40 fps indoors. &lt;br /&gt;
***If I wanted to have Anti-Aliasing, I had to use the utility packaged with my Graphics Card, the &amp;quot;ATI Catalyst Control Center&amp;quot;, because Doom 3&#039;s 4x AA was significantly slower than ATI&#039;s 4x AA.&lt;br /&gt;
** DarkRadiant: no problems.&lt;br /&gt;
&lt;br /&gt;
===Radeon 4890 HD (1 GB)===&lt;br /&gt;
&lt;br /&gt;
* Brethren&lt;br /&gt;
** CPU: AMD Phenom II triple core 2.8 Ghz&lt;br /&gt;
** RAM: 4.00 GB&lt;br /&gt;
** GPU: ATI Radeon 4890 HD (1 GB)&lt;br /&gt;
** OS: Vista Ultimate&lt;br /&gt;
** Performace: Runs very smooth at 1920x1080, between 30-60 fps&lt;br /&gt;
***Had some rare &amp;amp; isolated freeze/crash issues with Catalyst drivers 9.7 and below, but was fine after upgrading to 9.9.  Any kind of anti-aliasing makes the video blurry and the distant art/skyboxes inverted and unstable.  Turning bloom on will flip the gameworld upside-down.  Even without AA or bloom, the skyboxes jerk around awkwardly, but they are tolerable.&lt;br /&gt;
** DarkRadiant: no problems.&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
&lt;br /&gt;
===Intel 82915G/GV/910GL Express===&lt;br /&gt;
&lt;br /&gt;
* SneaksieDave (2)&lt;br /&gt;
** CPU: Intel Pentium 4 3.0 GHz&lt;br /&gt;
** RAM: 1 GB&lt;br /&gt;
** GPU: onboard Intel 82915G/GV/910GL Express&lt;br /&gt;
** OS: Windows XP SP2&lt;br /&gt;
** Performance:  framerate is usually poor due to onboard video:  5-15 fps in most areas, higher in only simplest areas.  Running at 800x600, no AA, std ambient.&lt;br /&gt;
** DarkRadiant: no renderer mode but otherwise fine.&lt;br /&gt;
&lt;br /&gt;
===Intel G31/G33 Express Series===&lt;br /&gt;
&lt;br /&gt;
* SneaksieDave (3, original configuration)&lt;br /&gt;
** CPU: Intel Core 2 Duo 2.66 GHz&lt;br /&gt;
** RAM: 2 GB&lt;br /&gt;
** GPU: onboard Intel G31/G33 Express Series chipset&lt;br /&gt;
** OS: Windows XP SP2&lt;br /&gt;
** Performance:  framerate is usually not great due to onboard video, but noticeably better than configuration 2 above:  12-20 fps in most areas, higher in simple areas.  Running at 800x600, no AA, std ambient.&lt;br /&gt;
** DarkRadiant: no renderer mode but otherwise fine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting]]&lt;br /&gt;
[[Category:Gameplay]]&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Patches&amp;diff=6028</id>
		<title>Patches</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Patches&amp;diff=6028"/>
		<updated>2008-02-23T19:37:58Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Other References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
A patch:&lt;br /&gt;
&lt;br /&gt;
* is a two dimensional sheet with only one visible surface. It can be bent, curved and twisted in three dimensions but always remains a sheet. It produces better curves and textures better on them than multiple brushes.&lt;br /&gt;
* can also be a cylinder, great for pipes, bars, logs, ect... or it can be a cone good for tree branches.&lt;br /&gt;
* is a primitive - a child of the worldspawn entity. This means it is a direct offshoot of the game world and inherits any properties applied to the worldspawn. If you select a brush and look in the Entity Inspector you will see the worldspawn properties. &lt;br /&gt;
* may be parented to another entity when it will inherit its properties.&lt;br /&gt;
* will not seal against the void.&lt;br /&gt;
* is suitable for decals - textures such as stains to be placed over other surfaces.&lt;br /&gt;
&lt;br /&gt;
==Round and Softened Corners: Bevels==&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel01.jpg|right|140px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No matter how beautiful the texturing, a mathematically-sharp convex corner is likely to spoil it.&lt;br /&gt;
&lt;br /&gt;
These can be rounded off nicely using a patch bevel. The same method can of course be used to produce larger rounded corners.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right&amp;quot;&amp;gt;[[Image:bevel02.jpg|160px]]   [[Image:bevel03.jpg|160px|top]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Select the brush that forms the corner.&lt;br /&gt;
* Zoom in and set the grid to about 4 or 8. How rounded you want the corner will depend on the texture and other things. I crisp new brick wall might be better with a small rounded corner whereas old round stone blocks will take a larger curve. You can of course, use this method for very large curves where they are an architectural feature not merely a softening of a sharp edge.&lt;br /&gt;
* Press {{key-ctrl}}+{{key|name=X}} for &#039;&#039;Clipper&#039;&#039; or select [[Image:DRclipper.jpg]] on the left toolbar&lt;br /&gt;
{{clear}}&lt;br /&gt;
* Click the two diagonals in order 0 then 1 as shown in the diagram so that the corner is to the right if 0 was 12 on a clock and 1 is 6.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel04.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* {{key-shift}}+{{key-enter}} to split off the corner without deleting it&lt;br /&gt;
* {{key-esc}} to deselect then exclusively select the corner triangle. This might be easier in camera view.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel05.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* Bevels are always created with their curve in the horizontal plane which is what we want here for a vertical corner (if you need a different orientation you have to rotate it after creation.)&lt;br /&gt;
* Select {{menu|l1=Patch|l2=Bevel}}&lt;br /&gt;
* If the bevel is facing the wrong way (in top view) then rotate it, grid snap if necessary to as shown in the image below. The bevel might not have the same number of faces as in the diagram. Don&#039;t worry. We set that separately anyway.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel06.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* Delete the original brush corner triangle that was the template for this bevel.&lt;br /&gt;
* Reselect the bevel patch.&lt;br /&gt;
* Press {{key-shift}}+{{key|name=S}} for patch inspector&lt;br /&gt;
* Click the check box &#039;Fixed Subdivision&#039; else Doom might change the quality when optimising.&lt;br /&gt;
* In the &#039;Horizontal&#039; input just below that in &#039;&#039;&#039;Patch Inspector&#039;&#039;&#039; set the value to 3 or 4. The higher the value the lower the game performance and beyond a certain value you cannot tell any difference so don&#039;t be tempted to go high. It&#039;s a matter of experience, judgement, how big the curve is, and the type of texture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:bevel07.jpg]]   [[Image:bevel08.jpg]]  [[Image:bevel09.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Close the &#039;&#039;&#039;Patch Inspector&#039;&#039;&#039; and use {{key-esc}} to deselect the bevel&lt;br /&gt;
* Use {{key-ctrl}}+{{key-shift}}+{{LMB}} to select only the surface of the brush wall to one side of the bevel. Use a side where you do not want to have to re-align the texture on that wall, eg, there is a window further along and it might be awkward. This is because later, the wall texture on the OTHER side of the bevel may have to be realigned to the bevel.&lt;br /&gt;
* Use {{menu|l1=Edit|l2=Copy Shader}} or the key/mouse shortcut&lt;br /&gt;
* Press {{key-esc}} to deselect and select the bevel again&lt;br /&gt;
* Use {{menu|l1=Edit|l2=Paste Shader (Natural)}} or the shortcut. Do NOT use the normal paste - nor normal paste followed by &#039;&#039;Natural&#039;&#039; in the &#039;&#039;&#039;Surface Inspector&#039;&#039;&#039;.&lt;br /&gt;
* The texture on the bevel should be aligned to that wall.&lt;br /&gt;
* Check texture alignment on the wall on the other side of the bevel and shift it in &#039;&#039;&#039;Surface Inspector&#039;&#039;&#039; as needed.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel10.jpg|right|400px]]&lt;br /&gt;
Hopefully that should now look far better:&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Cylinders and Cones ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To create a cylindrical patch:&lt;br /&gt;
* drag out a brush an ortho view. The cylinder will be created in the plane of the ortho view you created the brush in. If you used the top view you will end up with a cylinder standing upright.&lt;br /&gt;
* with the brush selected choose the &#039;&#039;patch&#039;&#039; menu&lt;br /&gt;
* &#039;&#039;&#039;cylinder&#039;&#039;&#039; will give you a nice and round cylinder with one set of rows (lenghtwise). It will be the size of the brush you had selected.&lt;br /&gt;
&lt;br /&gt;
&#039;More cylinders&#039; gives you more options: &#039;&#039;&#039;dense cylinder&#039;&#039;&#039;; a cylinder with 2 rows, &#039;&#039;&#039;very dense cylinder&#039;&#039;&#039;; a cylinder with 3 rows, &#039;&#039;&#039;square cylinder&#039;&#039;&#039;; a four sided cylinder. All patches are rendered smooth, so you can use a square cylinder and it will still have an almost round look to it in game as opposed to a square brush that will render flat and very square.&lt;br /&gt;
The more dense of a cylinder you use the more you can bend it into a tight angle.&lt;br /&gt;
&lt;br /&gt;
[[Image:patch_tut_08.jpg]]&lt;br /&gt;
*deleted the brush you used to create the cylinder, you will notice that it has no ends and looks pretty bad. To fix this we&#039;ll need to create an &#039;&#039;end cap&#039;&#039;, see below.&lt;br /&gt;
[[Image:patch_tut_09.jpg]]&lt;br /&gt;
&lt;br /&gt;
Hit the &#039;&#039;v&#039;&#039; and you&#039;ll see the verts of the cylinder, these can be dragged around to create shapes, bends. Hit v again to toggle the vert edit mode off, or hit escape twice. In this picture I used a very dense cylinder and dragged the verts to make a bend, it&#039;s very rough but there are already alot of Doom3 tuts out there that go into detail about how to bend a cylinder. &lt;br /&gt;
&lt;br /&gt;
[[Image:patch_tut_11.jpg]]&lt;br /&gt;
&lt;br /&gt;
Creating a cone is the same process but you will choose&#039;&#039; cone&#039;&#039; from the patch menu.&lt;br /&gt;
&lt;br /&gt;
== End Caps ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
End caps are useful for sealing off the end of a cylinder patch. The patch is created like a piece of paper wrapped around in a circle leaving two open ends.&lt;br /&gt;
&lt;br /&gt;
To create an end cap:&lt;br /&gt;
* select the cylinder patch you just made&lt;br /&gt;
* choose patch menu &#039;&#039;&#039;cap selection&#039;&#039;&#039; {{Shift}}+{{C}} and choose &#039;&#039;cylinder&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_05.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you did everything correctly you will have a round cap at each end of your cylinder. You can only see these caps if you are looking at them as they only have tex on one side. If your cylinder was setting on the floor you will have to fly down below it and look up.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_10.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can bend a patch, then cap it and the caps will be in the correct places. You can also select a cap and a cylinder at the same time, hit {{V}} and drag verts of both patches together to keep their shapes aligned.&lt;br /&gt;
&lt;br /&gt;
You also notice that in the caps menu there are other shapes of end caps, these can be good to fill in archways.&lt;br /&gt;
&lt;br /&gt;
== Archways ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Patches are great for smooth arches, much smoother than can be created with brushes. You  can also create the opposite of an archway using the same steps, this could be useful for creating a covered wagons top.&lt;br /&gt;
&lt;br /&gt;
To create an archway:&lt;br /&gt;
* create a doorway or hallway with terrain brushes, you can use caulk on the ceiling as those polys won&#039;t be seen and this way they won&#039;t be rendered either.&lt;br /&gt;
[[Image:Patch_tut_01.jpg]]&lt;br /&gt;
* create a brush in the doorway you want an arch in, make it the size you want the arch, so approximately the size of the curves at the top of the doorway.&lt;br /&gt;
* out of the patch menu select &#039;&#039;&#039;end cap&#039;&#039;&#039;, end caps are not only round cylinder caps, in this case we will get the inside of the archway. Most likely it will have to be rotated/resized to fit the area you want it in.&lt;br /&gt;
Again, patches only have tex on one side so if you don&#039;t see it in 3d it doesn&#039;t mean it isn&#039;t there. Look in the ortho views when you create it. Delete the brush you used to create the end cap patch.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_02.jpg]] [[Image:Patch_tut_03.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sometimes the texture ends up on the wrong side, so it would be facing the ceiling and the player couldn&#039;t see it. To fix it:&lt;br /&gt;
* select the patch&lt;br /&gt;
* patch menu: Matrix: &#039;&#039;&#039;Invert&#039;&#039;&#039; {{Ctrl}}+{{I}}&lt;br /&gt;
[[Image:Patch_tut_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now you&#039;ve got a doorway or a hallway and an arched ceiling to it, but the ends of it are open and it looks like the ceiling is just paper. We need to cap the end so it looks solid.&lt;br /&gt;
&lt;br /&gt;
* select the arch patch you just created.&lt;br /&gt;
* patch menu: &#039;&#039;&#039;cap selection&#039;&#039;&#039; {{Shift}}+{{C}}&lt;br /&gt;
* choose &#039;&#039;inverted end cap&#039;&#039; &lt;br /&gt;
[[Image:Patch_tut_05.jpg]]&lt;br /&gt;
&lt;br /&gt;
As you can see from the icon (the blue is what you get) you will get caps on each side of the arch that fill in the corners. Like the cylinder cap this will give you a cap on each end, so if you only needed one you&#039;ll have to delete the spare. Maybe you made an alcove and the back side of the arch is against a wall.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_06.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can see that the inc=verted end cap has a pretty ugly looking texture alignment, this needs fixed.&lt;br /&gt;
To align the textures with the surrounding bricks:&lt;br /&gt;
* {{Shift}}+{{Ctrl}}+{{LMB}} click on the wall next to the arch.&lt;br /&gt;
* Edit menu: copy shader&lt;br /&gt;
* Select the end cap(s)&lt;br /&gt;
* Edit menu: paste shader&lt;br /&gt;
(I think the shortcut for this is {{Shift}}+{{Ctrl}}+{{MMB}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_07.jpg]]&lt;br /&gt;
&lt;br /&gt;
I failed to align the texture properly on the left wall due to a pizza break during the tut, forgive my slacker ways, however I did get the end cap properly textured and aligned to the wall on the right. (I should&#039;ve aligned the textures top, left and right before doing the end cap).&lt;br /&gt;
Do the same with one of the inside walls and the inside of the arch. Aligning this inside curve with the outside curve is probably impossible, in that case you&#039;ll probably want to create another stone trim arch for the end. This is up to you, do you want to build a decent level fast or do you want to create the mother of all beautiful levels? You aren&#039;t getting paid, how much free time do you have?&lt;br /&gt;
&lt;br /&gt;
==Trim Arches==&lt;br /&gt;
&lt;br /&gt;
OK, you&#039;ve decided that you do have more time and want your arches to look better than a simple cap like above. Instead you want a realistic arch with stones across the top. This effect can easily be achieved by using patches and a little bit of texture alignment.&lt;br /&gt;
&lt;br /&gt;
* Select the &#039;&#039;end cap patch&#039;&#039; that creates the inside of the archway, the one the player will look up at inside the hall or doorway.&lt;br /&gt;
[[Image:Archway_01.jpg]]&lt;br /&gt;
* The tetxure used there is obviously a terrible choice for a stable archway so pick something that is made up of large square stones and apply it to the patch. Then drag the patch out so it is wider than the doorway. This will make the bricks wider than the doorway giving more depth and also avoiding any z-fighting issues with the wall. Now use the texture alignment tools to fit the bricks onto that patch nicely. I prefer to work with very small increments in the horizontal and vertical scaling and alignment sliders. &lt;br /&gt;
* With the patch selected go to the patch menu and select &#039;&#039;&#039;Thicken Patch&#039;&#039;&#039;. Use the setting shown. &#039;&#039;&#039;16&#039;&#039;&#039; will make the new patch 16 units thick, approximately a foot.&lt;br /&gt;
[[Image:Thicken_Patches.jpg]] [[Image:Patch_Thicken.jpg]]&lt;br /&gt;
* Now you will have a complete stone arch. It&#039;s easiest to drag all the patches away from the wall and into an open area so you can easily see and align the textures. Also you will notice there are 2 patches at the bottom of the arch, these will most likely end up inside your wall so they can be deleted.&lt;br /&gt;
[[Image:Archway_02.jpg]]&lt;br /&gt;
* There is a problem with this arch, this happened because I made a very flat topped arch. Patches will &#039;&#039;optimize&#039;&#039; themselves and because the arch was fairly &#039;&#039;flat&#039;&#039; it doesn&#039;t have enough shape to match the outside of the arch. The cure for this is to make the arch rounder in shape. So with all the arch patches selected (don&#039;t forget both sides, top and bottom) resize it height-wise until you see the patch sub-divide so it has the same amount of sections as the outside.&lt;br /&gt;
[[Image:Archway_03.jpg]]&lt;br /&gt;
* This creates another issue, the patches no longer align properly. Hit {{V}} to enter vertex edit mode and adjust the verts so the patches match up or come very close to matching. If you can&#039;t get an exact match it is alright, just hit {{Ctrl}} + {{G}} to grid snap the verts. This should snap them altogether, if not try a different grid size.&lt;br /&gt;
&lt;br /&gt;
[[Image:Archway_04.jpg]]&lt;br /&gt;
* Your patches now align cleanly and make a nice archway, now spend a little time aligning the textures on each side of the arch. You will have &#039;&#039;holes&#039;&#039; at the bottom of the arch so add a few blocks at the bottom of it to support it and give it a little extra realism.&lt;br /&gt;
* I like to select all the patches and the two blocks under the arch, right-click in an ortho view and convert them to a func_static. This will keep the arch from divinding the surrounding terrain into more triangles, make it easier to move by itself and clone for other doorways. You can also add &#039;&#039;NoShadows 1&#039;&#039; to it if you are trying to drop framerate in that area, this may or may not be good depending on how lights in the area hit the archway.&lt;br /&gt;
&lt;br /&gt;
==Other References==&lt;br /&gt;
&lt;br /&gt;
Texture Tool Tut, can help align arch textures: http://modetwo.net/darkmod/wiki/index.php/Texture_Tool&lt;br /&gt;
General patches tutorial:  http://www.modwiki.net/wiki/Patch&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Texturing_Archways&amp;diff=6027</id>
		<title>Texturing Archways</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Texturing_Archways&amp;diff=6027"/>
		<updated>2008-02-23T19:36:34Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: added link to patch arch page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|Gildoran|2507}}&lt;br /&gt;
&lt;br /&gt;
I&#039;ve figured out a way of seamlessly texturing arches so that the blocks are the exact size and shape you want, using patch-meshes. It&#039;s low-poly, using 2 tris for each trapezoidal block (assuming you only have one visible face per block), and doesn&#039;t require new textures. Since it wasn&#039;t obvious to me and stone archways might be common in TDM, I figured I&#039;d ask if anybody might be interested in a tutorial for it. Here&#039;s an example shot of what it looks like:&lt;br /&gt;
&lt;br /&gt;
[[Image:Arch.jpg|200px]] [[Image:Arch2.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
This is the first tutorial I&#039;ve ever written, so any suggested changes are welcome. I&#039;m not always the best at explaining things. It&#039;s a walk-through on how to take an already existing material and make one side of an archway that is properly textured without seams. It assumes the material is of a brick/block texture.&lt;br /&gt;
&lt;br /&gt;
== Make an archway ==&lt;br /&gt;
Make an archway and decide how the blocks are going to be shaped/etc.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways0.jpg]]&lt;br /&gt;
&lt;br /&gt;
In the picture above, I gave the blocks alternating textures so it&#039;s easy to tell them apart.&lt;br /&gt;
&lt;br /&gt;
== Choose what material you want to use. ==&lt;br /&gt;
Make a large brush and apply the material to it. Then decide which set of blocks you want to use.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Assuming you want the texturing to be seamless, choose a row or column of blocks that wrap. I think it&#039;s best to choose a set of blocks that are roughly the same size and proportions as the blocks of your archway, so the textures end up getting distorted the least.&lt;br /&gt;
&lt;br /&gt;
== Resize the large Brush == &lt;br /&gt;
Resize the large brush so that its borders end just slightly outside your chosen set of blocks.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways3.jpg]]&lt;br /&gt;
&lt;br /&gt;
This is merely to make step 4 easier.&lt;br /&gt;
&lt;br /&gt;
== Chop up the brush into several smaller ones ==&lt;br /&gt;
Chop up the brush into several smaller quadrilateral ones so that each brush matches up with one block in the texture. I recommend using the clip tool and SHIFT+ENTER to split the brush along the seams between blocks, then going back and vertex editing them so they exactly match the shape of the blocks in the texture.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing_archways1.jpg]]&lt;br /&gt;
&lt;br /&gt;
It may be easier to see where the seams are if you turn on light rendering. Try to get the brushes to match the texture as closely as possible; I recommend using a grid-spacing of 1. Also, make sure that the first and last brush fit together perfectly without a texture seam.&lt;br /&gt;
&lt;br /&gt;
== For each block, make a simple patch mesh. ==&lt;br /&gt;
Vertex edit the patch mesh so that it matches the shape of its corresponding brush in the 2D window. Also, it is very important to make sure that it is in the same position as its corresponding brush in the 2D window. Then, select all the patch meshes, and copy the texture from the brushes by clicking on them with the middle mouse button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways4.jpg]]&lt;br /&gt;
&lt;br /&gt;
This should cause your patch meshes to have the proper texturing, so you can repeat them without texture seams.&lt;br /&gt;
&lt;br /&gt;
== Clone your patch meshes as much as needed ==&lt;br /&gt;
Clone your patch meshes as much as needed and vertex edit them so they match the shape of the blocks of your archway.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways5.jpg]]&lt;br /&gt;
&lt;br /&gt;
You should end up with a bunch of patch meshes that act as one side of your archway being textured seamlessly. As a final touch, go into the surface editor, and turn on &amp;quot;subdivide patch&amp;quot; with horizontal and vertical at 1. If the texture looks distorted, you may need to increase the subdivisions, but that will result in more triangles being used.&lt;br /&gt;
&lt;br /&gt;
This technique could be used again for the top and bottom of the archway if you want to construct it entirely out of patch meshes, or you could make it out of brushes and texture one side with caulk, then move the patch meshes so they&#039;re coplanar with the side of the archway.&lt;br /&gt;
&lt;br /&gt;
{{tutorial-textures}}&lt;br /&gt;
&lt;br /&gt;
Alternate method to texturing arches using patches:&lt;br /&gt;
http://modetwo.net/darkmod/wiki/index.php/Patches#Trim_Arches&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Texturing_Archways&amp;diff=6026</id>
		<title>Texturing Archways</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Texturing_Archways&amp;diff=6026"/>
		<updated>2008-02-23T19:35:46Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Original_Reference|Gildoran|2507}}&lt;br /&gt;
&lt;br /&gt;
I&#039;ve figured out a way of seamlessly texturing arches so that the blocks are the exact size and shape you want, using patch-meshes. It&#039;s low-poly, using 2 tris for each trapezoidal block (assuming you only have one visible face per block), and doesn&#039;t require new textures. Since it wasn&#039;t obvious to me and stone archways might be common in TDM, I figured I&#039;d ask if anybody might be interested in a tutorial for it. Here&#039;s an example shot of what it looks like:&lt;br /&gt;
&lt;br /&gt;
[[Image:Arch.jpg|200px]] [[Image:Arch2.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
This is the first tutorial I&#039;ve ever written, so any suggested changes are welcome. I&#039;m not always the best at explaining things. It&#039;s a walk-through on how to take an already existing material and make one side of an archway that is properly textured without seams. It assumes the material is of a brick/block texture.&lt;br /&gt;
&lt;br /&gt;
== Make an archway ==&lt;br /&gt;
Make an archway and decide how the blocks are going to be shaped/etc.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways0.jpg]]&lt;br /&gt;
&lt;br /&gt;
In the picture above, I gave the blocks alternating textures so it&#039;s easy to tell them apart.&lt;br /&gt;
&lt;br /&gt;
== Choose what material you want to use. ==&lt;br /&gt;
Make a large brush and apply the material to it. Then decide which set of blocks you want to use.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Assuming you want the texturing to be seamless, choose a row or column of blocks that wrap. I think it&#039;s best to choose a set of blocks that are roughly the same size and proportions as the blocks of your archway, so the textures end up getting distorted the least.&lt;br /&gt;
&lt;br /&gt;
== Resize the large Brush == &lt;br /&gt;
Resize the large brush so that its borders end just slightly outside your chosen set of blocks.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways3.jpg]]&lt;br /&gt;
&lt;br /&gt;
This is merely to make step 4 easier.&lt;br /&gt;
&lt;br /&gt;
== Chop up the brush into several smaller ones ==&lt;br /&gt;
Chop up the brush into several smaller quadrilateral ones so that each brush matches up with one block in the texture. I recommend using the clip tool and SHIFT+ENTER to split the brush along the seams between blocks, then going back and vertex editing them so they exactly match the shape of the blocks in the texture.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing_archways1.jpg]]&lt;br /&gt;
&lt;br /&gt;
It may be easier to see where the seams are if you turn on light rendering. Try to get the brushes to match the texture as closely as possible; I recommend using a grid-spacing of 1. Also, make sure that the first and last brush fit together perfectly without a texture seam.&lt;br /&gt;
&lt;br /&gt;
== For each block, make a simple patch mesh. ==&lt;br /&gt;
Vertex edit the patch mesh so that it matches the shape of its corresponding brush in the 2D window. Also, it is very important to make sure that it is in the same position as its corresponding brush in the 2D window. Then, select all the patch meshes, and copy the texture from the brushes by clicking on them with the middle mouse button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways4.jpg]]&lt;br /&gt;
&lt;br /&gt;
This should cause your patch meshes to have the proper texturing, so you can repeat them without texture seams.&lt;br /&gt;
&lt;br /&gt;
== Clone your patch meshes as much as needed ==&lt;br /&gt;
Clone your patch meshes as much as needed and vertex edit them so they match the shape of the blocks of your archway.&lt;br /&gt;
&lt;br /&gt;
[[Image:Texturing archways5.jpg]]&lt;br /&gt;
&lt;br /&gt;
You should end up with a bunch of patch meshes that act as one side of your archway being textured seamlessly. As a final touch, go into the surface editor, and turn on &amp;quot;subdivide patch&amp;quot; with horizontal and vertical at 1. If the texture looks distorted, you may need to increase the subdivisions, but that will result in more triangles being used.&lt;br /&gt;
&lt;br /&gt;
This technique could be used again for the top and bottom of the archway if you want to construct it entirely out of patch meshes, or you could make it out of brushes and texture one side with caulk, then move the patch meshes so they&#039;re coplanar with the side of the archway.&lt;br /&gt;
&lt;br /&gt;
{{tutorial-textures}}&lt;br /&gt;
http://modetwo.net/darkmod/wiki/index.php/Patches#Trim_Arches&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Texture_Tool&amp;diff=6025</id>
		<title>Texture Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Texture_Tool&amp;diff=6025"/>
		<updated>2008-02-23T19:32:22Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: I sux at Wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The [[Dark Radiant]] editor has a surface inspector for general manipulation of textures but there is also texture tool to help with alignment. Basically it displays the entire texture tiled with the selected surfaces outlined on it so you can see what texture lies beyond the sides of the surface and scroll the texture and see more clearly how to do so. With patches you can also stretch the texture to fit awkward slopes and curves while still retaining the physical profile of the patch.&lt;br /&gt;
&lt;br /&gt;
Toggle display of the Texture Tool via the {{menu|View|Texture Tool}} or by the default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Generally, the &#039;&#039;Texture Tool&#039;&#039; will only work if the selected objects share the same shader. As the tool displays the infinite texture plane (also called U/V space) this wouldn&#039;t make sense if more than one texture was selected.&lt;br /&gt;
&lt;br /&gt;
== Controls, Features, How to use the Texture Tool ==&lt;br /&gt;
The controls are the same but there are variations in what you see and what you can do whether processing a single brush surface, multiple (or complete brush,) or a patch.&lt;br /&gt;
&lt;br /&gt;
=== Single Brush Surface ===&lt;br /&gt;
* Select a single brush surface in Dark Radiant&#039;s camera view using {{Shift}}+{{Ctrl}}-{{LMB}}. You can select and deselect while the texture tool is displaying.&lt;br /&gt;
* Toggle the texture tool ({{menu|View|Texture Tool}} or default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.)&lt;br /&gt;
* You should see the texture displayed in the texture tool with a lighter area to show what part of the whole texture the selected surface covers. It might not be the same shape/proportions as your surface if the horizontal/vertical scales are different. You might need to zoom in or out to see where you are, see next.&lt;br /&gt;
* Zoom the texture in and out and using the mouse wheel. If zoomed out beyond one texture tile then each tile is outlined.&lt;br /&gt;
* Use {{RMB}} drag to scroll the whole texture around&lt;br /&gt;
* You can resize the texture tool window but it seems to me it ought to remain square to give a true image so keep that in mind.&lt;br /&gt;
* If the texture image disappears then click in the window and it should re-appear.&lt;br /&gt;
* The fourth button from the left toggles the display of a grid to help with alignment similar, but not the same, as the orthoview grid.&lt;br /&gt;
* The first and second buttons decrease and increase the grid size (whether it is showing or not)&lt;br /&gt;
* The third button should snap the texture surface texture to the grid but I found it only seemed to snap to the left grid and even then there was a little gap so you may need to adjust manually by decreasing the grid size and dragging the surface (see next point)&lt;br /&gt;
* You can drag the surface around the tile (effectively scrolling the texture on the brush surface by...&lt;br /&gt;
** First {{key|SHIFT}} + {{LMB}} click on the CENTRE vertex (tiny green square) of the surface.&lt;br /&gt;
** It should highlight the surface in orange to show it is selected. (repeat or {{key|Esc}} to deselect but remember Esc will also deselect the brush surface if not selected in the texture tool)&lt;br /&gt;
** You can now {{LMB}} drag the highlighted surface around one texture tool grid square at a time (so use finest for smooth scrolling.) If you have camera view visible then you should also see the texture scroll around.&lt;br /&gt;
* The corner vertices have no effect on brushes - they are only for use with [[#Patches|Patches]] see below.&lt;br /&gt;
* The fifth and sixth buttons flip the texture much like in Surface Inspector. &#039;Vertical&#039; means around a vertical axis, i.e., mirror left and right. &#039;Horizontal&#039; means mirror top/bottom. &#039;&#039;&#039;Note:&#039;&#039;&#039; some people may see this as if bump mapping is inverted, eg, sunken bricks but it is an optical illusion - probably because of the way it is lit in Dark Radiant&#039;s camera view compared to the other surfaces.&lt;br /&gt;
* Note that you can still use some other Dark Radiant controls while the texture tool is displayed, such as undo etc., but some controls might not be effective.&lt;br /&gt;
&lt;br /&gt;
=== Multiple Brush Surfaces ===&lt;br /&gt;
&lt;br /&gt;
I&#039;ll just describe for two selected surfaces but the principles should be the same for several including a complete brush:&lt;br /&gt;
&lt;br /&gt;
* Select two (or more) brush surfaces in Dark Radiant&#039;s camera view using {{Shift}}+{{Ctrl}}+{{LMB}}. You can select and deselect while the texture tool is displaying.&lt;br /&gt;
* Toggle the Texture Tool ({{menu|View|Texture Tool}} or default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.)&lt;br /&gt;
* You may probably only see a large black or grey area in the texture tool divided by pale lines. Here and there are a few small white square dots. What is happening is that the selections are spread out over different tiles and the texture tool has zoomed way out to show them all at once. The pale lines are the perimeters of each tile and the small white squares are your selections. {{key|Shift}}+{{LMB}} click one of the white square dots. If it won&#039;t move you probably didn&#039;t select it correctly. If more than one small white square move then either you are {{RMB} scrolling instead of {{LMB}} dragging or you have more than one selected - deselect except the one you want. It should then have a tiny red line round it to indicate it is selected (might be hard to see.) Now LMB drag it very close to [one of] the other one[s]. You can drag across the white lines to any tile. RMB scroll the white squares to the centre of the texture tool window and zoom in as far as you can still keeping them in the window. Repeat if necessary until you can make out your surface textures.&lt;br /&gt;
*. You can now treat each surface as described above for a [[#Single Brush Surface|Single Brush Surface]] either one at a time or select them all together.&lt;br /&gt;
&lt;br /&gt;
=== Patches ===&lt;br /&gt;
Most of the above for faces also applies to patches. One exception is that to move a whole patch you need to select all the vertices not just the centre. The easiest way to do that is to select one vertex then click the &#039;&#039;[[#Select Related Items]]&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
In addition you can do the following with patches...&lt;br /&gt;
&lt;br /&gt;
* Select a single patch in Dark Radiant&#039;s camera view using {{Shift}}+{{LMB}}. (multiple patches can be selected but only if they share the same shader.) You can select and deselect while the texture tool is displaying.&lt;br /&gt;
* Toggle the texture tool ({{menu|View|Texture Tool}} or default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.)&lt;br /&gt;
* You should see the texture displayed in the texture tool with a lighter area to show what part of the whole texture the selected surface covers.&lt;br /&gt;
* As well as selecting the centre vertex, with patches you can also select any corner vertex (or several but it may get complicated!) and drag the corner to stretch/reduce the texture area covered by the patch. This is best explained by an example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:chimneySlope.jpg|right|120px]]In this patch example there is a sloping chimney above a fireplace. This is made of brushes (with narrow patch bevels to soften the edges.) You can see from the image on the right that the texture on the slope pointed to by the yellow arrow aligns at the base of that slope with the front surface of the chimney on the left. But higher up the slope it does not align (indeed cannot, with a brush except perhaps with a custom texture.) If you scroll the texture along to align the top then it will not align further down.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:chimneyPatch.jpg|right|120px]]To fix this I retextured the sloping surface with caulk and placed a patch exactly over it with the required texture. I aligned this with the texture &#039;&#039;&#039;below&#039;&#039;&#039; that slope to start with in the normal way (using copy shader then paste shader natural.) With the patch selected I used the texture tool, selected the top left vertex and LMB dragged it sideways until it was at the point where the texture just to the left of the edge matched (actually the edge bevel in this case but it would be the same for just a brush edge.) I kept the top vertex line horizontal. DeSelect and the result is a perfect match as you see in the image on the right. What has happened is that the texture tool has squashed up the texture along the top of that patch and different degrees of squash all the way down that edge to the bottom while leaving the bottom as it was, normal. The right edge of the patch texture doesn&#039;t move. In the texture tool it looks the opposite of course - it looks stretched across the top but it is actually stretching the amount of texture &#039;&#039;covered&#039;&#039; by the patch - so more texture in the same width of patch.&lt;br /&gt;
&lt;br /&gt;
== Texture Tool Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Select Related Items ===&lt;br /&gt;
When editing patch vertices, it&#039;s might be required to select all vertices of the patch. Drag-selecting vertices in the Texture Tool could be troublesome if two patches partially overlap, like this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Select related 1.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
To select all vertices of one patch, highlight one of them with {{Shift}}-{{key|Alt}}-{{LMB}} and hit &amp;quot;Select Related&amp;quot;. This will expand the selection to all vertices of the same patch:&lt;br /&gt;
&lt;br /&gt;
[[Image:Select related 2.jpg|150px]] &amp;gt;&amp;gt; [[Image:Select related 3.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
=== Merge Selection ===&lt;br /&gt;
This command is designed to help when editing patch vertices. To make a patch texture transition seamless, it&#039;s necessary that vertices share the same U/V coordinate in texture space. The Merge command takes the currently selected items and places them in a common position in the middle. An example: the two patches below share the same texture and are both selected. They are obviously not seamlessly textured:&lt;br /&gt;
&lt;br /&gt;
[[Image:Merge selection 1.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
The texture seam is well visible (both in the camera as in the texture tool - there is a gap between the two patches). Now, select the two vertices that should be merged and hit &amp;quot;Mege Selection&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Merge selection 2.jpg|150px]] &amp;gt;&amp;gt; [[Image:Merge selection 3.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
Do the same to the next two vertex pairs to yield this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Merge selection 4.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
The patch texture transition is now seamless.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If while using the texture tool the texture image is lost and seems to scrunch up in one corner then click on the window might bring it back else try reselecting the surfaces should work.&lt;br /&gt;
* You click flip horizontal or vertical but nothing happens - check you have a surface selected in Texture Tool. If you have then you it might be that you have to deselect the surface in Dark Radiant for it to appear in camera.&lt;br /&gt;
* If you can see the main texture but your surface is not visible (eg, after flip) then it is probably off-window. In some situations Texture Tool draws the texture tiles in &#039;texture space&#039; (think of it as a two-dimensional plane of tiling textures, the texture repeats at every round coordinate) and your surface is on a different tile. Zoom out - often WAY out! until you can see all the texture tiles shrink to small grid and you should see your surface as a small white square. RMB scroll it into the centre of Texture Tool, zoom in a little, and repeat until you can see it clearly.&lt;br /&gt;
* You can&#039;t select a surface in the texture tool? Make sure you are using {{key|SHIFT}} + {{LMB}}. Make sure you actually have a surface selected in Dark Radiant&#039;s camera view.&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}}&lt;br /&gt;
{{darkradiant}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Texture_Tool&amp;diff=6024</id>
		<title>Texture Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Texture_Tool&amp;diff=6024"/>
		<updated>2008-02-23T19:31:24Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: add link to tutorial page make it easier to find&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The [[Dark Radiant]] editor has a surface inspector for general manipulation of textures but there is also texture tool to help with alignment. Basically it displays the entire texture tiled with the selected surfaces outlined on it so you can see what texture lies beyond the sides of the surface and scroll the texture and see more clearly how to do so. With patches you can also stretch the texture to fit awkward slopes and curves while still retaining the physical profile of the patch.&lt;br /&gt;
&lt;br /&gt;
Toggle display of the Texture Tool via the {{menu|View|Texture Tool}} or by the default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Generally, the &#039;&#039;Texture Tool&#039;&#039; will only work if the selected objects share the same shader. As the tool displays the infinite texture plane (also called U/V space) this wouldn&#039;t make sense if more than one texture was selected.&lt;br /&gt;
&lt;br /&gt;
== Controls, Features, How to use the Texture Tool ==&lt;br /&gt;
The controls are the same but there are variations in what you see and what you can do whether processing a single brush surface, multiple (or complete brush,) or a patch.&lt;br /&gt;
&lt;br /&gt;
=== Single Brush Surface ===&lt;br /&gt;
* Select a single brush surface in Dark Radiant&#039;s camera view using {{Shift}}+{{Ctrl}}-{{LMB}}. You can select and deselect while the texture tool is displaying.&lt;br /&gt;
* Toggle the texture tool ({{menu|View|Texture Tool}} or default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.)&lt;br /&gt;
* You should see the texture displayed in the texture tool with a lighter area to show what part of the whole texture the selected surface covers. It might not be the same shape/proportions as your surface if the horizontal/vertical scales are different. You might need to zoom in or out to see where you are, see next.&lt;br /&gt;
* Zoom the texture in and out and using the mouse wheel. If zoomed out beyond one texture tile then each tile is outlined.&lt;br /&gt;
* Use {{RMB}} drag to scroll the whole texture around&lt;br /&gt;
* You can resize the texture tool window but it seems to me it ought to remain square to give a true image so keep that in mind.&lt;br /&gt;
* If the texture image disappears then click in the window and it should re-appear.&lt;br /&gt;
* The fourth button from the left toggles the display of a grid to help with alignment similar, but not the same, as the orthoview grid.&lt;br /&gt;
* The first and second buttons decrease and increase the grid size (whether it is showing or not)&lt;br /&gt;
* The third button should snap the texture surface texture to the grid but I found it only seemed to snap to the left grid and even then there was a little gap so you may need to adjust manually by decreasing the grid size and dragging the surface (see next point)&lt;br /&gt;
* You can drag the surface around the tile (effectively scrolling the texture on the brush surface by...&lt;br /&gt;
** First {{key|SHIFT}} + {{LMB}} click on the CENTRE vertex (tiny green square) of the surface.&lt;br /&gt;
** It should highlight the surface in orange to show it is selected. (repeat or {{key|Esc}} to deselect but remember Esc will also deselect the brush surface if not selected in the texture tool)&lt;br /&gt;
** You can now {{LMB}} drag the highlighted surface around one texture tool grid square at a time (so use finest for smooth scrolling.) If you have camera view visible then you should also see the texture scroll around.&lt;br /&gt;
* The corner vertices have no effect on brushes - they are only for use with [[#Patches|Patches]] see below.&lt;br /&gt;
* The fifth and sixth buttons flip the texture much like in Surface Inspector. &#039;Vertical&#039; means around a vertical axis, i.e., mirror left and right. &#039;Horizontal&#039; means mirror top/bottom. &#039;&#039;&#039;Note:&#039;&#039;&#039; some people may see this as if bump mapping is inverted, eg, sunken bricks but it is an optical illusion - probably because of the way it is lit in Dark Radiant&#039;s camera view compared to the other surfaces.&lt;br /&gt;
* Note that you can still use some other Dark Radiant controls while the texture tool is displayed, such as undo etc., but some controls might not be effective.&lt;br /&gt;
&lt;br /&gt;
=== Multiple Brush Surfaces ===&lt;br /&gt;
&lt;br /&gt;
I&#039;ll just describe for two selected surfaces but the principles should be the same for several including a complete brush:&lt;br /&gt;
&lt;br /&gt;
* Select two (or more) brush surfaces in Dark Radiant&#039;s camera view using {{Shift}}+{{Ctrl}}+{{LMB}}. You can select and deselect while the texture tool is displaying.&lt;br /&gt;
* Toggle the Texture Tool ({{menu|View|Texture Tool}} or default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.)&lt;br /&gt;
* You may probably only see a large black or grey area in the texture tool divided by pale lines. Here and there are a few small white square dots. What is happening is that the selections are spread out over different tiles and the texture tool has zoomed way out to show them all at once. The pale lines are the perimeters of each tile and the small white squares are your selections. {{key|Shift}}+{{LMB}} click one of the white square dots. If it won&#039;t move you probably didn&#039;t select it correctly. If more than one small white square move then either you are {{RMB} scrolling instead of {{LMB}} dragging or you have more than one selected - deselect except the one you want. It should then have a tiny red line round it to indicate it is selected (might be hard to see.) Now LMB drag it very close to [one of] the other one[s]. You can drag across the white lines to any tile. RMB scroll the white squares to the centre of the texture tool window and zoom in as far as you can still keeping them in the window. Repeat if necessary until you can make out your surface textures.&lt;br /&gt;
*. You can now treat each surface as described above for a [[#Single Brush Surface|Single Brush Surface]] either one at a time or select them all together.&lt;br /&gt;
&lt;br /&gt;
=== Patches ===&lt;br /&gt;
Most of the above for faces also applies to patches. One exception is that to move a whole patch you need to select all the vertices not just the centre. The easiest way to do that is to select one vertex then click the &#039;&#039;[[#Select Related Items]]&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
In addition you can do the following with patches...&lt;br /&gt;
&lt;br /&gt;
* Select a single patch in Dark Radiant&#039;s camera view using {{Shift}}+{{LMB}}. (multiple patches can be selected but only if they share the same shader.) You can select and deselect while the texture tool is displaying.&lt;br /&gt;
* Toggle the texture tool ({{menu|View|Texture Tool}} or default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.)&lt;br /&gt;
* You should see the texture displayed in the texture tool with a lighter area to show what part of the whole texture the selected surface covers.&lt;br /&gt;
* As well as selecting the centre vertex, with patches you can also select any corner vertex (or several but it may get complicated!) and drag the corner to stretch/reduce the texture area covered by the patch. This is best explained by an example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:chimneySlope.jpg|right|120px]]In this patch example there is a sloping chimney above a fireplace. This is made of brushes (with narrow patch bevels to soften the edges.) You can see from the image on the right that the texture on the slope pointed to by the yellow arrow aligns at the base of that slope with the front surface of the chimney on the left. But higher up the slope it does not align (indeed cannot, with a brush except perhaps with a custom texture.) If you scroll the texture along to align the top then it will not align further down.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:chimneyPatch.jpg|right|120px]]To fix this I retextured the sloping surface with caulk and placed a patch exactly over it with the required texture. I aligned this with the texture &#039;&#039;&#039;below&#039;&#039;&#039; that slope to start with in the normal way (using copy shader then paste shader natural.) With the patch selected I used the texture tool, selected the top left vertex and LMB dragged it sideways until it was at the point where the texture just to the left of the edge matched (actually the edge bevel in this case but it would be the same for just a brush edge.) I kept the top vertex line horizontal. DeSelect and the result is a perfect match as you see in the image on the right. What has happened is that the texture tool has squashed up the texture along the top of that patch and different degrees of squash all the way down that edge to the bottom while leaving the bottom as it was, normal. The right edge of the patch texture doesn&#039;t move. In the texture tool it looks the opposite of course - it looks stretched across the top but it is actually stretching the amount of texture &#039;&#039;covered&#039;&#039; by the patch - so more texture in the same width of patch.&lt;br /&gt;
&lt;br /&gt;
== Texture Tool Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Select Related Items ===&lt;br /&gt;
When editing patch vertices, it&#039;s might be required to select all vertices of the patch. Drag-selecting vertices in the Texture Tool could be troublesome if two patches partially overlap, like this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Select related 1.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
To select all vertices of one patch, highlight one of them with {{Shift}}-{{key|Alt}}-{{LMB}} and hit &amp;quot;Select Related&amp;quot;. This will expand the selection to all vertices of the same patch:&lt;br /&gt;
&lt;br /&gt;
[[Image:Select related 2.jpg|150px]] &amp;gt;&amp;gt; [[Image:Select related 3.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
=== Merge Selection ===&lt;br /&gt;
This command is designed to help when editing patch vertices. To make a patch texture transition seamless, it&#039;s necessary that vertices share the same U/V coordinate in texture space. The Merge command takes the currently selected items and places them in a common position in the middle. An example: the two patches below share the same texture and are both selected. They are obviously not seamlessly textured:&lt;br /&gt;
&lt;br /&gt;
[[Image:Merge selection 1.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
The texture seam is well visible (both in the camera as in the texture tool - there is a gap between the two patches). Now, select the two vertices that should be merged and hit &amp;quot;Mege Selection&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Merge selection 2.jpg|150px]] &amp;gt;&amp;gt; [[Image:Merge selection 3.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
Do the same to the next two vertex pairs to yield this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Merge selection 4.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
The patch texture transition is now seamless.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If while using the texture tool the texture image is lost and seems to scrunch up in one corner then click on the window might bring it back else try reselecting the surfaces should work.&lt;br /&gt;
* You click flip horizontal or vertical but nothing happens - check you have a surface selected in Texture Tool. If you have then you it might be that you have to deselect the surface in Dark Radiant for it to appear in camera.&lt;br /&gt;
* If you can see the main texture but your surface is not visible (eg, after flip) then it is probably off-window. In some situations Texture Tool draws the texture tiles in &#039;texture space&#039; (think of it as a two-dimensional plane of tiling textures, the texture repeats at every round coordinate) and your surface is on a different tile. Zoom out - often WAY out! until you can see all the texture tiles shrink to small grid and you should see your surface as a small white square. RMB scroll it into the centre of Texture Tool, zoom in a little, and repeat until you can see it clearly.&lt;br /&gt;
* You can&#039;t select a surface in the texture tool? Make sure you are using {{key|SHIFT}} + {{LMB}}. Make sure you actually have a surface selected in Dark Radiant&#039;s camera view.&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;br /&gt;
{{darkradiant}}&lt;br /&gt;
{{tutorial}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Texture_Tool&amp;diff=6023</id>
		<title>Texture Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Texture_Tool&amp;diff=6023"/>
		<updated>2008-02-23T19:28:35Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The [[Dark Radiant]] editor has a surface inspector for general manipulation of textures but there is also texture tool to help with alignment. Basically it displays the entire texture tiled with the selected surfaces outlined on it so you can see what texture lies beyond the sides of the surface and scroll the texture and see more clearly how to do so. With patches you can also stretch the texture to fit awkward slopes and curves while still retaining the physical profile of the patch.&lt;br /&gt;
&lt;br /&gt;
Toggle display of the Texture Tool via the {{menu|View|Texture Tool}} or by the default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Generally, the &#039;&#039;Texture Tool&#039;&#039; will only work if the selected objects share the same shader. As the tool displays the infinite texture plane (also called U/V space) this wouldn&#039;t make sense if more than one texture was selected.&lt;br /&gt;
&lt;br /&gt;
== Controls, Features, How to use the Texture Tool ==&lt;br /&gt;
The controls are the same but there are variations in what you see and what you can do whether processing a single brush surface, multiple (or complete brush,) or a patch.&lt;br /&gt;
&lt;br /&gt;
=== Single Brush Surface ===&lt;br /&gt;
* Select a single brush surface in Dark Radiant&#039;s camera view using {{Shift}}+{{Ctrl}}-{{LMB}}. You can select and deselect while the texture tool is displaying.&lt;br /&gt;
* Toggle the texture tool ({{menu|View|Texture Tool}} or default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.)&lt;br /&gt;
* You should see the texture displayed in the texture tool with a lighter area to show what part of the whole texture the selected surface covers. It might not be the same shape/proportions as your surface if the horizontal/vertical scales are different. You might need to zoom in or out to see where you are, see next.&lt;br /&gt;
* Zoom the texture in and out and using the mouse wheel. If zoomed out beyond one texture tile then each tile is outlined.&lt;br /&gt;
* Use {{RMB}} drag to scroll the whole texture around&lt;br /&gt;
* You can resize the texture tool window but it seems to me it ought to remain square to give a true image so keep that in mind.&lt;br /&gt;
* If the texture image disappears then click in the window and it should re-appear.&lt;br /&gt;
* The fourth button from the left toggles the display of a grid to help with alignment similar, but not the same, as the orthoview grid.&lt;br /&gt;
* The first and second buttons decrease and increase the grid size (whether it is showing or not)&lt;br /&gt;
* The third button should snap the texture surface texture to the grid but I found it only seemed to snap to the left grid and even then there was a little gap so you may need to adjust manually by decreasing the grid size and dragging the surface (see next point)&lt;br /&gt;
* You can drag the surface around the tile (effectively scrolling the texture on the brush surface by...&lt;br /&gt;
** First {{key|SHIFT}} + {{LMB}} click on the CENTRE vertex (tiny green square) of the surface.&lt;br /&gt;
** It should highlight the surface in orange to show it is selected. (repeat or {{key|Esc}} to deselect but remember Esc will also deselect the brush surface if not selected in the texture tool)&lt;br /&gt;
** You can now {{LMB}} drag the highlighted surface around one texture tool grid square at a time (so use finest for smooth scrolling.) If you have camera view visible then you should also see the texture scroll around.&lt;br /&gt;
* The corner vertices have no effect on brushes - they are only for use with [[#Patches|Patches]] see below.&lt;br /&gt;
* The fifth and sixth buttons flip the texture much like in Surface Inspector. &#039;Vertical&#039; means around a vertical axis, i.e., mirror left and right. &#039;Horizontal&#039; means mirror top/bottom. &#039;&#039;&#039;Note:&#039;&#039;&#039; some people may see this as if bump mapping is inverted, eg, sunken bricks but it is an optical illusion - probably because of the way it is lit in Dark Radiant&#039;s camera view compared to the other surfaces.&lt;br /&gt;
* Note that you can still use some other Dark Radiant controls while the texture tool is displayed, such as undo etc., but some controls might not be effective.&lt;br /&gt;
&lt;br /&gt;
=== Multiple Brush Surfaces ===&lt;br /&gt;
&lt;br /&gt;
I&#039;ll just describe for two selected surfaces but the principles should be the same for several including a complete brush:&lt;br /&gt;
&lt;br /&gt;
* Select two (or more) brush surfaces in Dark Radiant&#039;s camera view using {{Shift}}+{{Ctrl}}+{{LMB}}. You can select and deselect while the texture tool is displaying.&lt;br /&gt;
* Toggle the Texture Tool ({{menu|View|Texture Tool}} or default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.)&lt;br /&gt;
* You may probably only see a large black or grey area in the texture tool divided by pale lines. Here and there are a few small white square dots. What is happening is that the selections are spread out over different tiles and the texture tool has zoomed way out to show them all at once. The pale lines are the perimeters of each tile and the small white squares are your selections. {{key|Shift}}+{{LMB}} click one of the white square dots. If it won&#039;t move you probably didn&#039;t select it correctly. If more than one small white square move then either you are {{RMB} scrolling instead of {{LMB}} dragging or you have more than one selected - deselect except the one you want. It should then have a tiny red line round it to indicate it is selected (might be hard to see.) Now LMB drag it very close to [one of] the other one[s]. You can drag across the white lines to any tile. RMB scroll the white squares to the centre of the texture tool window and zoom in as far as you can still keeping them in the window. Repeat if necessary until you can make out your surface textures.&lt;br /&gt;
*. You can now treat each surface as described above for a [[#Single Brush Surface|Single Brush Surface]] either one at a time or select them all together.&lt;br /&gt;
&lt;br /&gt;
=== Patches ===&lt;br /&gt;
Most of the above for faces also applies to patches. One exception is that to move a whole patch you need to select all the vertices not just the centre. The easiest way to do that is to select one vertex then click the &#039;&#039;[[#Select Related Items]]&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
In addition you can do the following with patches...&lt;br /&gt;
&lt;br /&gt;
* Select a single patch in Dark Radiant&#039;s camera view using {{Shift}}+{{LMB}}. (multiple patches can be selected but only if they share the same shader.) You can select and deselect while the texture tool is displaying.&lt;br /&gt;
* Toggle the texture tool ({{menu|View|Texture Tool}} or default keys {{Ctrl}}+{{key|Alt}}+{{key|T}}.)&lt;br /&gt;
* You should see the texture displayed in the texture tool with a lighter area to show what part of the whole texture the selected surface covers.&lt;br /&gt;
* As well as selecting the centre vertex, with patches you can also select any corner vertex (or several but it may get complicated!) and drag the corner to stretch/reduce the texture area covered by the patch. This is best explained by an example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:chimneySlope.jpg|right|120px]]In this patch example there is a sloping chimney above a fireplace. This is made of brushes (with narrow patch bevels to soften the edges.) You can see from the image on the right that the texture on the slope pointed to by the yellow arrow aligns at the base of that slope with the front surface of the chimney on the left. But higher up the slope it does not align (indeed cannot, with a brush except perhaps with a custom texture.) If you scroll the texture along to align the top then it will not align further down.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:chimneyPatch.jpg|right|120px]]To fix this I retextured the sloping surface with caulk and placed a patch exactly over it with the required texture. I aligned this with the texture &#039;&#039;&#039;below&#039;&#039;&#039; that slope to start with in the normal way (using copy shader then paste shader natural.) With the patch selected I used the texture tool, selected the top left vertex and LMB dragged it sideways until it was at the point where the texture just to the left of the edge matched (actually the edge bevel in this case but it would be the same for just a brush edge.) I kept the top vertex line horizontal. DeSelect and the result is a perfect match as you see in the image on the right. What has happened is that the texture tool has squashed up the texture along the top of that patch and different degrees of squash all the way down that edge to the bottom while leaving the bottom as it was, normal. The right edge of the patch texture doesn&#039;t move. In the texture tool it looks the opposite of course - it looks stretched across the top but it is actually stretching the amount of texture &#039;&#039;covered&#039;&#039; by the patch - so more texture in the same width of patch.&lt;br /&gt;
&lt;br /&gt;
== Texture Tool Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Select Related Items ===&lt;br /&gt;
When editing patch vertices, it&#039;s might be required to select all vertices of the patch. Drag-selecting vertices in the Texture Tool could be troublesome if two patches partially overlap, like this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Select related 1.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
To select all vertices of one patch, highlight one of them with {{Shift}}-{{key|Alt}}-{{LMB}} and hit &amp;quot;Select Related&amp;quot;. This will expand the selection to all vertices of the same patch:&lt;br /&gt;
&lt;br /&gt;
[[Image:Select related 2.jpg|150px]] &amp;gt;&amp;gt; [[Image:Select related 3.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
=== Merge Selection ===&lt;br /&gt;
This command is designed to help when editing patch vertices. To make a patch texture transition seamless, it&#039;s necessary that vertices share the same U/V coordinate in texture space. The Merge command takes the currently selected items and places them in a common position in the middle. An example: the two patches below share the same texture and are both selected. They are obviously not seamlessly textured:&lt;br /&gt;
&lt;br /&gt;
[[Image:Merge selection 1.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
The texture seam is well visible (both in the camera as in the texture tool - there is a gap between the two patches). Now, select the two vertices that should be merged and hit &amp;quot;Mege Selection&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Merge selection 2.jpg|150px]] &amp;gt;&amp;gt; [[Image:Merge selection 3.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
Do the same to the next two vertex pairs to yield this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Merge selection 4.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
The patch texture transition is now seamless.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If while using the texture tool the texture image is lost and seems to scrunch up in one corner then click on the window might bring it back else try reselecting the surfaces should work.&lt;br /&gt;
* You click flip horizontal or vertical but nothing happens - check you have a surface selected in Texture Tool. If you have then you it might be that you have to deselect the surface in Dark Radiant for it to appear in camera.&lt;br /&gt;
* If you can see the main texture but your surface is not visible (eg, after flip) then it is probably off-window. In some situations Texture Tool draws the texture tiles in &#039;texture space&#039; (think of it as a two-dimensional plane of tiling textures, the texture repeats at every round coordinate) and your surface is on a different tile. Zoom out - often WAY out! until you can see all the texture tiles shrink to small grid and you should see your surface as a small white square. RMB scroll it into the centre of Texture Tool, zoom in a little, and repeat until you can see it clearly.&lt;br /&gt;
* You can&#039;t select a surface in the texture tool? Make sure you are using {{key|SHIFT}} + {{LMB}}. Make sure you actually have a surface selected in Dark Radiant&#039;s camera view.&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;br /&gt;
{{darkradiant}}&lt;br /&gt;
{{tutorials}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Creating_Desktop_Shortcuts_for_TDM&amp;diff=5884</id>
		<title>Creating Desktop Shortcuts for TDM</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Creating_Desktop_Shortcuts_for_TDM&amp;diff=5884"/>
		<updated>2008-02-03T15:34:14Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To create a desktop shortcut for The Dark Mod, just create a copy the existing Doom 3 shortcut (or create a new one to the file Doom3.exe). In this example, the Doom 3 installation is in C:\Games\Doom3. Change the command line to this&lt;br /&gt;
 C:\Games\Doom3\DOOM3.exe +set r_fullscreen 1 +set fs_game darkmod&lt;br /&gt;
This should advise the engine to open the Dark Mod by default in fullscreen mode.&lt;br /&gt;
&lt;br /&gt;
 C:\Games\Doom3\Doom3.exe +set r_fullscreen 1 +set com_allowConsole 1 +set fs_game darkmod&lt;br /&gt;
This will allow the console to drop down with the use of the ~ (tilde) key. This is very useful for authors as they can use console commands while testing their mission. Be aware that accidentaly hitting the ~ key during gameplay will drop down the menu.&lt;br /&gt;
&lt;br /&gt;
 C:\Games\Doom3\Doom3.exe +set r_fullscreen 0 +set com_allowConsole 1 +set fs_game darkmod&lt;br /&gt;
Is useful for authors to edit files and jump back and forth between game and other programs for quick edits. This however can have a severe impact on framerate.&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Patches&amp;diff=5700</id>
		<title>Patches</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Patches&amp;diff=5700"/>
		<updated>2008-01-18T19:17:33Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Trim Arches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
A patch:&lt;br /&gt;
&lt;br /&gt;
* is a two dimensional sheet with only one visible surface. It can be bent, curved and twisted in three dimensions but always remains a sheet. It produces better curves and textures better on them than multiple brushes.&lt;br /&gt;
* can also be a cylinder, great for pipes, bars, logs, ect... or it can be a cone good for tree branches.&lt;br /&gt;
* is a primitive - a child of the worldspawn entity. This means it is a direct offshoot of the game world and inherits any properties applied to the worldspawn. If you select a brush and look in the Entity Inspector you will see the worldspawn properties. &lt;br /&gt;
* may be parented to another entity when it will inherit its properties.&lt;br /&gt;
* will not seal against the void.&lt;br /&gt;
* is suitable for decals - textures such as stains to be placed over other surfaces.&lt;br /&gt;
&lt;br /&gt;
==Round and Softened Corners: Bevels==&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel01.jpg|right|140px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No matter how beautiful the texturing, a mathematically-sharp convex corner is likely to spoil it.&lt;br /&gt;
&lt;br /&gt;
These can be rounded off nicely using a patch bevel. The same method can of course be used to produce larger rounded corners.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right&amp;quot;&amp;gt;[[Image:bevel02.jpg|160px]]   [[Image:bevel03.jpg|160px|top]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Select the brush that forms the corner.&lt;br /&gt;
* Zoom in and set the grid to about 4 or 8. How rounded you want the corner will depend on the texture and other things. I crisp new brick wall might be better with a small rounded corner whereas old round stone blocks will take a larger curve. You can of course, use this method for very large curves where they are an architectural feature not merely a softening of a sharp edge.&lt;br /&gt;
* Press {{key-ctrl}}+{{key|name=X}} for &#039;&#039;Clipper&#039;&#039; or select [[Image:DRclipper.jpg]] on the left toolbar&lt;br /&gt;
{{clear}}&lt;br /&gt;
* Click the two diagonals in order 0 then 1 as shown in the diagram so that the corner is to the right if 0 was 12 on a clock and 1 is 6.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel04.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* {{key-shift}}+{{key-enter}} to split off the corner without deleting it&lt;br /&gt;
* {{key-esc}} to deselect then exclusively select the corner triangle. This might be easier in camera view.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel05.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* Bevels are always created with their curve in the horizontal plane which is what we want here for a vertical corner (if you need a different orientation you have to rotate it after creation.)&lt;br /&gt;
* Select {{menu|l1=Patch|l2=Bevel}}&lt;br /&gt;
* If the bevel is facing the wrong way (in top view) then rotate it, grid snap if necessary to as shown in the image below. The bevel might not have the same number of faces as in the diagram. Don&#039;t worry. We set that separately anyway.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel06.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* Delete the original brush corner triangle that was the template for this bevel.&lt;br /&gt;
* Press {{key-shift}}+{{key|name=S}} for patch inspector&lt;br /&gt;
* Click the check box &#039;Fixed Subdivision&#039; else Doom might change the quality when optimising.&lt;br /&gt;
* In the &#039;Horizontal&#039; input just below that in &#039;&#039;&#039;Patch Inspector&#039;&#039;&#039; set the value to 3 or 4. The higher the value the lower the game performance and beyond a certain value you cannot tell any difference so don&#039;t be tempted to go high. It&#039;s a matter of experience, judgement, how big the curve is, and the type of texture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:bevel07.jpg]]   [[Image:bevel08.jpg]]  [[Image:bevel09.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Close the &#039;&#039;&#039;Patch Inspector&#039;&#039;&#039; and use {{key-esc}} to deselect the bevel&lt;br /&gt;
* Use {{key-ctrl}}+{{key-shift}}+{{LMB}} to select only the surface of the brush wall to one side of the bevel. Use a side where you do not want to have to re-align the texture on that wall, eg, there is a window further along and it might be awkward. This is because later, the wall texture on the OTHER side of the bevel may have to be realigned to the bevel.&lt;br /&gt;
* Use {{menu|l1=Edit|l2=Copy Shader}} or the key/mouse shortcut&lt;br /&gt;
* Press {{key-esc}} to deselect and select the bevel again&lt;br /&gt;
* Use {{menu|l1=Edit|l2=Paste Shader (Natural)}} or the shortcut. Do NOT use the normal paste - nor normal paste followed by &#039;&#039;Natural&#039;&#039; in the &#039;&#039;&#039;Surface Inspector&#039;&#039;&#039;.&lt;br /&gt;
* The texture on the bevel should be aligned to that wall.&lt;br /&gt;
* Check texture alignment on the wall on the other side of the bevel and shift it in &#039;&#039;&#039;Surface Inspector&#039;&#039;&#039; as needed.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel10.jpg|right|400px]]&lt;br /&gt;
Hopefully that should now look far better:&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Cylinders and Cones ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To create a cylindrical patch:&lt;br /&gt;
* drag out a brush an ortho view. The cylinder will be created in the plane of the ortho view you created the brush in. If you used the top view you will end up with a cylinder standing upright.&lt;br /&gt;
* with the brush selected choose the &#039;&#039;patch&#039;&#039; menu&lt;br /&gt;
* &#039;&#039;&#039;cylinder&#039;&#039;&#039; will give you a nice and round cylinder with one set of rows (lenghtwise). It will be the size of the brush you had selected.&lt;br /&gt;
&lt;br /&gt;
&#039;More cylinders&#039; gives you more options: &#039;&#039;&#039;dense cylinder&#039;&#039;&#039;; a cylinder with 2 rows, &#039;&#039;&#039;very dense cylinder&#039;&#039;&#039;; a cylinder with 3 rows, &#039;&#039;&#039;square cylinder&#039;&#039;&#039;; a four sided cylinder. All patches are rendered smooth, so you can use a square cylinder and it will still have an almost round look to it in game as opposed to a square brush that will render flat and very square.&lt;br /&gt;
The more dense of a cylinder you use the more you can bend it into a tight angle.&lt;br /&gt;
&lt;br /&gt;
[[Image:patch_tut_08.jpg]]&lt;br /&gt;
*deleted the brush you used to create the cylinder, you will notice that it has no ends and looks pretty bad. To fix this we&#039;ll need to create an &#039;&#039;end cap&#039;&#039;, see below.&lt;br /&gt;
[[Image:patch_tut_09.jpg]]&lt;br /&gt;
&lt;br /&gt;
Hit the &#039;&#039;v&#039;&#039; and you&#039;ll see the verts of the cylinder, these can be dragged around to create shapes, bends. Hit v again to toggle the vert edit mode off, or hit escape twice. In this picture I used a very dense cylinder and dragged the verts to make a bend, it&#039;s very rough but there are already alot of Doom3 tuts out there that go into detail about how to bend a cylinder. &lt;br /&gt;
&lt;br /&gt;
[[Image:patch_tut_11.jpg]]&lt;br /&gt;
&lt;br /&gt;
Creating a cone is the same process but you will choose&#039;&#039; cone&#039;&#039; from the patch menu.&lt;br /&gt;
&lt;br /&gt;
== End Caps ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
End caps are useful for sealing off the end of a cylinder patch. The patch is created like a piece of paper wrapped around in a circle leaving two open ends.&lt;br /&gt;
&lt;br /&gt;
To create an end cap:&lt;br /&gt;
* select the cylinder patch you just made&lt;br /&gt;
* choose patch menu &#039;&#039;&#039;cap selection&#039;&#039;&#039; {{Shift}}+{{C}} and choose &#039;&#039;cylinder&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_05.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you did everything correctly you will have a round cap at each end of your cylinder. You can only see these caps if you are looking at them as they only have tex on one side. If your cylinder was setting on the floor you will have to fly down below it and look up.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_10.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can bend a patch, then cap it and the caps will be in the correct places. You can also select a cap and a cylinder at the same time, hit {{V}} and drag verts of both patches together to keep their shapes aligned.&lt;br /&gt;
&lt;br /&gt;
You also notice that in the caps menu there are other shapes of end caps, these can be good to fill in archways.&lt;br /&gt;
&lt;br /&gt;
== Archways ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Patches are great for smooth arches, much smoother than can be created with brushes. You  can also create the opposite of an archway using the same steps, this could be useful for creating a covered wagons top.&lt;br /&gt;
&lt;br /&gt;
To create an archway:&lt;br /&gt;
* create a doorway or hallway with terrain brushes, you can use caulk on the ceiling as those polys won&#039;t be seen and this way they won&#039;t be rendered either.&lt;br /&gt;
[[Image:Patch_tut_01.jpg]]&lt;br /&gt;
* create a brush in the doorway you want an arch in, make it the size you want the arch, so approximately the size of the curves at the top of the doorway.&lt;br /&gt;
* out of the patch menu select &#039;&#039;&#039;end cap&#039;&#039;&#039;, end caps are not only round cylinder caps, in this case we will get the inside of the archway. Most likely it will have to be rotated/resized to fit the area you want it in.&lt;br /&gt;
Again, patches only have tex on one side so if you don&#039;t see it in 3d it doesn&#039;t mean it isn&#039;t there. Look in the ortho views when you create it. Delete the brush you used to create the end cap patch.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_02.jpg]] [[Image:Patch_tut_03.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sometimes the texture ends up on the wrong side, so it would be facing the ceiling and the player couldn&#039;t see it. To fix it:&lt;br /&gt;
* select the patch&lt;br /&gt;
* patch menu: Matrix: &#039;&#039;&#039;Invert&#039;&#039;&#039; {{Ctrl}}+{{I}}&lt;br /&gt;
[[Image:Patch_tut_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now you&#039;ve got a doorway or a hallway and an arched ceiling to it, but the ends of it are open and it looks like the ceiling is just paper. We need to cap the end so it looks solid.&lt;br /&gt;
&lt;br /&gt;
* select the arch patch you just created.&lt;br /&gt;
* patch menu: &#039;&#039;&#039;cap selection&#039;&#039;&#039; {{Shift}}+{{C}}&lt;br /&gt;
* choose &#039;&#039;inverted end cap&#039;&#039; &lt;br /&gt;
[[Image:Patch_tut_05.jpg]]&lt;br /&gt;
&lt;br /&gt;
As you can see from the icon (the blue is what you get) you will get caps on each side of the arch that fill in the corners. Like the cylinder cap this will give you a cap on each end, so if you only needed one you&#039;ll have to delete the spare. Maybe you made an alcove and the back side of the arch is against a wall.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_06.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can see that the inc=verted end cap has a pretty ugly looking texture alignment, this needs fixed.&lt;br /&gt;
To align the textures with the surrounding bricks:&lt;br /&gt;
* {{Shift}}+{{Ctrl}}+{{LMB}} click on the wall next to the arch.&lt;br /&gt;
* Edit menu: copy shader&lt;br /&gt;
* Select the end cap(s)&lt;br /&gt;
* Edit menu: paste shader&lt;br /&gt;
(I think the shortcut for this is {{Shift}}+{{Ctrl}}+{{MMB}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_07.jpg]]&lt;br /&gt;
&lt;br /&gt;
I failed to align the texture properly on the left wall due to a pizza break during the tut, forgive my slacker ways, however I did get the end cap properly textured and aligned to the wall on the right. (I should&#039;ve aligned the textures top, left and right before doing the end cap).&lt;br /&gt;
Do the same with one of the inside walls and the inside of the arch. Aligning this inside curve with the outside curve is probably impossible, in that case you&#039;ll probably want to create another stone trim arch for the end. This is up to you, do you want to build a decent level fast or do you want to create the mother of all beautiful levels? You aren&#039;t getting paid, how much free time do you have?&lt;br /&gt;
&lt;br /&gt;
==Trim Arches==&lt;br /&gt;
&lt;br /&gt;
OK, you&#039;ve decided that you do have more time and want your arches to look better than a simple cap like above. Instead you want a realistic arch with stones across the top. This effect can easily be achieved by using patches and a little bit of texture alignment.&lt;br /&gt;
&lt;br /&gt;
* Select the &#039;&#039;end cap patch&#039;&#039; that creates the inside of the archway, the one the player will look up at inside the hall or doorway.&lt;br /&gt;
[[Image:Archway_01.jpg]]&lt;br /&gt;
* The tetxure used there is obviously a terrible choice for a stable archway so pick something that is made up of large square stones and apply it to the patch. Then drag the patch out so it is wider than the doorway. This will make the bricks wider than the doorway giving more depth and also avoiding any z-fighting issues with the wall. Now use the texture alignment tools to fit the bricks onto that patch nicely. I prefer to work with very small increments in the horizontal and vertical scaling and alignment sliders. &lt;br /&gt;
* With the patch selected go to the patch menu and select &#039;&#039;&#039;Thicken Patch&#039;&#039;&#039;. Use the setting shown. &#039;&#039;&#039;16&#039;&#039;&#039; will make the new patch 16 units thick, approximately a foot.&lt;br /&gt;
[[Image:Thicken_Patches.jpg]] [[Image:Patch_Thicken.jpg]]&lt;br /&gt;
* Now you will have a complete stone arch. It&#039;s easiest to drag all the patches away from the wall and into an open area so you can easily see and align the textures. Also you will notice there are 2 patches at the bottom of the arch, these will most likely end up inside your wall so they can be deleted.&lt;br /&gt;
[[Image:Archway_02.jpg]]&lt;br /&gt;
* There is a problem with this arch, this happened because I made a very flat topped arch. Patches will &#039;&#039;optimize&#039;&#039; themselves and because the arch was fairly &#039;&#039;flat&#039;&#039; it doesn&#039;t have enough shape to match the outside of the arch. The cure for this is to make the arch rounder in shape. So with all the arch patches selected (don&#039;t forget both sides, top and bottom) resize it height-wise until you see the patch sub-divide so it has the same amount of sections as the outside.&lt;br /&gt;
[[Image:Archway_03.jpg]]&lt;br /&gt;
* This creates another issue, the patches no longer align properly. Hit {{V}} to enter vertex edit mode and adjust the verts so the patches match up or come very close to matching. If you can&#039;t get an exact match it is alright, just hit {{Ctrl}} + {{G}} to grid snap the verts. This should snap them altogether, if not try a different grid size.&lt;br /&gt;
&lt;br /&gt;
[[Image:Archway_04.jpg]]&lt;br /&gt;
* Your patches now align cleanly and make a nice archway, now spend a little time aligning the textures on each side of the arch. You will have &#039;&#039;holes&#039;&#039; at the bottom of the arch so add a few blocks at the bottom of it to support it and give it a little extra realism.&lt;br /&gt;
* I like to select all the patches and the two blocks under the arch, right-click in an ortho view and convert them to a func_static. This will keep the arch from divinding the surrounding terrain into more triangles, make it easier to move by itself and clone for other doorways. You can also add &#039;&#039;NoShadows 1&#039;&#039; to it if you are trying to drop framerate in that area, this may or may not be good depending on how lights in the area hit the archway.&lt;br /&gt;
&lt;br /&gt;
==Other References==&lt;br /&gt;
&lt;br /&gt;
General patches tutorial:  http://www.modwiki.net/wiki/Patch&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Patches&amp;diff=5699</id>
		<title>Patches</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Patches&amp;diff=5699"/>
		<updated>2008-01-18T19:11:47Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Archways */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
A patch:&lt;br /&gt;
&lt;br /&gt;
* is a two dimensional sheet with only one visible surface. It can be bent, curved and twisted in three dimensions but always remains a sheet. It produces better curves and textures better on them than multiple brushes.&lt;br /&gt;
* can also be a cylinder, great for pipes, bars, logs, ect... or it can be a cone good for tree branches.&lt;br /&gt;
* is a primitive - a child of the worldspawn entity. This means it is a direct offshoot of the game world and inherits any properties applied to the worldspawn. If you select a brush and look in the Entity Inspector you will see the worldspawn properties. &lt;br /&gt;
* may be parented to another entity when it will inherit its properties.&lt;br /&gt;
* will not seal against the void.&lt;br /&gt;
* is suitable for decals - textures such as stains to be placed over other surfaces.&lt;br /&gt;
&lt;br /&gt;
==Round and Softened Corners: Bevels==&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel01.jpg|right|140px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No matter how beautiful the texturing, a mathematically-sharp convex corner is likely to spoil it.&lt;br /&gt;
&lt;br /&gt;
These can be rounded off nicely using a patch bevel. The same method can of course be used to produce larger rounded corners.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right&amp;quot;&amp;gt;[[Image:bevel02.jpg|160px]]   [[Image:bevel03.jpg|160px|top]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Select the brush that forms the corner.&lt;br /&gt;
* Zoom in and set the grid to about 4 or 8. How rounded you want the corner will depend on the texture and other things. I crisp new brick wall might be better with a small rounded corner whereas old round stone blocks will take a larger curve. You can of course, use this method for very large curves where they are an architectural feature not merely a softening of a sharp edge.&lt;br /&gt;
* Press {{key-ctrl}}+{{key|name=X}} for &#039;&#039;Clipper&#039;&#039; or select [[Image:DRclipper.jpg]] on the left toolbar&lt;br /&gt;
{{clear}}&lt;br /&gt;
* Click the two diagonals in order 0 then 1 as shown in the diagram so that the corner is to the right if 0 was 12 on a clock and 1 is 6.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel04.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* {{key-shift}}+{{key-enter}} to split off the corner without deleting it&lt;br /&gt;
* {{key-esc}} to deselect then exclusively select the corner triangle. This might be easier in camera view.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel05.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* Bevels are always created with their curve in the horizontal plane which is what we want here for a vertical corner (if you need a different orientation you have to rotate it after creation.)&lt;br /&gt;
* Select {{menu|l1=Patch|l2=Bevel}}&lt;br /&gt;
* If the bevel is facing the wrong way (in top view) then rotate it, grid snap if necessary to as shown in the image below. The bevel might not have the same number of faces as in the diagram. Don&#039;t worry. We set that separately anyway.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel06.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* Delete the original brush corner triangle that was the template for this bevel.&lt;br /&gt;
* Press {{key-shift}}+{{key|name=S}} for patch inspector&lt;br /&gt;
* Click the check box &#039;Fixed Subdivision&#039; else Doom might change the quality when optimising.&lt;br /&gt;
* In the &#039;Horizontal&#039; input just below that in &#039;&#039;&#039;Patch Inspector&#039;&#039;&#039; set the value to 3 or 4. The higher the value the lower the game performance and beyond a certain value you cannot tell any difference so don&#039;t be tempted to go high. It&#039;s a matter of experience, judgement, how big the curve is, and the type of texture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:bevel07.jpg]]   [[Image:bevel08.jpg]]  [[Image:bevel09.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Close the &#039;&#039;&#039;Patch Inspector&#039;&#039;&#039; and use {{key-esc}} to deselect the bevel&lt;br /&gt;
* Use {{key-ctrl}}+{{key-shift}}+{{LMB}} to select only the surface of the brush wall to one side of the bevel. Use a side where you do not want to have to re-align the texture on that wall, eg, there is a window further along and it might be awkward. This is because later, the wall texture on the OTHER side of the bevel may have to be realigned to the bevel.&lt;br /&gt;
* Use {{menu|l1=Edit|l2=Copy Shader}} or the key/mouse shortcut&lt;br /&gt;
* Press {{key-esc}} to deselect and select the bevel again&lt;br /&gt;
* Use {{menu|l1=Edit|l2=Paste Shader (Natural)}} or the shortcut. Do NOT use the normal paste - nor normal paste followed by &#039;&#039;Natural&#039;&#039; in the &#039;&#039;&#039;Surface Inspector&#039;&#039;&#039;.&lt;br /&gt;
* The texture on the bevel should be aligned to that wall.&lt;br /&gt;
* Check texture alignment on the wall on the other side of the bevel and shift it in &#039;&#039;&#039;Surface Inspector&#039;&#039;&#039; as needed.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel10.jpg|right|400px]]&lt;br /&gt;
Hopefully that should now look far better:&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Cylinders and Cones ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To create a cylindrical patch:&lt;br /&gt;
* drag out a brush an ortho view. The cylinder will be created in the plane of the ortho view you created the brush in. If you used the top view you will end up with a cylinder standing upright.&lt;br /&gt;
* with the brush selected choose the &#039;&#039;patch&#039;&#039; menu&lt;br /&gt;
* &#039;&#039;&#039;cylinder&#039;&#039;&#039; will give you a nice and round cylinder with one set of rows (lenghtwise). It will be the size of the brush you had selected.&lt;br /&gt;
&lt;br /&gt;
&#039;More cylinders&#039; gives you more options: &#039;&#039;&#039;dense cylinder&#039;&#039;&#039;; a cylinder with 2 rows, &#039;&#039;&#039;very dense cylinder&#039;&#039;&#039;; a cylinder with 3 rows, &#039;&#039;&#039;square cylinder&#039;&#039;&#039;; a four sided cylinder. All patches are rendered smooth, so you can use a square cylinder and it will still have an almost round look to it in game as opposed to a square brush that will render flat and very square.&lt;br /&gt;
The more dense of a cylinder you use the more you can bend it into a tight angle.&lt;br /&gt;
&lt;br /&gt;
[[Image:patch_tut_08.jpg]]&lt;br /&gt;
*deleted the brush you used to create the cylinder, you will notice that it has no ends and looks pretty bad. To fix this we&#039;ll need to create an &#039;&#039;end cap&#039;&#039;, see below.&lt;br /&gt;
[[Image:patch_tut_09.jpg]]&lt;br /&gt;
&lt;br /&gt;
Hit the &#039;&#039;v&#039;&#039; and you&#039;ll see the verts of the cylinder, these can be dragged around to create shapes, bends. Hit v again to toggle the vert edit mode off, or hit escape twice. In this picture I used a very dense cylinder and dragged the verts to make a bend, it&#039;s very rough but there are already alot of Doom3 tuts out there that go into detail about how to bend a cylinder. &lt;br /&gt;
&lt;br /&gt;
[[Image:patch_tut_11.jpg]]&lt;br /&gt;
&lt;br /&gt;
Creating a cone is the same process but you will choose&#039;&#039; cone&#039;&#039; from the patch menu.&lt;br /&gt;
&lt;br /&gt;
== End Caps ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
End caps are useful for sealing off the end of a cylinder patch. The patch is created like a piece of paper wrapped around in a circle leaving two open ends.&lt;br /&gt;
&lt;br /&gt;
To create an end cap:&lt;br /&gt;
* select the cylinder patch you just made&lt;br /&gt;
* choose patch menu &#039;&#039;&#039;cap selection&#039;&#039;&#039; {{Shift}}+{{C}} and choose &#039;&#039;cylinder&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_05.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you did everything correctly you will have a round cap at each end of your cylinder. You can only see these caps if you are looking at them as they only have tex on one side. If your cylinder was setting on the floor you will have to fly down below it and look up.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_10.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can bend a patch, then cap it and the caps will be in the correct places. You can also select a cap and a cylinder at the same time, hit {{V}} and drag verts of both patches together to keep their shapes aligned.&lt;br /&gt;
&lt;br /&gt;
You also notice that in the caps menu there are other shapes of end caps, these can be good to fill in archways.&lt;br /&gt;
&lt;br /&gt;
== Archways ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Patches are great for smooth arches, much smoother than can be created with brushes. You  can also create the opposite of an archway using the same steps, this could be useful for creating a covered wagons top.&lt;br /&gt;
&lt;br /&gt;
To create an archway:&lt;br /&gt;
* create a doorway or hallway with terrain brushes, you can use caulk on the ceiling as those polys won&#039;t be seen and this way they won&#039;t be rendered either.&lt;br /&gt;
[[Image:Patch_tut_01.jpg]]&lt;br /&gt;
* create a brush in the doorway you want an arch in, make it the size you want the arch, so approximately the size of the curves at the top of the doorway.&lt;br /&gt;
* out of the patch menu select &#039;&#039;&#039;end cap&#039;&#039;&#039;, end caps are not only round cylinder caps, in this case we will get the inside of the archway. Most likely it will have to be rotated/resized to fit the area you want it in.&lt;br /&gt;
Again, patches only have tex on one side so if you don&#039;t see it in 3d it doesn&#039;t mean it isn&#039;t there. Look in the ortho views when you create it. Delete the brush you used to create the end cap patch.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_02.jpg]] [[Image:Patch_tut_03.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sometimes the texture ends up on the wrong side, so it would be facing the ceiling and the player couldn&#039;t see it. To fix it:&lt;br /&gt;
* select the patch&lt;br /&gt;
* patch menu: Matrix: &#039;&#039;&#039;Invert&#039;&#039;&#039; {{Ctrl}}+{{I}}&lt;br /&gt;
[[Image:Patch_tut_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now you&#039;ve got a doorway or a hallway and an arched ceiling to it, but the ends of it are open and it looks like the ceiling is just paper. We need to cap the end so it looks solid.&lt;br /&gt;
&lt;br /&gt;
* select the arch patch you just created.&lt;br /&gt;
* patch menu: &#039;&#039;&#039;cap selection&#039;&#039;&#039; {{Shift}}+{{C}}&lt;br /&gt;
* choose &#039;&#039;inverted end cap&#039;&#039; &lt;br /&gt;
[[Image:Patch_tut_05.jpg]]&lt;br /&gt;
&lt;br /&gt;
As you can see from the icon (the blue is what you get) you will get caps on each side of the arch that fill in the corners. Like the cylinder cap this will give you a cap on each end, so if you only needed one you&#039;ll have to delete the spare. Maybe you made an alcove and the back side of the arch is against a wall.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_06.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can see that the inc=verted end cap has a pretty ugly looking texture alignment, this needs fixed.&lt;br /&gt;
To align the textures with the surrounding bricks:&lt;br /&gt;
* {{Shift}}+{{Ctrl}}+{{LMB}} click on the wall next to the arch.&lt;br /&gt;
* Edit menu: copy shader&lt;br /&gt;
* Select the end cap(s)&lt;br /&gt;
* Edit menu: paste shader&lt;br /&gt;
(I think the shortcut for this is {{Shift}}+{{Ctrl}}+{{MMB}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_07.jpg]]&lt;br /&gt;
&lt;br /&gt;
I failed to align the texture properly on the left wall due to a pizza break during the tut, forgive my slacker ways, however I did get the end cap properly textured and aligned to the wall on the right. (I should&#039;ve aligned the textures top, left and right before doing the end cap).&lt;br /&gt;
Do the same with one of the inside walls and the inside of the arch. Aligning this inside curve with the outside curve is probably impossible, in that case you&#039;ll probably want to create another stone trim arch for the end. This is up to you, do you want to build a decent level fast or do you want to create the mother of all beautiful levels? You aren&#039;t getting paid, how much free time do you have?&lt;br /&gt;
&lt;br /&gt;
==Trim Arches==&lt;br /&gt;
&lt;br /&gt;
OK, you&#039;ve decided that you do have more time and want your arches to look better than a simple cap like above. Instead you want a realistic arch with stones across the top. This effect can easily be achieved by using patches and a little bit of texture alignment.&lt;br /&gt;
&lt;br /&gt;
* Select the &#039;&#039;end cap patch&#039;&#039; that creates the inside of the archway, the one the player will look up at inside the hall or doorway.&lt;br /&gt;
[[Image:Archway_01.jpg]]&lt;br /&gt;
* The tetxure used there is obviously a terrible choice for a stable archway so pick something that is made up of large square stones and apply it to the patch. Then drag the patch out so it is wider than the doorway. This will make the bricks wider than the doorway giving more depth and also avoiding any z-fighting issues with the wall. Now use the texture alignment tools to fit the bricks onto that patch nicely. I prefer to work with very small increments in the horizontal and vertical scaling and alignment sliders. &lt;br /&gt;
* With the patch selected go to the patch menu and select &#039;&#039;&#039;Thicken Patch&#039;&#039;&#039;. Use the setting shown. &#039;&#039;&#039;16&#039;&#039;&#039; will make the new patch 16 units thick, approximately a foot.&lt;br /&gt;
[[Image:Thicken_Patches.jpg]] [[Image:Patch_Thicken.jpg]]&lt;br /&gt;
* Now you will have a complete stone arch. It&#039;s easiest to drag all the patches away from the wall and into an open area so you can easily see and align the textures. Also you will notice there are 2 patches at the bottom of the arch, these will most likely end up inside your wall so they can be deleted.&lt;br /&gt;
[[Image:Archway_02.jpg]]&lt;br /&gt;
* There is a problem with this arch, this happened because I made a very flat topped arch. Patches will &#039;&#039;optimize&#039;&#039; themselves and because the arch was fairly &#039;&#039;flat&#039;&#039; it doesn&#039;t have enough shape to match the outside of the arch. The cure for this is to make the arch rounder in shape. So with all the arch patches selected (don&#039;t forget both sides, top and bottom) resize it height-wise until you see the patch sub-divide so it has the same amount of sections as the outside.&lt;br /&gt;
[[Image:Archway_03.jpg]]&lt;br /&gt;
* This creates another issue, the patches no longer align properly. Hit {{V}} to enter vertex edit mode and adjust the verts so the patches match up or come very close to matching. If you can&#039;t get an exact match it is alright, just hit {{Ctrl}} + {{G}} to grid snap the verts. This should snap them altogether, if not try a different grid size.&lt;br /&gt;
&lt;br /&gt;
[[Image:Archway_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Other References==&lt;br /&gt;
&lt;br /&gt;
General patches tutorial:  http://www.modwiki.net/wiki/Patch&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Template:G&amp;diff=5698</id>
		<title>Template:G</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Template:G&amp;diff=5698"/>
		<updated>2008-01-18T19:10:20Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: New page: {{key|G}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{key|G}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Patches&amp;diff=5697</id>
		<title>Patches</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Patches&amp;diff=5697"/>
		<updated>2008-01-18T19:10:04Z</updated>

		<summary type="html">&lt;p&gt;Baddcog: /* Trim Arches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
A patch:&lt;br /&gt;
&lt;br /&gt;
* is a two dimensional sheet with only one visible surface. It can be bent, curved and twisted in three dimensions but always remains a sheet. It produces better curves and textures better on them than multiple brushes.&lt;br /&gt;
* can also be a cylinder, great for pipes, bars, logs, ect... or it can be a cone good for tree branches.&lt;br /&gt;
* is a primitive - a child of the worldspawn entity. This means it is a direct offshoot of the game world and inherits any properties applied to the worldspawn. If you select a brush and look in the Entity Inspector you will see the worldspawn properties. &lt;br /&gt;
* may be parented to another entity when it will inherit its properties.&lt;br /&gt;
* will not seal against the void.&lt;br /&gt;
* is suitable for decals - textures such as stains to be placed over other surfaces.&lt;br /&gt;
&lt;br /&gt;
==Round and Softened Corners: Bevels==&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel01.jpg|right|140px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;written by Fidcal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No matter how beautiful the texturing, a mathematically-sharp convex corner is likely to spoil it.&lt;br /&gt;
&lt;br /&gt;
These can be rounded off nicely using a patch bevel. The same method can of course be used to produce larger rounded corners.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right&amp;quot;&amp;gt;[[Image:bevel02.jpg|160px]]   [[Image:bevel03.jpg|160px|top]]&amp;lt;/div&amp;gt;&lt;br /&gt;
* Select the brush that forms the corner.&lt;br /&gt;
* Zoom in and set the grid to about 4 or 8. How rounded you want the corner will depend on the texture and other things. I crisp new brick wall might be better with a small rounded corner whereas old round stone blocks will take a larger curve. You can of course, use this method for very large curves where they are an architectural feature not merely a softening of a sharp edge.&lt;br /&gt;
* Press {{key-ctrl}}+{{key|name=X}} for &#039;&#039;Clipper&#039;&#039; or select [[Image:DRclipper.jpg]] on the left toolbar&lt;br /&gt;
{{clear}}&lt;br /&gt;
* Click the two diagonals in order 0 then 1 as shown in the diagram so that the corner is to the right if 0 was 12 on a clock and 1 is 6.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel04.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* {{key-shift}}+{{key-enter}} to split off the corner without deleting it&lt;br /&gt;
* {{key-esc}} to deselect then exclusively select the corner triangle. This might be easier in camera view.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel05.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* Bevels are always created with their curve in the horizontal plane which is what we want here for a vertical corner (if you need a different orientation you have to rotate it after creation.)&lt;br /&gt;
* Select {{menu|l1=Patch|l2=Bevel}}&lt;br /&gt;
* If the bevel is facing the wrong way (in top view) then rotate it, grid snap if necessary to as shown in the image below. The bevel might not have the same number of faces as in the diagram. Don&#039;t worry. We set that separately anyway.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel06.jpg|center|200px]]&lt;br /&gt;
&lt;br /&gt;
* Delete the original brush corner triangle that was the template for this bevel.&lt;br /&gt;
* Press {{key-shift}}+{{key|name=S}} for patch inspector&lt;br /&gt;
* Click the check box &#039;Fixed Subdivision&#039; else Doom might change the quality when optimising.&lt;br /&gt;
* In the &#039;Horizontal&#039; input just below that in &#039;&#039;&#039;Patch Inspector&#039;&#039;&#039; set the value to 3 or 4. The higher the value the lower the game performance and beyond a certain value you cannot tell any difference so don&#039;t be tempted to go high. It&#039;s a matter of experience, judgement, how big the curve is, and the type of texture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:bevel07.jpg]]   [[Image:bevel08.jpg]]  [[Image:bevel09.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Close the &#039;&#039;&#039;Patch Inspector&#039;&#039;&#039; and use {{key-esc}} to deselect the bevel&lt;br /&gt;
* Use {{key-ctrl}}+{{key-shift}}+{{LMB}} to select only the surface of the brush wall to one side of the bevel. Use a side where you do not want to have to re-align the texture on that wall, eg, there is a window further along and it might be awkward. This is because later, the wall texture on the OTHER side of the bevel may have to be realigned to the bevel.&lt;br /&gt;
* Use {{menu|l1=Edit|l2=Copy Shader}} or the key/mouse shortcut&lt;br /&gt;
* Press {{key-esc}} to deselect and select the bevel again&lt;br /&gt;
* Use {{menu|l1=Edit|l2=Paste Shader (Natural)}} or the shortcut. Do NOT use the normal paste - nor normal paste followed by &#039;&#039;Natural&#039;&#039; in the &#039;&#039;&#039;Surface Inspector&#039;&#039;&#039;.&lt;br /&gt;
* The texture on the bevel should be aligned to that wall.&lt;br /&gt;
* Check texture alignment on the wall on the other side of the bevel and shift it in &#039;&#039;&#039;Surface Inspector&#039;&#039;&#039; as needed.&lt;br /&gt;
&lt;br /&gt;
[[Image:bevel10.jpg|right|400px]]&lt;br /&gt;
Hopefully that should now look far better:&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Cylinders and Cones ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To create a cylindrical patch:&lt;br /&gt;
* drag out a brush an ortho view. The cylinder will be created in the plane of the ortho view you created the brush in. If you used the top view you will end up with a cylinder standing upright.&lt;br /&gt;
* with the brush selected choose the &#039;&#039;patch&#039;&#039; menu&lt;br /&gt;
* &#039;&#039;&#039;cylinder&#039;&#039;&#039; will give you a nice and round cylinder with one set of rows (lenghtwise). It will be the size of the brush you had selected.&lt;br /&gt;
&lt;br /&gt;
&#039;More cylinders&#039; gives you more options: &#039;&#039;&#039;dense cylinder&#039;&#039;&#039;; a cylinder with 2 rows, &#039;&#039;&#039;very dense cylinder&#039;&#039;&#039;; a cylinder with 3 rows, &#039;&#039;&#039;square cylinder&#039;&#039;&#039;; a four sided cylinder. All patches are rendered smooth, so you can use a square cylinder and it will still have an almost round look to it in game as opposed to a square brush that will render flat and very square.&lt;br /&gt;
The more dense of a cylinder you use the more you can bend it into a tight angle.&lt;br /&gt;
&lt;br /&gt;
[[Image:patch_tut_08.jpg]]&lt;br /&gt;
*deleted the brush you used to create the cylinder, you will notice that it has no ends and looks pretty bad. To fix this we&#039;ll need to create an &#039;&#039;end cap&#039;&#039;, see below.&lt;br /&gt;
[[Image:patch_tut_09.jpg]]&lt;br /&gt;
&lt;br /&gt;
Hit the &#039;&#039;v&#039;&#039; and you&#039;ll see the verts of the cylinder, these can be dragged around to create shapes, bends. Hit v again to toggle the vert edit mode off, or hit escape twice. In this picture I used a very dense cylinder and dragged the verts to make a bend, it&#039;s very rough but there are already alot of Doom3 tuts out there that go into detail about how to bend a cylinder. &lt;br /&gt;
&lt;br /&gt;
[[Image:patch_tut_11.jpg]]&lt;br /&gt;
&lt;br /&gt;
Creating a cone is the same process but you will choose&#039;&#039; cone&#039;&#039; from the patch menu.&lt;br /&gt;
&lt;br /&gt;
== End Caps ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
End caps are useful for sealing off the end of a cylinder patch. The patch is created like a piece of paper wrapped around in a circle leaving two open ends.&lt;br /&gt;
&lt;br /&gt;
To create an end cap:&lt;br /&gt;
* select the cylinder patch you just made&lt;br /&gt;
* choose patch menu &#039;&#039;&#039;cap selection&#039;&#039;&#039; {{Shift}}+{{C}} and choose &#039;&#039;cylinder&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_05.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you did everything correctly you will have a round cap at each end of your cylinder. You can only see these caps if you are looking at them as they only have tex on one side. If your cylinder was setting on the floor you will have to fly down below it and look up.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_10.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can bend a patch, then cap it and the caps will be in the correct places. You can also select a cap and a cylinder at the same time, hit {{V}} and drag verts of both patches together to keep their shapes aligned.&lt;br /&gt;
&lt;br /&gt;
You also notice that in the caps menu there are other shapes of end caps, these can be good to fill in archways.&lt;br /&gt;
&lt;br /&gt;
== Archways ==&lt;br /&gt;
&#039;&#039;by Baddcog&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Patches are great for smooth arches, much smoother than can be created with brushes. You  can also create the opposite of an archway using the same steps, this could be useful for creating a covered wagons top.&lt;br /&gt;
&lt;br /&gt;
To create an archway:&lt;br /&gt;
* create a doorway or hallway with terrain brushes, you can use caulk on the ceiling as those polys won&#039;t be seen and this way they won&#039;t be rendered either.&lt;br /&gt;
[[Image:Patch_tut_01.jpg]]&lt;br /&gt;
* create a brush in the doorway you want an arch in, make it the size you want the arch, so approximately the size of the curves at the top of the doorway.&lt;br /&gt;
* out of the patch menu select &#039;&#039;&#039;end cap&#039;&#039;&#039;, end caps are not only round cylinder caps, in this case we will get the inside of the archway. Most likely it will have to be rotated/resized to fit the area you want it in.&lt;br /&gt;
Again, patches only have tex on one side so if you don&#039;t see it in 3d it doesn&#039;t mean it isn&#039;t there. Look in the ortho views when you create it. Delete the brush you used to create the end cap patch.&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_02.jpg]] [[Image:Patch_tut_03.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sometimes the texture ends up on the wrong side, so it would be facing the ceiling and the player couldn&#039;t see it. To fix it:&lt;br /&gt;
* select the patch&lt;br /&gt;
* patch menu: Matrix: &#039;&#039;&#039;Invert&#039;&#039;&#039; {{Ctrl}}+{{I}}&lt;br /&gt;
[[Image:Patch_tut_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now you&#039;ve got a doorway or a hallway and an arched ceiling to it, but the ends of it are open and it looks like the ceiling is just paper. We need to cap the end so it looks solid.&lt;br /&gt;
&lt;br /&gt;
* select the arch patch you just created.&lt;br /&gt;
* patch menu: &#039;&#039;&#039;cap selection&#039;&#039;&#039; {{Shift}}+{{C}}&lt;br /&gt;
* choose &#039;&#039;inverted end cap&#039;&#039; &lt;br /&gt;
[[Image:Patch_tut_05.jpg]]&lt;br /&gt;
&lt;br /&gt;
As you can see from the icon (the blue is what you get) you will get caps on each side of the arch that fill in the corners. Like the cylinder cap this will give you a cap on each end, so if you only needed one you&#039;ll have to delete the spare. Maybe you made an alcove and the back side of the arch is against a wall.&lt;br /&gt;
[[Image:Patch_tut_06.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can see that the inc=verted end cap has a pretty ugly looking texture alignment, this needs fixed.&lt;br /&gt;
To align the textures with the surrounding bricks:&lt;br /&gt;
* {{Shift}}+{{Ctrl}}+{{LMB}} click on the wall next to the arch.&lt;br /&gt;
* Edit menu: copy shader&lt;br /&gt;
* Select the end cap(s)&lt;br /&gt;
* Edit menu: paste shader&lt;br /&gt;
(I think the shortcut for this is {{Shift}}+{{Ctrl}}+{{MMB}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Patch_tut_07.jpg]]&lt;br /&gt;
&lt;br /&gt;
I failed to align the texture properly on the left wall due to a pizza break during the tut, forgive my slacker ways, however I did get the end cap properly textured and aligned to the wall on the right. (I should&#039;ve aligned the textures top, left and right before doing the end cap).&lt;br /&gt;
Do the same with one of the inside walls and the inside of the arch. Aligning this inside curve with the outside curve is probably impossible, in that case you&#039;ll probably want to create another stone trim arch for the end. This is up to you, do you want to build a decent level fast or do you want to create the mother of all beautiful levels? You aren&#039;t getting paid, how much free time do you have?&lt;br /&gt;
&lt;br /&gt;
==Trim Arches==&lt;br /&gt;
&lt;br /&gt;
OK, you&#039;ve decided that you do have more time and want your arches to look better than a simple cap like above. Instead you want a realistic arch with stones across the top. This effect can easily be achieved by using patches and a little bit of texture alignment.&lt;br /&gt;
&lt;br /&gt;
* Select the &#039;&#039;end cap patch&#039;&#039; that creates the inside of the archway, the one the player will look up at inside the hall or doorway.&lt;br /&gt;
[[Image:Archway_01.jpg]]&lt;br /&gt;
* The tetxure used there is obviously a terrible choice for a stable archway so pick something that is made up of large square stones and apply it to the patch. Then drag the patch out so it is wider than the doorway. This will make the bricks wider than the doorway giving more depth and also avoiding any z-fighting issues with the wall. Now use the texture alignment tools to fit the bricks onto that patch nicely. I prefer to work with very small increments in the horizontal and vertical scaling and alignment sliders. &lt;br /&gt;
* With the patch selected go to the patch menu and select &#039;&#039;&#039;Thicken Patch&#039;&#039;&#039;. Use the setting shown. &#039;&#039;&#039;16&#039;&#039;&#039; will make the new patch 16 units thick, approximately a foot.&lt;br /&gt;
[[Image:Thicken_Patches.jpg]] [[Image:Patch_Thicken.jpg]]&lt;br /&gt;
* Now you will have a complete stone arch. It&#039;s easiest to drag all the patches away from the wall and into an open area so you can easily see and align the textures. Also you will notice there are 2 patches at the bottom of the arch, these will most likely end up inside your wall so they can be deleted.&lt;br /&gt;
[[Image:Archway_02.jpg]]&lt;br /&gt;
* There is a problem with this arch, this happened because I made a very flat topped arch. Patches will &#039;&#039;optimize&#039;&#039; themselves and because the arch was fairly &#039;&#039;flat&#039;&#039; it doesn&#039;t have enough shape to match the outside of the arch. The cure for this is to make the arch rounder in shape. So with all the arch patches selected (don&#039;t forget both sides, top and bottom) resize it height-wise until you see the patch sub-divide so it has the same amount of sections as the outside.&lt;br /&gt;
[[Image:Archway_03.jpg]]&lt;br /&gt;
* This creates another issue, the patches no longer align properly. Hit {{V}} to enter vertex edit mode and adjust the verts so the patches match up or come very close to matching. If you can&#039;t get an exact match it is alright, just hit {{Ctrl}} + {{G}} to grid snap the verts. This should snap them altogether, if not try a different grid size.&lt;br /&gt;
&lt;br /&gt;
[[Image:Archway_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Other References==&lt;br /&gt;
&lt;br /&gt;
General patches tutorial:  http://www.modwiki.net/wiki/Patch&lt;br /&gt;
&lt;br /&gt;
{{tutorial-editing}}&lt;/div&gt;</summary>
		<author><name>Baddcog</name></author>
	</entry>
</feed>