<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://omnicide.razorwind.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://omnicide.razorwind.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Twinchenzo</id>
		<title>Blood Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://omnicide.razorwind.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Twinchenzo"/>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Special:Contributions/Twinchenzo"/>
		<updated>2026-05-13T19:48:40Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.1</generator>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Introduction</id>
		<title>Repository Reference/Introduction</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Introduction"/>
				<updated>2012-10-11T14:43:10Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar checked|darth}}&lt;br /&gt;
Blood Omnicide repository stores all files needed for the development process. It contains game files, media, sourcecodes, useful tools and other helpful stuff that makes life easier when working on various aspects of the game. Blood Omnicide repository stores project at its very latest development state and all previous versions.&lt;br /&gt;
&lt;br /&gt;
Before you start working with Blood Omnicide repository, be sure to learn how version control systems works and particulary [http://en.wikipedia.org/wiki/Apache_Subversion subversion].&lt;br /&gt;
&lt;br /&gt;
==Getting a working copy==&lt;br /&gt;
This is actually first step on work with Blood Omnicide repository - get a working copy of the repository.&lt;br /&gt;
&lt;br /&gt;
Install SVN client (for Windows [http://tortoisesvn.net/ TortoiseSVN] is recommended). For executing '''svn checkout''' command you only need to get repository address, password is not required.&lt;br /&gt;
{{Important|Make sure path to working copy folder is nice and doesn't contain non-latin characters and whitespaces:}}&lt;br /&gt;
 &amp;lt;font color=red&amp;gt;// Wrong&amp;lt;/font&amp;gt;&lt;br /&gt;
 c:\Documents and Settings\Администратор\Desktop\Blood Omnicide Repository&lt;br /&gt;
 &amp;lt;font color=green&amp;gt;// Correct&amp;lt;/font&amp;gt;&lt;br /&gt;
 c:\OmnicideSVN&lt;br /&gt;
&lt;br /&gt;
Downloading full working copy takes about 3GB of bandwidth. Downloaded working copy takes about 10GB, make sure you have at least double of that as it will grow up with time.&lt;br /&gt;
{{Tip|Download can be stopped and resumed at any time}}&lt;br /&gt;
&lt;br /&gt;
==Looking around==&lt;br /&gt;
Once download is completed, you will see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #999 dotted; padding: 8px; margin: 4px;vertical-align:bottom&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''bin32'''&lt;br /&gt;
| game binaries for x86 platform&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''bin64'''&lt;br /&gt;
| game binaries for x64 platform&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''devkit'''&lt;br /&gt;
| game sourcecodes and tools&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''kain'''&lt;br /&gt;
| gamedir storing all of Blood Omnicide files (textures, maps, scripts etc.)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''kain_make'''&lt;br /&gt;
| installation scripts and scripts to build release version of the game.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''mapeditor'''&lt;br /&gt;
| level editor&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''misc'''&lt;br /&gt;
| help files, icons, map shots etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon file.png|16px|alt=|link=]] &lt;br /&gt;
| '''gpl.txt'''&lt;br /&gt;
| GNU GPL v2 license&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon omnicide.png|16px|alt=|link=]] &lt;br /&gt;
| '''launch.exe'''&lt;br /&gt;
| Blood Omnicide launcher&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon omnicide.png|16px|alt=|link=]] &lt;br /&gt;
| '''omnicide.exe'''&lt;br /&gt;
| Blood Omnicide game executable&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon omnicide.png|16px|alt=|link=]] &lt;br /&gt;
| '''omnicide-dev.exe'''&lt;br /&gt;
| Blood Omnicide development-only executable (has raised entity limits)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|Key Concepts}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Introduction</id>
		<title>Repository Reference/Introduction</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Introduction"/>
				<updated>2012-10-11T14:42:41Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Looking around */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
Blood Omnicide repository stores all files needed for the development process. It contains game files, media, sourcecodes, useful tools and other helpful stuff that makes life easier when working on various aspects of the game. Blood Omnicide repository stores project at its very latest development state and all previous versions.&lt;br /&gt;
&lt;br /&gt;
Before you start working with Blood Omnicide repository, be sure to learn how version control systems works and particulary [http://en.wikipedia.org/wiki/Apache_Subversion subversion].&lt;br /&gt;
&lt;br /&gt;
==Getting a working copy==&lt;br /&gt;
This is actually first step on work with Blood Omnicide repository - get a working copy of the repository.&lt;br /&gt;
&lt;br /&gt;
Install SVN client (for Windows [http://tortoisesvn.net/ TortoiseSVN] is recommended). For executing '''svn checkout''' command you only need to get repository address, password is not required.&lt;br /&gt;
{{Important|Make sure path to working copy folder is nice and doesn't contain non-latin characters and whitespaces:}}&lt;br /&gt;
 &amp;lt;font color=red&amp;gt;// Wrong&amp;lt;/font&amp;gt;&lt;br /&gt;
 c:\Documents and Settings\Администратор\Desktop\Blood Omnicide Repository&lt;br /&gt;
 &amp;lt;font color=green&amp;gt;// Correct&amp;lt;/font&amp;gt;&lt;br /&gt;
 c:\OmnicideSVN&lt;br /&gt;
&lt;br /&gt;
Downloading full working copy takes about 3GB of bandwidth. Downloaded working copy takes about 10GB, make sure you have at least double of that as it will grow up with time.&lt;br /&gt;
{{Tip|Download can be stopped and resumed at any time}}&lt;br /&gt;
&lt;br /&gt;
==Looking around==&lt;br /&gt;
Once download is completed, you will see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #999 dotted; padding: 8px; margin: 4px;vertical-align:bottom&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''bin32'''&lt;br /&gt;
| game binaries for x86 platform&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''bin64'''&lt;br /&gt;
| game binaries for x64 platform&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''devkit'''&lt;br /&gt;
| game sourcecodes and tools&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''kain'''&lt;br /&gt;
| gamedir storing all of Blood Omnicide files (textures, maps, scripts etc.)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''kain_make'''&lt;br /&gt;
| installation scripts and scripts to build release version of the game.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''mapeditor'''&lt;br /&gt;
| level editor&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''misc'''&lt;br /&gt;
| help files, icons, map shots etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon file.png|16px|alt=|link=]] &lt;br /&gt;
| '''gpl.txt'''&lt;br /&gt;
| GNU GPL v2 license&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon omnicide.png|16px|alt=|link=]] &lt;br /&gt;
| '''launch.exe'''&lt;br /&gt;
| Blood Omnicide launcher&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon omnicide.png|16px|alt=|link=]] &lt;br /&gt;
| '''omnicide.exe'''&lt;br /&gt;
| Blood Omnicide game executable&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon omnicide.png|16px|alt=|link=]] &lt;br /&gt;
| '''omnicide-dev.exe'''&lt;br /&gt;
| Blood Omnicide development-only executable (has raised entity limits)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|Key Concepts}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Introduction</id>
		<title>Repository Reference/Introduction</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Introduction"/>
				<updated>2012-10-11T14:41:36Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
Blood Omnicide repository stores all files needed for the development process. It contains game files, media, sourcecodes, useful tools and other helpful stuff that makes life easier when working on various aspects of the game. Blood Omnicide repository stores project at its very latest development state and all previous versions.&lt;br /&gt;
&lt;br /&gt;
Before you start working with Blood Omnicide repository, be sure to learn how version control systems works and particulary [http://en.wikipedia.org/wiki/Apache_Subversion subversion].&lt;br /&gt;
&lt;br /&gt;
==Getting a working copy==&lt;br /&gt;
This is actually first step on work with Blood Omnicide repository - get a working copy of the repository.&lt;br /&gt;
&lt;br /&gt;
Install SVN client (for Windows [http://tortoisesvn.net/ TortoiseSVN] is recommended). For executing '''svn checkout''' command you only need to get repository address, password is not required.&lt;br /&gt;
{{Important|Make sure path to working copy folder is nice and doesn't contain non-latin characters and whitespaces:}}&lt;br /&gt;
 &amp;lt;font color=red&amp;gt;// Wrong&amp;lt;/font&amp;gt;&lt;br /&gt;
 c:\Documents and Settings\Администратор\Desktop\Blood Omnicide Repository&lt;br /&gt;
 &amp;lt;font color=green&amp;gt;// Correct&amp;lt;/font&amp;gt;&lt;br /&gt;
 c:\OmnicideSVN&lt;br /&gt;
&lt;br /&gt;
Downloading full working copy takes about 3GB of bandwidth. Downloaded working copy takes about 10GB, make sure you have at least double of that as it will grow up with time.&lt;br /&gt;
{{Tip|Download can be stopped and resumed at any time}}&lt;br /&gt;
&lt;br /&gt;
==Looking around==&lt;br /&gt;
Once download is completed, you will see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #999 dotted; padding: 8px; margin: 4px;vertical-align:bottom&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''bin32'''&lt;br /&gt;
| game binaries for x86 platform&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''bin64'''&lt;br /&gt;
| game binaries for x64 platform&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''devkit'''&lt;br /&gt;
| game sourcecodes and tools&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''kain'''&lt;br /&gt;
| gamedir storing all of Blood Omnicide files (textures, maps, scripts etc.)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''kain_make'''&lt;br /&gt;
| installation scripts and scripts to build release version of the game.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''mapeditor'''&lt;br /&gt;
| level editor&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon folder.png|16px|alt=|link=]] &lt;br /&gt;
| '''misc'''&lt;br /&gt;
| help files, icons, map shots etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon file.png|16px|alt=|link=]] &lt;br /&gt;
| '''gpl.txt'''&lt;br /&gt;
| GNU GPL v2 license&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon omnicide.png|16px|alt=|link=]] &lt;br /&gt;
| '''launch.exe'''&lt;br /&gt;
| Blood Omnicide launcher&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon omnicide.png|16px|alt=|link=]] &lt;br /&gt;
| '''omnicide.exe'''&lt;br /&gt;
| Blood Omnicide game executable&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Icon omnicide.png|16px|alt=|link=]] &lt;br /&gt;
| '''omnicide-dev.exe'''&lt;br /&gt;
| Blood Omnicide development-only executable (have raised entity limits)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|Key Concepts}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Key_Concepts</id>
		<title>Repository Reference/Key Concepts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Key_Concepts"/>
				<updated>2012-10-11T14:37:39Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|Introduction}}&lt;br /&gt;
{{grammar checked|darth}}&lt;br /&gt;
==Development vs Release==&lt;br /&gt;
Blood Omnicide release version is different from what you get in repository. &lt;br /&gt;
&lt;br /&gt;
For development version:&lt;br /&gt;
* All files are real files (except for test installation)&lt;br /&gt;
* All textures are uncompressed, DDS cache is optional&lt;br /&gt;
* Sources and development files included&lt;br /&gt;
* SDK and tools included&lt;br /&gt;
&lt;br /&gt;
In release version:&lt;br /&gt;
* All files packed into game archives&lt;br /&gt;
* Textures are compressed (DDS cache only)&lt;br /&gt;
* Source files and development files are deleted&lt;br /&gt;
* SDK in separate download&lt;br /&gt;
&lt;br /&gt;
Release version for the game is about 800 Mb and has shorter loading times.&lt;br /&gt;
&lt;br /&gt;
==Linked to Blood Omen==&lt;br /&gt;
By just downloading a working copy of repository you don't get a working game. Since Blood Omnicide is a port, it heavily depends on original game media files. &lt;br /&gt;
&lt;br /&gt;
Blood Omen files got copied when Blood Omnicide release version is being installed on a computer. Development version doesn't have such installer, but it has a '''test installation script''' that does the same job. The process of getting a working copy of Blood Omnicide is called '''test installation'''.&lt;br /&gt;
&lt;br /&gt;
==Sources are saved==&lt;br /&gt;
All media file sources get saved to SVN, including source files for tools, textures and models. The only reason a source file doesn't get saved is when its size is too big (&amp;gt;100Mb). Sources are saved in the same folder as the exported files. The code sources don't need a further explanation, but textures and models apparently do:&lt;br /&gt;
&lt;br /&gt;
'''Texture sources'''&lt;br /&gt;
:Source is the base image (PSD or whatever) you are exporting to [[TGA]] texture.&lt;br /&gt;
&lt;br /&gt;
'''Model sources'''&lt;br /&gt;
:These have a lot of variations. For static models it is best to save sources as [[ASE]] files, if models are animated, store whatever source file you have (MAX, blend etc.)&lt;br /&gt;
&lt;br /&gt;
==Common conventions==&lt;br /&gt;
A number of rules that should be followed in order to keep repository clean.&lt;br /&gt;
&lt;br /&gt;
'''Files names'''&lt;br /&gt;
:All files, folders, file extensions must be lowercase with all-latin characters and with no spacers. Failing this rule can throw a number of problems like limited portability and SVN errors.&lt;br /&gt;
&lt;br /&gt;
'''Commits'''&lt;br /&gt;
:Dont commit files no one will use. SVN is not a light version of FTP. It stores all file versions, even if it was deleted. So abusing it with many unused files will waste HDD space.&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|Building a Game}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Key_Concepts</id>
		<title>Repository Reference/Key Concepts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Key_Concepts"/>
				<updated>2012-10-11T14:36:53Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Sources are saved */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|Introduction}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
==Development vs Release==&lt;br /&gt;
Blood Omnicide release version is different from what you get in repository. &lt;br /&gt;
&lt;br /&gt;
For development version:&lt;br /&gt;
* All files are real files (except for test installation)&lt;br /&gt;
* All textures are uncompressed, DDS cache is optional&lt;br /&gt;
* Sources and development files included&lt;br /&gt;
* SDK and tools included&lt;br /&gt;
&lt;br /&gt;
In release version:&lt;br /&gt;
* All files packed into game archives&lt;br /&gt;
* Textures are compressed (DDS cache only)&lt;br /&gt;
* Source files and development files are deleted&lt;br /&gt;
* SDK in separate download&lt;br /&gt;
&lt;br /&gt;
Release version for the game is about 800 Mb and has shorter loading times.&lt;br /&gt;
&lt;br /&gt;
==Linked to Blood Omen==&lt;br /&gt;
By just downloading a working copy of repository you don't get a working game. Since Blood Omnicide is a port, it heavily depends on original game media files. &lt;br /&gt;
&lt;br /&gt;
Blood Omen files got copied when Blood Omnicide release version is being installed on a computer. Development version doesn't have such installer, but it has a '''test installation script''' that does the same job. The process of getting a working copy of Blood Omnicide is called '''test installation'''.&lt;br /&gt;
&lt;br /&gt;
==Sources are saved==&lt;br /&gt;
All media file sources get saved to SVN, including source files for tools, textures and models. The only reason a source file doesn't get saved is when its size is too big (&amp;gt;100Mb). Sources are saved in the same folder as the exported files. The code sources don't need a further explanation, but textures and models apparently do:&lt;br /&gt;
&lt;br /&gt;
'''Texture sources'''&lt;br /&gt;
:Source is the base image (PSD or whatever) you are exporting to [[TGA]] texture.&lt;br /&gt;
&lt;br /&gt;
'''Model sources'''&lt;br /&gt;
:These have a lot of variations. For static models it is best to save sources as [[ASE]] files, if models are animated, store whatever source file you have (MAX, blend etc.)&lt;br /&gt;
&lt;br /&gt;
==Common conventions==&lt;br /&gt;
A number of rules that should be followed in order to keep repository clean.&lt;br /&gt;
&lt;br /&gt;
'''Files names'''&lt;br /&gt;
:All files, folders, file extensions must be lowercase with all-latin characters and with no spacers. Failing this rule can throw a number of problems like limited portability and SVN errors.&lt;br /&gt;
&lt;br /&gt;
'''Commits'''&lt;br /&gt;
:Dont commit files no one will use. SVN is not a light version of FTP. It stores all file versions, even if it was deleted. So abusing it with many unused files will waste HDD space.&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|Building a Game}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Key_Concepts</id>
		<title>Repository Reference/Key Concepts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Key_Concepts"/>
				<updated>2012-10-11T14:34:42Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Linked to Blood Omen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|Introduction}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
==Development vs Release==&lt;br /&gt;
Blood Omnicide release version is different from what you get in repository. &lt;br /&gt;
&lt;br /&gt;
For development version:&lt;br /&gt;
* All files are real files (except for test installation)&lt;br /&gt;
* All textures are uncompressed, DDS cache is optional&lt;br /&gt;
* Sources and development files included&lt;br /&gt;
* SDK and tools included&lt;br /&gt;
&lt;br /&gt;
In release version:&lt;br /&gt;
* All files packed into game archives&lt;br /&gt;
* Textures are compressed (DDS cache only)&lt;br /&gt;
* Source files and development files are deleted&lt;br /&gt;
* SDK in separate download&lt;br /&gt;
&lt;br /&gt;
Release version for the game is about 800 Mb and has shorter loading times.&lt;br /&gt;
&lt;br /&gt;
==Linked to Blood Omen==&lt;br /&gt;
By just downloading a working copy of repository you don't get a working game. Since Blood Omnicide is a port, it heavily depends on original game media files. &lt;br /&gt;
&lt;br /&gt;
Blood Omen files got copied when Blood Omnicide release version is being installed on a computer. Development version doesn't have such installer, but it has a '''test installation script''' that does the same job. The process of getting a working copy of Blood Omnicide is called '''test installation'''.&lt;br /&gt;
&lt;br /&gt;
==Sources are saved==&lt;br /&gt;
All media file sources get saved to SVN, including source files for tools, textures and models. The only reason some source file dont get saved, is when it's size are too big (&amp;gt;100Mb). Sources are saved in the same folder as their exported files. The code sources doesnt need an futher explanation, but textures and models apparently are:&lt;br /&gt;
&lt;br /&gt;
'''Texture sources'''&lt;br /&gt;
:Source are the base image (PSD or whatever) you are exporting to [[TGA]] texture.&lt;br /&gt;
&lt;br /&gt;
'''Model sources'''&lt;br /&gt;
:This have alot of variations. For static models it is best to save sources as [[ASE]] files, if models are animated, store whatever source file you have (MAX, blend etc.)&lt;br /&gt;
&lt;br /&gt;
==Common conventions==&lt;br /&gt;
A number of rules that should be followed in order to keep repository clean.&lt;br /&gt;
&lt;br /&gt;
'''Files names'''&lt;br /&gt;
:All files, folders, file extensions must be lowercase with all-latin characters and with no spacers. Failing this rule can throw a number of problems like limited portability and SVN errors.&lt;br /&gt;
&lt;br /&gt;
'''Commits'''&lt;br /&gt;
:Dont commit files no one will use. SVN is not a light version of FTP. It stores all file versions, even if it was deleted. So abusing it with many unused files will waste HDD space.&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|Building a Game}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Key_Concepts</id>
		<title>Repository Reference/Key Concepts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Key_Concepts"/>
				<updated>2012-10-11T14:32:38Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Development vs Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|Introduction}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
==Development vs Release==&lt;br /&gt;
Blood Omnicide release version is different from what you get in repository. &lt;br /&gt;
&lt;br /&gt;
For development version:&lt;br /&gt;
* All files are real files (except for test installation)&lt;br /&gt;
* All textures are uncompressed, DDS cache is optional&lt;br /&gt;
* Sources and development files included&lt;br /&gt;
* SDK and tools included&lt;br /&gt;
&lt;br /&gt;
In release version:&lt;br /&gt;
* All files packed into game archives&lt;br /&gt;
* Textures are compressed (DDS cache only)&lt;br /&gt;
* Source files and development files are deleted&lt;br /&gt;
* SDK in separate download&lt;br /&gt;
&lt;br /&gt;
Release version for the game is about 800 Mb and has shorter loading times.&lt;br /&gt;
&lt;br /&gt;
==Linked to Blood Omen==&lt;br /&gt;
By just downloading a working copy of repository you dont get a working game. Since Blood Omnicide is a port, it heavily depends on original game media files. &lt;br /&gt;
&lt;br /&gt;
Blood Omen files got copied when Blood Omnicide release version is being installed on a computer. Development version doesnt have such installer, but it have a '''test installation script''' that does the same job. The process of getting a working copy of Blood Omnicide is called '''test installation'''.&lt;br /&gt;
&lt;br /&gt;
==Sources are saved==&lt;br /&gt;
All media file sources get saved to SVN, including source files for tools, textures and models. The only reason some source file dont get saved, is when it's size are too big (&amp;gt;100Mb). Sources are saved in the same folder as their exported files. The code sources doesnt need an futher explanation, but textures and models apparently are:&lt;br /&gt;
&lt;br /&gt;
'''Texture sources'''&lt;br /&gt;
:Source are the base image (PSD or whatever) you are exporting to [[TGA]] texture.&lt;br /&gt;
&lt;br /&gt;
'''Model sources'''&lt;br /&gt;
:This have alot of variations. For static models it is best to save sources as [[ASE]] files, if models are animated, store whatever source file you have (MAX, blend etc.)&lt;br /&gt;
&lt;br /&gt;
==Common conventions==&lt;br /&gt;
A number of rules that should be followed in order to keep repository clean.&lt;br /&gt;
&lt;br /&gt;
'''Files names'''&lt;br /&gt;
:All files, folders, file extensions must be lowercase with all-latin characters and with no spacers. Failing this rule can throw a number of problems like limited portability and SVN errors.&lt;br /&gt;
&lt;br /&gt;
'''Commits'''&lt;br /&gt;
:Dont commit files no one will use. SVN is not a light version of FTP. It stores all file versions, even if it was deleted. So abusing it with many unused files will waste HDD space.&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|Building a Game}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts</id>
		<title>Repository Reference/Automation scripts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts"/>
				<updated>2012-10-11T14:28:11Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar checked|darth}}&lt;br /&gt;
Blood Omnicide repository contains a number of automation scripts used to make life easier by making some repeated actions. [[Repository Reference/Building a Game|Building a game chapter]] is one of the big automation scripts you already know about. This appendix chapter lists other automation scripts.&lt;br /&gt;
&lt;br /&gt;
==Materials automation==&lt;br /&gt;
Various scripts to help with materials, all scripts are located in '''kain/scripts/automation/'''&lt;br /&gt;
&lt;br /&gt;
===Build terrain materials===&lt;br /&gt;
Terrain materials in Blood Omnicide are already generated using about 20 terrain textures (rock, grass, ground etc.) and all combinations of materials (rock-grass, grass-ground, grass-rock etc.).&lt;br /&gt;
&lt;br /&gt;
All available terrain textures are listed in '''kain/scripts/terraintypes.txt'''&lt;br /&gt;
&lt;br /&gt;
* '''make_terrain_pics.cmd''': generate radiant/textures for materials (you need ImageMagick 6.6.7 Q8 installed in C:\Program Files (x86)\ImageMagick-6.6.7-Q8)&lt;br /&gt;
* '''make_terrain_shaders.cmd''': generate terrain textures_terrain.shader&lt;br /&gt;
&lt;br /&gt;
===Build shaderlist.txt===&lt;br /&gt;
File scripts/shaderlist.txt is used by map compiler and level editor to load .shader files. Whenever new material scripts are added, this file should be re-generated.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaderlist.cmd''': generate shaderlist.txt&lt;br /&gt;
&lt;br /&gt;
===Build skip shaders===&lt;br /&gt;
Level editor is dumb, it doesn't know what a normalmap is. So it shows normalmaps, specular textures, and all other additional textures in the texture window, which is incorrect. To prevent that a special material file is made for level editor that flags all this textures as skipped. This script must be executed each time new normalmaps, specular and other additional textures are added.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaders_skip.cmd''': generate radiant/scripts/skip.shader&lt;br /&gt;
&lt;br /&gt;
==Music automation==&lt;br /&gt;
Music automation scritps are created to help publishing new Bloody Sounds tracks. They are pretty simple. All scripts are located in '''kain\music\automation'''.&lt;br /&gt;
&lt;br /&gt;
* '''make_files.bat''': make Bloody Sounds .mp3 files and ZIP containing all OGG files&lt;br /&gt;
* '''make_html.bat''': make HTML code for Bloody Sounds page (russian)&lt;br /&gt;
* '''make_html_en.bat''': make HTML code for Bloody Sounds page (english)&lt;br /&gt;
&lt;br /&gt;
==Map automation==&lt;br /&gt;
There are many temporary files created during compilation. These files are: .prt, .srf, .autosave.map, .bad, .log, .pts.&lt;br /&gt;
&lt;br /&gt;
'''kain/maps/cleanup.bat''': remove all temporary files &lt;br /&gt;
&lt;br /&gt;
{{important|This script will remove all autosaves created for maps. Be careful!}}&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts</id>
		<title>Repository Reference/Automation scripts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts"/>
				<updated>2012-10-11T14:27:54Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Map automation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
Blood Omnicide repository contains a number of automation scripts used to make life easier by making some repeated actions. [[Repository Reference/Building a Game|Building a game chapter]] is one of the big automation scripts you already know about. This appendix chapter lists other automation scripts.&lt;br /&gt;
&lt;br /&gt;
==Materials automation==&lt;br /&gt;
Various scripts to help with materials, all scripts are located in '''kain/scripts/automation/'''&lt;br /&gt;
&lt;br /&gt;
===Build terrain materials===&lt;br /&gt;
Terrain materials in Blood Omnicide are already generated using about 20 terrain textures (rock, grass, ground etc.) and all combinations of materials (rock-grass, grass-ground, grass-rock etc.).&lt;br /&gt;
&lt;br /&gt;
All available terrain textures are listed in '''kain/scripts/terraintypes.txt'''&lt;br /&gt;
&lt;br /&gt;
* '''make_terrain_pics.cmd''': generate radiant/textures for materials (you need ImageMagick 6.6.7 Q8 installed in C:\Program Files (x86)\ImageMagick-6.6.7-Q8)&lt;br /&gt;
* '''make_terrain_shaders.cmd''': generate terrain textures_terrain.shader&lt;br /&gt;
&lt;br /&gt;
===Build shaderlist.txt===&lt;br /&gt;
File scripts/shaderlist.txt is used by map compiler and level editor to load .shader files. Whenever new material scripts are added, this file should be re-generated.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaderlist.cmd''': generate shaderlist.txt&lt;br /&gt;
&lt;br /&gt;
===Build skip shaders===&lt;br /&gt;
Level editor is dumb, it doesn't know what a normalmap is. So it shows normalmaps, specular textures, and all other additional textures in the texture window, which is incorrect. To prevent that a special material file is made for level editor that flags all this textures as skipped. This script must be executed each time new normalmaps, specular and other additional textures are added.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaders_skip.cmd''': generate radiant/scripts/skip.shader&lt;br /&gt;
&lt;br /&gt;
==Music automation==&lt;br /&gt;
Music automation scritps are created to help publishing new Bloody Sounds tracks. They are pretty simple. All scripts are located in '''kain\music\automation'''.&lt;br /&gt;
&lt;br /&gt;
* '''make_files.bat''': make Bloody Sounds .mp3 files and ZIP containing all OGG files&lt;br /&gt;
* '''make_html.bat''': make HTML code for Bloody Sounds page (russian)&lt;br /&gt;
* '''make_html_en.bat''': make HTML code for Bloody Sounds page (english)&lt;br /&gt;
&lt;br /&gt;
==Map automation==&lt;br /&gt;
There are many temporary files created during compilation. These files are: .prt, .srf, .autosave.map, .bad, .log, .pts.&lt;br /&gt;
&lt;br /&gt;
'''kain/maps/cleanup.bat''': remove all temporary files &lt;br /&gt;
&lt;br /&gt;
{{important|This script will remove all autosaves created for maps. Be careful!}}&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts</id>
		<title>Repository Reference/Automation scripts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts"/>
				<updated>2012-10-11T14:27:16Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Music automation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
Blood Omnicide repository contains a number of automation scripts used to make life easier by making some repeated actions. [[Repository Reference/Building a Game|Building a game chapter]] is one of the big automation scripts you already know about. This appendix chapter lists other automation scripts.&lt;br /&gt;
&lt;br /&gt;
==Materials automation==&lt;br /&gt;
Various scripts to help with materials, all scripts are located in '''kain/scripts/automation/'''&lt;br /&gt;
&lt;br /&gt;
===Build terrain materials===&lt;br /&gt;
Terrain materials in Blood Omnicide are already generated using about 20 terrain textures (rock, grass, ground etc.) and all combinations of materials (rock-grass, grass-ground, grass-rock etc.).&lt;br /&gt;
&lt;br /&gt;
All available terrain textures are listed in '''kain/scripts/terraintypes.txt'''&lt;br /&gt;
&lt;br /&gt;
* '''make_terrain_pics.cmd''': generate radiant/textures for materials (you need ImageMagick 6.6.7 Q8 installed in C:\Program Files (x86)\ImageMagick-6.6.7-Q8)&lt;br /&gt;
* '''make_terrain_shaders.cmd''': generate terrain textures_terrain.shader&lt;br /&gt;
&lt;br /&gt;
===Build shaderlist.txt===&lt;br /&gt;
File scripts/shaderlist.txt is used by map compiler and level editor to load .shader files. Whenever new material scripts are added, this file should be re-generated.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaderlist.cmd''': generate shaderlist.txt&lt;br /&gt;
&lt;br /&gt;
===Build skip shaders===&lt;br /&gt;
Level editor is dumb, it doesn't know what a normalmap is. So it shows normalmaps, specular textures, and all other additional textures in the texture window, which is incorrect. To prevent that a special material file is made for level editor that flags all this textures as skipped. This script must be executed each time new normalmaps, specular and other additional textures are added.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaders_skip.cmd''': generate radiant/scripts/skip.shader&lt;br /&gt;
&lt;br /&gt;
==Music automation==&lt;br /&gt;
Music automation scritps are created to help publishing new Bloody Sounds tracks. They are pretty simple. All scripts are located in '''kain\music\automation'''.&lt;br /&gt;
&lt;br /&gt;
* '''make_files.bat''': make Bloody Sounds .mp3 files and ZIP containing all OGG files&lt;br /&gt;
* '''make_html.bat''': make HTML code for Bloody Sounds page (russian)&lt;br /&gt;
* '''make_html_en.bat''': make HTML code for Bloody Sounds page (english)&lt;br /&gt;
&lt;br /&gt;
==Map automation==&lt;br /&gt;
There is many of temp files created during compilation. This files are: .prt, .srf, .autosave.map, .bad, .log, .pts.&lt;br /&gt;
&lt;br /&gt;
'''kain/maps/cleanup.bat''': remove all temporary files &lt;br /&gt;
&lt;br /&gt;
{{important|This script will remove all autosaves created for maps. Be careful!}}&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts</id>
		<title>Repository Reference/Automation scripts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts"/>
				<updated>2012-10-11T14:26:30Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Build skip shaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
Blood Omnicide repository contains a number of automation scripts used to make life easier by making some repeated actions. [[Repository Reference/Building a Game|Building a game chapter]] is one of the big automation scripts you already know about. This appendix chapter lists other automation scripts.&lt;br /&gt;
&lt;br /&gt;
==Materials automation==&lt;br /&gt;
Various scripts to help with materials, all scripts are located in '''kain/scripts/automation/'''&lt;br /&gt;
&lt;br /&gt;
===Build terrain materials===&lt;br /&gt;
Terrain materials in Blood Omnicide are already generated using about 20 terrain textures (rock, grass, ground etc.) and all combinations of materials (rock-grass, grass-ground, grass-rock etc.).&lt;br /&gt;
&lt;br /&gt;
All available terrain textures are listed in '''kain/scripts/terraintypes.txt'''&lt;br /&gt;
&lt;br /&gt;
* '''make_terrain_pics.cmd''': generate radiant/textures for materials (you need ImageMagick 6.6.7 Q8 installed in C:\Program Files (x86)\ImageMagick-6.6.7-Q8)&lt;br /&gt;
* '''make_terrain_shaders.cmd''': generate terrain textures_terrain.shader&lt;br /&gt;
&lt;br /&gt;
===Build shaderlist.txt===&lt;br /&gt;
File scripts/shaderlist.txt is used by map compiler and level editor to load .shader files. Whenever new material scripts are added, this file should be re-generated.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaderlist.cmd''': generate shaderlist.txt&lt;br /&gt;
&lt;br /&gt;
===Build skip shaders===&lt;br /&gt;
Level editor is dumb, it doesn't know what a normalmap is. So it shows normalmaps, specular textures, and all other additional textures in the texture window, which is incorrect. To prevent that a special material file is made for level editor that flags all this textures as skipped. This script must be executed each time new normalmaps, specular and other additional textures are added.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaders_skip.cmd''': generate radiant/scripts/skip.shader&lt;br /&gt;
&lt;br /&gt;
==Music automation==&lt;br /&gt;
Music automation scritps is created to help with publishing new Bloody Sounds tracks. They are pretty simple. All scripts is located in '''kain\music\automation'''.&lt;br /&gt;
&lt;br /&gt;
* '''make_files.bat''': make Bloody Sounds .mp3 files and ZIP containing all OGG files&lt;br /&gt;
* '''make_html.bat''': make HTML code for Bloody Sounds page (russian)&lt;br /&gt;
* '''make_html_en.bat''': make HTML code for Bloody Sounds page (english)&lt;br /&gt;
&lt;br /&gt;
==Map automation==&lt;br /&gt;
There is many of temp files created during compilation. This files are: .prt, .srf, .autosave.map, .bad, .log, .pts.&lt;br /&gt;
&lt;br /&gt;
'''kain/maps/cleanup.bat''': remove all temporary files &lt;br /&gt;
&lt;br /&gt;
{{important|This script will remove all autosaves created for maps. Be careful!}}&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts</id>
		<title>Repository Reference/Automation scripts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts"/>
				<updated>2012-10-11T14:23:38Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Build terrain materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
Blood Omnicide repository contains a number of automation scripts used to make life easier by making some repeated actions. [[Repository Reference/Building a Game|Building a game chapter]] is one of the big automation scripts you already know about. This appendix chapter lists other automation scripts.&lt;br /&gt;
&lt;br /&gt;
==Materials automation==&lt;br /&gt;
Various scripts to help with materials, all scripts are located in '''kain/scripts/automation/'''&lt;br /&gt;
&lt;br /&gt;
===Build terrain materials===&lt;br /&gt;
Terrain materials in Blood Omnicide are already generated using about 20 terrain textures (rock, grass, ground etc.) and all combinations of materials (rock-grass, grass-ground, grass-rock etc.).&lt;br /&gt;
&lt;br /&gt;
All available terrain textures are listed in '''kain/scripts/terraintypes.txt'''&lt;br /&gt;
&lt;br /&gt;
* '''make_terrain_pics.cmd''': generate radiant/textures for materials (you need ImageMagick 6.6.7 Q8 installed in C:\Program Files (x86)\ImageMagick-6.6.7-Q8)&lt;br /&gt;
* '''make_terrain_shaders.cmd''': generate terrain textures_terrain.shader&lt;br /&gt;
&lt;br /&gt;
===Build shaderlist.txt===&lt;br /&gt;
File scripts/shaderlist.txt is used by map compiler and level editor to load .shader files. Whenever new material scripts are added, this file should be re-generated.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaderlist.cmd''': generate shaderlist.txt&lt;br /&gt;
&lt;br /&gt;
===Build skip shaders===&lt;br /&gt;
Level editor is dumb, it doesnt know what a normalmap is. So it shows normalmaps, specular textures, and all other additional textures in texture window. Which is incorrect. To prevent that a special material file is maked for level editor that flags all this textures as skipped. This script must be executed each time new normalmaps, specular and other additional textures get added.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaders_skip.cmd''': generate radiant/scripts/skip.shader&lt;br /&gt;
&lt;br /&gt;
==Music automation==&lt;br /&gt;
Music automation scritps is created to help with publishing new Bloody Sounds tracks. They are pretty simple. All scripts is located in '''kain\music\automation'''.&lt;br /&gt;
&lt;br /&gt;
* '''make_files.bat''': make Bloody Sounds .mp3 files and ZIP containing all OGG files&lt;br /&gt;
* '''make_html.bat''': make HTML code for Bloody Sounds page (russian)&lt;br /&gt;
* '''make_html_en.bat''': make HTML code for Bloody Sounds page (english)&lt;br /&gt;
&lt;br /&gt;
==Map automation==&lt;br /&gt;
There is many of temp files created during compilation. This files are: .prt, .srf, .autosave.map, .bad, .log, .pts.&lt;br /&gt;
&lt;br /&gt;
'''kain/maps/cleanup.bat''': remove all temporary files &lt;br /&gt;
&lt;br /&gt;
{{important|This script will remove all autosaves created for maps. Be careful!}}&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts</id>
		<title>Repository Reference/Automation scripts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts"/>
				<updated>2012-10-11T14:23:18Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Build shaderlist.txt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
Blood Omnicide repository contains a number of automation scripts used to make life easier by making some repeated actions. [[Repository Reference/Building a Game|Building a game chapter]] is one of the big automation scripts you already know about. This appendix chapter lists other automation scripts.&lt;br /&gt;
&lt;br /&gt;
==Materials automation==&lt;br /&gt;
Various scripts to help with materials, all scripts are located in '''kain/scripts/automation/'''&lt;br /&gt;
&lt;br /&gt;
===Build terrain materials===&lt;br /&gt;
Terrain materials in Blood Omnicide are already generated using about 20 terrain textures (rock, grass, ground etc.) and all combinations of materials (rock-grass, grass-ground, grass-rock etc.).&lt;br /&gt;
&lt;br /&gt;
All available terrain textures are listed in '''kain/scripts/terraintypes.txt'''&lt;br /&gt;
&lt;br /&gt;
* '''make_terrain_pics.cmd''': generates radiant/textures for materials (you need ImageMagick 6.6.7 Q8 installed in C:\Program Files (x86)\ImageMagick-6.6.7-Q8)&lt;br /&gt;
* '''make_terrain_shaders.cmd''': generates terrain textures_terrain.shader&lt;br /&gt;
&lt;br /&gt;
===Build shaderlist.txt===&lt;br /&gt;
File scripts/shaderlist.txt is used by map compiler and level editor to load .shader files. Whenever new material scripts are added, this file should be re-generated.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaderlist.cmd''': generate shaderlist.txt&lt;br /&gt;
&lt;br /&gt;
===Build skip shaders===&lt;br /&gt;
Level editor is dumb, it doesnt know what a normalmap is. So it shows normalmaps, specular textures, and all other additional textures in texture window. Which is incorrect. To prevent that a special material file is maked for level editor that flags all this textures as skipped. This script must be executed each time new normalmaps, specular and other additional textures get added.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaders_skip.cmd''': generate radiant/scripts/skip.shader&lt;br /&gt;
&lt;br /&gt;
==Music automation==&lt;br /&gt;
Music automation scritps is created to help with publishing new Bloody Sounds tracks. They are pretty simple. All scripts is located in '''kain\music\automation'''.&lt;br /&gt;
&lt;br /&gt;
* '''make_files.bat''': make Bloody Sounds .mp3 files and ZIP containing all OGG files&lt;br /&gt;
* '''make_html.bat''': make HTML code for Bloody Sounds page (russian)&lt;br /&gt;
* '''make_html_en.bat''': make HTML code for Bloody Sounds page (english)&lt;br /&gt;
&lt;br /&gt;
==Map automation==&lt;br /&gt;
There is many of temp files created during compilation. This files are: .prt, .srf, .autosave.map, .bad, .log, .pts.&lt;br /&gt;
&lt;br /&gt;
'''kain/maps/cleanup.bat''': remove all temporary files &lt;br /&gt;
&lt;br /&gt;
{{important|This script will remove all autosaves created for maps. Be careful!}}&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts</id>
		<title>Repository Reference/Automation scripts</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference/Automation_scripts"/>
				<updated>2012-10-11T14:22:26Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation title|}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
Blood Omnicide repository contains a number of automation scripts used to make life easier by making some repeated actions. [[Repository Reference/Building a Game|Building a game chapter]] is one of the big automation scripts you already know about. This appendix chapter lists other automation scripts.&lt;br /&gt;
&lt;br /&gt;
==Materials automation==&lt;br /&gt;
Various scripts to help with materials, all scripts are located in '''kain/scripts/automation/'''&lt;br /&gt;
&lt;br /&gt;
===Build terrain materials===&lt;br /&gt;
Terrain materials in Blood Omnicide are already generated using about 20 terrain textures (rock, grass, ground etc.) and all combinations of materials (rock-grass, grass-ground, grass-rock etc.).&lt;br /&gt;
&lt;br /&gt;
All available terrain textures are listed in '''kain/scripts/terraintypes.txt'''&lt;br /&gt;
&lt;br /&gt;
* '''make_terrain_pics.cmd''': generates radiant/textures for materials (you need ImageMagick 6.6.7 Q8 installed in C:\Program Files (x86)\ImageMagick-6.6.7-Q8)&lt;br /&gt;
* '''make_terrain_shaders.cmd''': generates terrain textures_terrain.shader&lt;br /&gt;
&lt;br /&gt;
===Build shaderlist.txt===&lt;br /&gt;
File scripts/shaderlist.txt is used by map compiler and level editor to load .shader files. When new material scripts is added, this files should be re-generated.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaderlist.cmd''': generate shaderlist.txt&lt;br /&gt;
&lt;br /&gt;
===Build skip shaders===&lt;br /&gt;
Level editor is dumb, it doesnt know what a normalmap is. So it shows normalmaps, specular textures, and all other additional textures in texture window. Which is incorrect. To prevent that a special material file is maked for level editor that flags all this textures as skipped. This script must be executed each time new normalmaps, specular and other additional textures get added.&lt;br /&gt;
&lt;br /&gt;
* '''make_shaders_skip.cmd''': generate radiant/scripts/skip.shader&lt;br /&gt;
&lt;br /&gt;
==Music automation==&lt;br /&gt;
Music automation scritps is created to help with publishing new Bloody Sounds tracks. They are pretty simple. All scripts is located in '''kain\music\automation'''.&lt;br /&gt;
&lt;br /&gt;
* '''make_files.bat''': make Bloody Sounds .mp3 files and ZIP containing all OGG files&lt;br /&gt;
* '''make_html.bat''': make HTML code for Bloody Sounds page (russian)&lt;br /&gt;
* '''make_html_en.bat''': make HTML code for Bloody Sounds page (english)&lt;br /&gt;
&lt;br /&gt;
==Map automation==&lt;br /&gt;
There is many of temp files created during compilation. This files are: .prt, .srf, .autosave.map, .bad, .log, .pts.&lt;br /&gt;
&lt;br /&gt;
'''kain/maps/cleanup.bat''': remove all temporary files &lt;br /&gt;
&lt;br /&gt;
{{important|This script will remove all autosaves created for maps. Be careful!}}&lt;br /&gt;
&lt;br /&gt;
{{navigation footer|}}&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Brush</id>
		<title>Brush</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Brush"/>
				<updated>2012-10-10T10:52:20Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{finished}}&lt;br /&gt;
[[File:Radiant brush.jpg|320px|right|thumb|Brush of the crypt entrance in NetRadiant]]&lt;br /&gt;
&lt;br /&gt;
A brush is a basic building block in a level. It is used primarily to define the physical structure of the area being designed. The term &amp;quot;brush&amp;quot; originally was used by Radiant to refer to anything that is not an entity, and therefore also encompasses [[patch mesh|patch meshes]] (which is different from CSG brush in both construction and texturing).&lt;br /&gt;
&lt;br /&gt;
A brush can be made to represent anything from solid matter (metal, dirt, wood, etc.) to liquids (lava, water, etc.) depending on the textures and materials applied to them. &lt;br /&gt;
&lt;br /&gt;
Brush is constructive solid geometry (CSG). It uses a form made of its sides and a volume which is anyting inside. CSG brushes are presented in Unreal Engine (1/2/3), Torgue engine, Cryengine 3. Hammer (native editor for Source engine games) is using it too. CSG is popular because a modeler can use a set of relatively simple objects to create very complicated geometry. User can revise their complex geometry by changing the position of objects or by changing brush attributes.&lt;br /&gt;
&lt;br /&gt;
== Shape ==&lt;br /&gt;
&lt;br /&gt;
Properly constructed brush follows this rules:&lt;br /&gt;
&lt;br /&gt;
* Has at least 3 sides&lt;br /&gt;
* Each side is plane forming polyhedron (maximum 16-24 corners)&lt;br /&gt;
* If sliced by the plane of any of its sides, the whole brush will be on one side of the plane&lt;br /&gt;
&lt;br /&gt;
{{Important|If modifying brush shape, all these rules must be followed. Radiant have tools to move/transform brush vertexes, sides and planes. If you apply transformation that will lead to CSG rules breakage, resulting brush will become invalid. For most cases Radiant does not allow you to do that.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Brush rules.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Texturing ==&lt;br /&gt;
&lt;br /&gt;
Since brush internal structure doesn't have vertices, it is using special projection technique to get texture mapping:&lt;br /&gt;
&lt;br /&gt;
# Texture gets projected from axis planes (XY, XZ, YZ) to the sides of the brush, optimal projection plane is selected by brush side orientation.&lt;br /&gt;
# Texture is rotated by plane's ''rotate'' parameter.&lt;br /&gt;
# Texture position is scaled by plane's ''stretch'' (x and y).&lt;br /&gt;
# Texture position is shifted by plane's ''offset'' (x and y).&lt;br /&gt;
# When using texture dimensions, positions are converted to texture coordinates.&lt;br /&gt;
&lt;br /&gt;
This leads to a number of limitations applied for brushes:&lt;br /&gt;
&lt;br /&gt;
* Rotating texture is tricky as no rotation origin is specified, this leads to texture breakage when brush is rotated to small angles (90 degrees rotation works fine).&lt;br /&gt;
* Texturing may break if texture resolution is changed (there is a material trick to bypass that).&lt;br /&gt;
&lt;br /&gt;
Along with limitations, there is a number of benefits:&lt;br /&gt;
&lt;br /&gt;
* No texture coordinates = no UVW unwrap work.&lt;br /&gt;
* A little easier to control [[texture detail]].&lt;br /&gt;
* No texture UV breakage when model is sliced/expanded.&lt;br /&gt;
* Can scale model with keeping original texture detail.&lt;br /&gt;
* Can modify brush in various ways with no texture breakage (make a wall longer for example).&lt;br /&gt;
&lt;br /&gt;
== Volume ==&lt;br /&gt;
&lt;br /&gt;
==== Brush contents ====&lt;br /&gt;
&lt;br /&gt;
Physics-related contents of the brush. Could be one of the following:&lt;br /&gt;
&lt;br /&gt;
* Solid&lt;br /&gt;
* Non-solid&lt;br /&gt;
* Water&lt;br /&gt;
* Slime&lt;br /&gt;
* Lava&lt;br /&gt;
* Sky&lt;br /&gt;
&lt;br /&gt;
Brush contents are defined from the materials brush has on its sides. Usually all brush sides must have same contents (mixed contents will give a compiler warning and could lead to bugged behavior).&lt;br /&gt;
&lt;br /&gt;
==== VIS transparency ====&lt;br /&gt;
&lt;br /&gt;
This is not real transparency but any brush that does not provide structure/seal to a room, and merely is there to detail the room.&lt;br /&gt;
&lt;br /&gt;
Detail brushes (Radiant feature) and [[BModel | bmodels]] are always 'transparent'.&lt;br /&gt;
&lt;br /&gt;
Also if a brush have sides marked detailed or transparent, it will be forced transparent.&lt;br /&gt;
&lt;br /&gt;
== Brush vs Patch mesh vs Triangle model ==&lt;br /&gt;
&lt;br /&gt;
Brushes are essential when making:&lt;br /&gt;
* Geometry that requires a volume to function properly (water, triggers).&lt;br /&gt;
* Level hull structure (the geometry that forms [[VIS]] portal tree). &lt;br /&gt;
* Geometry used to connect rooms together.&lt;br /&gt;
&lt;br /&gt;
Brushes are good when making:&lt;br /&gt;
* Simple detail objects used to cover corners and connect parts of level together.&lt;br /&gt;
* Semi-complex objects, which are derived version of some generic object (think house or other building) but with altered proportions/moved walls. &lt;br /&gt;
* Geometry that is more convenient to make with brushes (using it's features - CSG operators, projection texturing and ability to be edited in level editor).&lt;br /&gt;
&lt;br /&gt;
For all other cases, [[patch mesh|patch meshes]] and triangle models are better and easier alternative to work with.&lt;br /&gt;
&lt;br /&gt;
Some examples of good and bad usage of brushes:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=2 border=1 style=&amp;quot;width:100%;border-collapse:collapse&amp;quot;&lt;br /&gt;
| width=10% | Room floors&lt;br /&gt;
| width=10% | &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| width=80% | Most of room floors are part of world hull. It is useful to edit them inside radiant. For physics floors have priority because gravity always make object to fall, so high mathematical precision of brushes will help with making physics more stable.&lt;br /&gt;
|-&lt;br /&gt;
| Walls&lt;br /&gt;
| &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Same as for the floor. Walls are part of map hull and when working with map, you ofter reconfigure your walls. &lt;br /&gt;
|-&lt;br /&gt;
| Statue&lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Since complex models are broken into many brushes, it is hard to control texturing on them. Also texture projection is only capable of making simple UV. So you statue will be either crude or take insane amount of time to build with brushes.&lt;br /&gt;
|-&lt;br /&gt;
| Chair&lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Same as for statue. Chair is too complex for brushes. It is easier to make it with misc_gamemodel.&lt;br /&gt;
|-&lt;br /&gt;
| Terrain &lt;br /&gt;
| &amp;lt;font color=orange&amp;gt;May be good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Small chunks of terrain are good to make with brushes, as they can be reconfigured in editor and don't require working with exporting/importing as for models. Brushes are also part of the .map file, so they don't generate any external files. Vertex alpha should be handled by colormod brushes. The big landscapes are not good to make with brushes, because big terrain takes 5000+ brushes and per-brush works is quite ineffective for it.&lt;br /&gt;
|-&lt;br /&gt;
| House &lt;br /&gt;
| &amp;lt;font color=orange&amp;gt;May be good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Since brush have projection texturing, its easy to move house walls/alter its height without texture breakage, which may be easy way to make villages. But house is a complex object, and making it with brushes may get hard and ineffective, depending on house design. So it's up to designer whether use brushes or triangle models for buildings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Radiant/Glossary|Radiant glossary]]&lt;br /&gt;
* [[BModel]]&lt;br /&gt;
* [[BSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{grammar checked|darth}}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Brush</id>
		<title>Brush</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Brush"/>
				<updated>2012-10-10T10:51:27Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Brush vs Patch mesh vs Triangle model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{finished}}&lt;br /&gt;
[[File:Radiant brush.jpg|320px|right|thumb|Brush of the crypt entrance in NetRadiant]]&lt;br /&gt;
&lt;br /&gt;
A brush is a basic building block in a level. It is used primarily to define the physical structure of the area being designed. The term &amp;quot;brush&amp;quot; originally was used by Radiant to refer to anything that is not an entity, and therefore also encompasses [[patch mesh|patch meshes]] (which is different from CSG brush in both construction and texturing).&lt;br /&gt;
&lt;br /&gt;
A brush can be made to represent anything from solid matter (metal, dirt, wood, etc.) to liquids (lava, water, etc.) depending on the textures and materials applied to them. &lt;br /&gt;
&lt;br /&gt;
Brush is constructive solid geometry (CSG). It uses a form made of its sides and a volume which is anyting inside. CSG brushes are presented in Unreal Engine (1/2/3), Torgue engine, Cryengine 3. Hammer (native editor for Source engine games) is using it too. CSG is popular because a modeler can use a set of relatively simple objects to create very complicated geometry. User can revise their complex geometry by changing the position of objects or by changing brush attributes.&lt;br /&gt;
&lt;br /&gt;
== Shape ==&lt;br /&gt;
&lt;br /&gt;
Properly constructed brush follows this rules:&lt;br /&gt;
&lt;br /&gt;
* Has at least 3 sides&lt;br /&gt;
* Each side is plane forming polyhedron (maximum 16-24 corners)&lt;br /&gt;
* If sliced by the plane of any of its sides, the whole brush will be on one side of the plane&lt;br /&gt;
&lt;br /&gt;
{{Important|If modifying brush shape, all these rules must be followed. Radiant have tools to move/transform brush vertexes, sides and planes. If you apply transformation that will lead to CSG rules breakage, resulting brush will become invalid. For most cases Radiant does not allow you to do that.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Brush rules.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Texturing ==&lt;br /&gt;
&lt;br /&gt;
Since brush internal structure doesn't have vertices, it is using special projection technique to get texture mapping:&lt;br /&gt;
&lt;br /&gt;
# Texture gets projected from axis planes (XY, XZ, YZ) to the sides of the brush, optimal projection plane is selected by brush side orientation.&lt;br /&gt;
# Texture is rotated by plane's ''rotate'' parameter.&lt;br /&gt;
# Texture position is scaled by plane's ''stretch'' (x and y).&lt;br /&gt;
# Texture position is shifted by plane's ''offset'' (x and y).&lt;br /&gt;
# When using texture dimensions, positions are converted to texture coordinates.&lt;br /&gt;
&lt;br /&gt;
This leads to a number of limitations applied for brushes:&lt;br /&gt;
&lt;br /&gt;
* Rotating texture is tricky as no rotation origin is specified, this leads to texture breakage when brush is rotated to small angles (90 degrees rotation works fine).&lt;br /&gt;
* Texturing may break if texture resolution is changed (there is a material trick to bypass that).&lt;br /&gt;
&lt;br /&gt;
Along with limitations, there is a number of benefits:&lt;br /&gt;
&lt;br /&gt;
* No texture coordinates = no UVW unwrap work.&lt;br /&gt;
* A little easier to control [[texture detail]].&lt;br /&gt;
* No texture UV breakage when model is sliced/expanded.&lt;br /&gt;
* Can scale model with keeping original texture detail.&lt;br /&gt;
* Can modify brush in various ways with no texture breakage (make a wall longer for example).&lt;br /&gt;
&lt;br /&gt;
== Volume ==&lt;br /&gt;
&lt;br /&gt;
==== Brush contents ====&lt;br /&gt;
&lt;br /&gt;
Physics-related contents of the brush. Could be one of the following:&lt;br /&gt;
&lt;br /&gt;
* Solid&lt;br /&gt;
* Non-solid&lt;br /&gt;
* Water&lt;br /&gt;
* Slime&lt;br /&gt;
* Lava&lt;br /&gt;
* Sky&lt;br /&gt;
&lt;br /&gt;
Brush contents are defined from the materials brush has on its sides. Usually all brush sides must have same contents (mixed contents will give a compiler warning and could lead to bugged behavior).&lt;br /&gt;
&lt;br /&gt;
==== VIS transparency ====&lt;br /&gt;
&lt;br /&gt;
This is not real transparency but any brush that does not provide structure/seal to a room, and merely is there to detail the room.&lt;br /&gt;
&lt;br /&gt;
Detail brushes (Radiant feature) and [[BModel | bmodels]] are always 'transparent'.&lt;br /&gt;
&lt;br /&gt;
Also if a brush have sides marked detailed or transparent, it will be forced transparent.&lt;br /&gt;
&lt;br /&gt;
== Brush vs Patch mesh vs Triangle model ==&lt;br /&gt;
&lt;br /&gt;
Brushes are essential when making:&lt;br /&gt;
* Geometry that requires a volume to function properly (water, triggers).&lt;br /&gt;
* Level hull structure (the geometry that forms [[VIS]] portal tree). &lt;br /&gt;
* Geometry used to connect rooms together.&lt;br /&gt;
&lt;br /&gt;
Brushes are good when making:&lt;br /&gt;
* Simple detail objects used to cover corners and connect parts of level together.&lt;br /&gt;
* Semi-complex objects, which are derived version of some generic object (think house or other building) but with altered proportions/moved walls. &lt;br /&gt;
* Geometry that is more convenient to make with brushes (using it's features - CSG operators, projection texturing and ability to be edited in level editor).&lt;br /&gt;
&lt;br /&gt;
For all other cases, [[patch mesh|patch meshes]] and triangle models are better and easier alternative to work with.&lt;br /&gt;
&lt;br /&gt;
Some examples of good and bad usage of brushes:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=2 border=1 style=&amp;quot;width:100%;border-collapse:collapse&amp;quot;&lt;br /&gt;
| width=10% | Room floors&lt;br /&gt;
| width=10% | &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| width=80% | Most of room floors are part of world hull. It is useful to edit them inside radiant. For physics floors have priority because gravity always make object to fall, so high mathematical precision of brushes will help with making physics more stable.&lt;br /&gt;
|-&lt;br /&gt;
| Walls&lt;br /&gt;
| &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Same as for the floor. Walls are part of map hull and when working with map, you ofter reconfigure your walls. &lt;br /&gt;
|-&lt;br /&gt;
| Statue&lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Since complex models are broken into many brushes, it is hard to control texturing on them. Also texture projection is only capable of making simple UV. So you statue will be either crude or take insane amount of time to build with brushes.&lt;br /&gt;
|-&lt;br /&gt;
| Chair&lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Same as for statue. Chair is too complex for brushes. It is easier to make it with misc_gamemodel.&lt;br /&gt;
|-&lt;br /&gt;
| Terrain &lt;br /&gt;
| &amp;lt;font color=orange&amp;gt;May be good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Small chunks of terrain are good to make with brushes, as they can be reconfigured in editor and don't require working with exporting/importing as for models. Brushes are also part of the .map file, so they don't generate any external files. Vertex alpha should be handled by colormod brushes. The big landscapes are not good to make with brushes, because big terrain takes 5000+ brushes and per-brush works is quite ineffective for it.&lt;br /&gt;
|-&lt;br /&gt;
| House &lt;br /&gt;
| &amp;lt;font color=orange&amp;gt;May be good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Since brush have projection texturing, its easy to move house walls/alter its height without texture breakage, which may be easy way to make villages. But house is a complex object, and making it with brushes may get hard and ineffective, depending on house design. So it's up to designer whether use brushes or triangle models for buildings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Radiant/Glossary|Radiant glossary]]&lt;br /&gt;
* [[BModel]]&lt;br /&gt;
* [[BSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{grammar}}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Brush</id>
		<title>Brush</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Brush"/>
				<updated>2012-10-10T10:21:05Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* VIS transparency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{finished}}&lt;br /&gt;
[[File:Radiant brush.jpg|320px|right|thumb|Brush of the crypt entrance in NetRadiant]]&lt;br /&gt;
&lt;br /&gt;
A brush is a basic building block in a level. It is used primarily to define the physical structure of the area being designed. The term &amp;quot;brush&amp;quot; originally was used by Radiant to refer to anything that is not an entity, and therefore also encompasses [[patch mesh|patch meshes]] (which is different from CSG brush in both construction and texturing).&lt;br /&gt;
&lt;br /&gt;
A brush can be made to represent anything from solid matter (metal, dirt, wood, etc.) to liquids (lava, water, etc.) depending on the textures and materials applied to them. &lt;br /&gt;
&lt;br /&gt;
Brush is constructive solid geometry (CSG). It uses a form made of its sides and a volume which is anyting inside. CSG brushes are presented in Unreal Engine (1/2/3), Torgue engine, Cryengine 3. Hammer (native editor for Source engine games) is using it too. CSG is popular because a modeler can use a set of relatively simple objects to create very complicated geometry. User can revise their complex geometry by changing the position of objects or by changing brush attributes.&lt;br /&gt;
&lt;br /&gt;
=== Shape ===&lt;br /&gt;
&lt;br /&gt;
Properly constructed brush follows this rules:&lt;br /&gt;
&lt;br /&gt;
* Has at least 3 sides&lt;br /&gt;
* Each side is plane forming polyhedron (maximum 16-24 corners)&lt;br /&gt;
* If sliced by the plane of any of its sides, the whole brush will be on one side of the plane&lt;br /&gt;
&lt;br /&gt;
{{Important|If modifying brush shape, all these rules must be followed. Radiant have tools to move/transform brush vertexes, sides and planes. If you apply transformation that will lead to CSG rules breakage, resulting brush will become invalid. For most cases Radiant does not allow you to do that.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Brush rules.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Texturing ===&lt;br /&gt;
&lt;br /&gt;
Since brush internal structure doesn't have vertices, it is using special projection technique to get texture mapping:&lt;br /&gt;
&lt;br /&gt;
# Texture gets projected from axis planes (XY, XZ, YZ) to the sides of the brush, optimal projection plane is selected by brush side orientation.&lt;br /&gt;
# Texture is rotated by plane's ''rotate'' parameter.&lt;br /&gt;
# Texture position is scaled by plane's ''stretch'' (x and y).&lt;br /&gt;
# Texture position is shifted by plane's ''offset'' (x and y).&lt;br /&gt;
# When using texture dimensions, positions are converted to texture coordinates.&lt;br /&gt;
&lt;br /&gt;
This leads to a number of limitations applied for brushes:&lt;br /&gt;
&lt;br /&gt;
* Rotating texture is tricky as no rotation origin is specified, this leads to texture breakage when brush is rotated to small angles (90 degrees rotation works fine).&lt;br /&gt;
* Texturing may brake if texture resolution is changed (there is a material trick to bypass that).&lt;br /&gt;
&lt;br /&gt;
Along with limitations, there is a number of benefits:&lt;br /&gt;
&lt;br /&gt;
* No texture coordinates = no UVW unwrap work.&lt;br /&gt;
* A little easier to control [[texture detail]].&lt;br /&gt;
* No texture UV breakage when model is sliced/expanded.&lt;br /&gt;
* Can scale model with keeping original texture detail.&lt;br /&gt;
* Can modify brush in various ways with no texture breakage (make a wall longer for example).&lt;br /&gt;
&lt;br /&gt;
=== Volume ===&lt;br /&gt;
&lt;br /&gt;
==== Brush contents ====&lt;br /&gt;
&lt;br /&gt;
Physics-related contents of the brush. Could be one of the following:&lt;br /&gt;
&lt;br /&gt;
* Solid&lt;br /&gt;
* Non-solid&lt;br /&gt;
* Water&lt;br /&gt;
* Slime&lt;br /&gt;
* Lava&lt;br /&gt;
* Sky&lt;br /&gt;
&lt;br /&gt;
Brush contents are defined from the materials brush has on its sides. Usually all brush sides must have same contents (mixed contents will give a compiler warning and could lead to bugged behavior).&lt;br /&gt;
&lt;br /&gt;
==== VIS transparency ====&lt;br /&gt;
&lt;br /&gt;
This is not real transparency but any brush that does not provide structure/seal to a room, and merely is there to detail the room.&lt;br /&gt;
&lt;br /&gt;
Detail brushes (Radiant feature) and [[BModel | bmodels]] are always 'transparent'.&lt;br /&gt;
&lt;br /&gt;
Also if a brush have sides marked detailed or transparent, it will be forced transparent.&lt;br /&gt;
&lt;br /&gt;
=== Brush vs Patch mesh vs Triangle model ===&lt;br /&gt;
&lt;br /&gt;
Brushes are essential things to make:&lt;br /&gt;
* Geometry that requires a volume to function properly (water, triggers)&lt;br /&gt;
* Level hull structure (the geometry that forms [[VIS]] portal tree) &lt;br /&gt;
* Geometry used to connect rooms together.&lt;br /&gt;
&lt;br /&gt;
Brushes are good things to make:&lt;br /&gt;
* Simple detail objects used to cover corners and connect parts of level together&lt;br /&gt;
* Semi-complex objects, which are derived version of some generic object (think house or other building) but with altered proportions/moved walls. &lt;br /&gt;
* Geometry that is more convenient to make with brushes (using it's features - CSG operators, projection texturing and ability to be edited in level editor)&lt;br /&gt;
&lt;br /&gt;
For all other cases, [[patch mesh|patch meshes]] and triangle models are better and more easier alternative to work with.&lt;br /&gt;
&lt;br /&gt;
Some examples of good and bad usage of brushes:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=2 border=1 style=&amp;quot;width:100%;border-collapse:collapse&amp;quot;&lt;br /&gt;
| width=10% | Room floors&lt;br /&gt;
| width=10% | &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| width=80% | Most of room floors are part of world hull. It is useful to edit them inside radiant. For physics floors have priority because gravity always make object to fall, so high mathematical precision of brushes will help with making physics more stable.&lt;br /&gt;
|-&lt;br /&gt;
| Walls&lt;br /&gt;
| &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Same as for the floor. Walls are part of map hull and when working with map, you are ofter reconfiguring your walls. &lt;br /&gt;
|-&lt;br /&gt;
| Statue&lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Since complex models are broken into many brushes, it is hard to control texturing on them. Also texture projection is only capable of making simple UV. So you statue withg be either crude or will take insane abount of time to build with brushes.&lt;br /&gt;
|-&lt;br /&gt;
| Chair&lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Same as for statue. Chair is too complex for brushes. It is easier to make it with misc_gamemodel.&lt;br /&gt;
|-&lt;br /&gt;
| Terrain &lt;br /&gt;
| &amp;lt;font color=orange&amp;gt;may be good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Small chunks of terrain is good to make with brushes, as they can be reconfigured in editor and dont need a works with exporting/importing as for models. Brushes also part of the .map file, so it dont generates any external files. Vertex alpha should be handled by colormod brushes. The big landscapes is not good to make with brushes, because big terrain takes 5000+ brushes and per-brush works is quite uneffective for it.&lt;br /&gt;
|-&lt;br /&gt;
| House &lt;br /&gt;
| &amp;lt;font color=orange&amp;gt;may be good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Since brush have projection texturing, its easy to move house walls/alter it's height without texture breakage, which may be easy way to make villages. But house is complex object, and making it with brushes may get hard and uneffective, depending on house design. So it's up to designer whether use brushes or triangle models for buildings.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Radiant Glossary]]&lt;br /&gt;
* [[BModel]]&lt;br /&gt;
* [[BSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{grammar}}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Brush</id>
		<title>Brush</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Brush"/>
				<updated>2012-10-10T09:59:30Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Brush contents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{finished}}&lt;br /&gt;
[[File:Radiant brush.jpg|320px|right|thumb|Brush of the crypt entrance in NetRadiant]]&lt;br /&gt;
&lt;br /&gt;
A brush is a basic building block in a level. It is used primarily to define the physical structure of the area being designed. The term &amp;quot;brush&amp;quot; originally was used by Radiant to refer to anything that is not an entity, and therefore also encompasses [[patch mesh|patch meshes]] (which is different from CSG brush in both construction and texturing).&lt;br /&gt;
&lt;br /&gt;
A brush can be made to represent anything from solid matter (metal, dirt, wood, etc.) to liquids (lava, water, etc.) depending on the textures and materials applied to them. &lt;br /&gt;
&lt;br /&gt;
Brush is constructive solid geometry (CSG). It uses a form made of its sides and a volume which is anyting inside. CSG brushes are presented in Unreal Engine (1/2/3), Torgue engine, Cryengine 3. Hammer (native editor for Source engine games) is using it too. CSG is popular because a modeler can use a set of relatively simple objects to create very complicated geometry. User can revise their complex geometry by changing the position of objects or by changing brush attributes.&lt;br /&gt;
&lt;br /&gt;
=== Shape ===&lt;br /&gt;
&lt;br /&gt;
Properly constructed brush follows this rules:&lt;br /&gt;
&lt;br /&gt;
* Has at least 3 sides&lt;br /&gt;
* Each side is plane forming polyhedron (maximum 16-24 corners)&lt;br /&gt;
* If sliced by the plane of any of its sides, the whole brush will be on one side of the plane&lt;br /&gt;
&lt;br /&gt;
{{Important|If modifying brush shape, all these rules must be followed. Radiant have tools to move/transform brush vertexes, sides and planes. If you apply transformation that will lead to CSG rules breakage, resulting brush will become invalid. For most cases Radiant does not allow you to do that.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Brush rules.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Texturing ===&lt;br /&gt;
&lt;br /&gt;
Since brush internal structure doesn't have vertices, it is using special projection technique to get texture mapping:&lt;br /&gt;
&lt;br /&gt;
# Texture gets projected from axis planes (XY, XZ, YZ) to the sides of the brush, optimal projection plane is selected by brush side orientation.&lt;br /&gt;
# Texture is rotated by plane's ''rotate'' parameter.&lt;br /&gt;
# Texture position is scaled by plane's ''stretch'' (x and y).&lt;br /&gt;
# Texture position is shifted by plane's ''offset'' (x and y).&lt;br /&gt;
# When using texture dimensions, positions are converted to texture coordinates.&lt;br /&gt;
&lt;br /&gt;
This leads to a number of limitations applied for brushes:&lt;br /&gt;
&lt;br /&gt;
* Rotating texture is tricky as no rotation origin is specified, this leads to texture breakage when brush is rotated to small angles (90 degrees rotation works fine).&lt;br /&gt;
* Texturing may brake if texture resolution is changed (there is a material trick to bypass that).&lt;br /&gt;
&lt;br /&gt;
Along with limitations, there is a number of benefits:&lt;br /&gt;
&lt;br /&gt;
* No texture coordinates = no UVW unwrap work.&lt;br /&gt;
* A little easier to control [[texture detail]].&lt;br /&gt;
* No texture UV breakage when model is sliced/expanded.&lt;br /&gt;
* Can scale model with keeping original texture detail.&lt;br /&gt;
* Can modify brush in various ways with no texture breakage (make a wall longer for example).&lt;br /&gt;
&lt;br /&gt;
=== Volume ===&lt;br /&gt;
&lt;br /&gt;
==== Brush contents ====&lt;br /&gt;
&lt;br /&gt;
Physics-related contents of the brush. Could be one of the following:&lt;br /&gt;
&lt;br /&gt;
* Solid&lt;br /&gt;
* Non-solid&lt;br /&gt;
* Water&lt;br /&gt;
* Slime&lt;br /&gt;
* Lava&lt;br /&gt;
* Sky&lt;br /&gt;
&lt;br /&gt;
Brush contents are defined from the materials brush has on its sides. Usually all brush sides must have same contents (mixed contents will give a compiler warning and could lead to bugged behavior).&lt;br /&gt;
&lt;br /&gt;
==== VIS transparency ====&lt;br /&gt;
&lt;br /&gt;
This is not real transparency but any brush that does not provide structure/seal to a room, and merely is there to detail the room.&lt;br /&gt;
&lt;br /&gt;
Detail brushes (Radiant feature) and [[BModel | bmodels]] are always 'transparent'.&lt;br /&gt;
&lt;br /&gt;
Also if brush have sides which is marked detailed or transparent, it will be forced transparent.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
Brushes are essential thing to make geometry that requires a volume to function properly (water, triggers), level hull structure (the geometry that forms [[VIS]] portal tree) and grude procedural geometry which is used to connect rooms together. It can also be used to create semi-complex geometry on detail objects. For quite complex and small objects, [[patch mesh|patch meshes]] and triangle models are better and more easier to make.&lt;br /&gt;
&lt;br /&gt;
Examples of usage:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=2 style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
| width=5% align=right | Room floors&lt;br /&gt;
| width=10% | &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| width=85% | Most of room floors are part of world hull. It is useful to edit them inside radiant. For physics floors have priority because gravity always make object to fall, so high mathematical precision of brushes will help with making physics more stable.&lt;br /&gt;
|-&lt;br /&gt;
| align=right | Walls: &lt;br /&gt;
| &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Description is pretty same as for the floor. Walls are part of map hull and when working with map, you are ofter reconfiguring your walls. &lt;br /&gt;
|-&lt;br /&gt;
| align=right | Statue: &lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Since complex models are broken into many brushes, it is hard to control texturing on them. Also texture projection is only capable of making simple UV. So you statue withg be either crude or will take insane abount of time to build with brushes.&lt;br /&gt;
|-&lt;br /&gt;
| align=right | Chair: &lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Actually its pretty same as for statue. Chair is too complex for brushes, and also it's pretty stock at its form. So its easier to make it with misc_gamemodel.&lt;br /&gt;
|-&lt;br /&gt;
| align=right | Terrain: &lt;br /&gt;
| &amp;lt;font color=orange&amp;gt;may be good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Small chunks of terrain is good to make with brushes, as they can be reconfigured in editor and dont need a works with exporting/importing as for models. Brushes also part of the .map file, so it dont generates any external files. Vertex alpha should be handled by colormod brushes. The big landscapes is not good to make with brushes, because big terrain takes 5000+ brushes and per-brush works is quite uneffective for it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Radiant Glossary]]&lt;br /&gt;
* [[BModel]]&lt;br /&gt;
* [[BSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{grammar}}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Brush</id>
		<title>Brush</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Brush"/>
				<updated>2012-10-10T09:56:38Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Texturing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{finished}}&lt;br /&gt;
[[File:Radiant brush.jpg|320px|right|thumb|Brush of the crypt entrance in NetRadiant]]&lt;br /&gt;
&lt;br /&gt;
A brush is a basic building block in a level. It is used primarily to define the physical structure of the area being designed. The term &amp;quot;brush&amp;quot; originally was used by Radiant to refer to anything that is not an entity, and therefore also encompasses [[patch mesh|patch meshes]] (which is different from CSG brush in both construction and texturing).&lt;br /&gt;
&lt;br /&gt;
A brush can be made to represent anything from solid matter (metal, dirt, wood, etc.) to liquids (lava, water, etc.) depending on the textures and materials applied to them. &lt;br /&gt;
&lt;br /&gt;
Brush is constructive solid geometry (CSG). It uses a form made of its sides and a volume which is anyting inside. CSG brushes are presented in Unreal Engine (1/2/3), Torgue engine, Cryengine 3. Hammer (native editor for Source engine games) is using it too. CSG is popular because a modeler can use a set of relatively simple objects to create very complicated geometry. User can revise their complex geometry by changing the position of objects or by changing brush attributes.&lt;br /&gt;
&lt;br /&gt;
=== Shape ===&lt;br /&gt;
&lt;br /&gt;
Properly constructed brush follows this rules:&lt;br /&gt;
&lt;br /&gt;
* Has at least 3 sides&lt;br /&gt;
* Each side is plane forming polyhedron (maximum 16-24 corners)&lt;br /&gt;
* If sliced by the plane of any of its sides, the whole brush will be on one side of the plane&lt;br /&gt;
&lt;br /&gt;
{{Important|If modifying brush shape, all these rules must be followed. Radiant have tools to move/transform brush vertexes, sides and planes. If you apply transformation that will lead to CSG rules breakage, resulting brush will become invalid. For most cases Radiant does not allow you to do that.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Brush rules.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Texturing ===&lt;br /&gt;
&lt;br /&gt;
Since brush internal structure doesn't have vertices, it is using special projection technique to get texture mapping:&lt;br /&gt;
&lt;br /&gt;
# Texture gets projected from axis planes (XY, XZ, YZ) to the sides of the brush, optimal projection plane is selected by brush side orientation.&lt;br /&gt;
# Texture is rotated by plane's ''rotate'' parameter.&lt;br /&gt;
# Texture position is scaled by plane's ''stretch'' (x and y).&lt;br /&gt;
# Texture position is shifted by plane's ''offset'' (x and y).&lt;br /&gt;
# When using texture dimensions, positions are converted to texture coordinates.&lt;br /&gt;
&lt;br /&gt;
This leads to a number of limitations applied for brushes:&lt;br /&gt;
&lt;br /&gt;
* Rotating texture is tricky as no rotation origin is specified, this leads to texture breakage when brush is rotated to small angles (90 degrees rotation works fine).&lt;br /&gt;
* Texturing may brake if texture resolution is changed (there is a material trick to bypass that).&lt;br /&gt;
&lt;br /&gt;
Along with limitations, there is a number of benefits:&lt;br /&gt;
&lt;br /&gt;
* No texture coordinates = no UVW unwrap work.&lt;br /&gt;
* A little easier to control [[texture detail]].&lt;br /&gt;
* No texture UV breakage when model is sliced/expanded.&lt;br /&gt;
* Can scale model with keeping original texture detail.&lt;br /&gt;
* Can modify brush in various ways with no texture breakage (make a wall longer for example).&lt;br /&gt;
&lt;br /&gt;
=== Volume ===&lt;br /&gt;
&lt;br /&gt;
==== Brush contents ====&lt;br /&gt;
&lt;br /&gt;
Physics-related contents of the brush. Could be one of the followed:&lt;br /&gt;
&lt;br /&gt;
* Solid&lt;br /&gt;
* Non-solid&lt;br /&gt;
* Water&lt;br /&gt;
* Slime&lt;br /&gt;
* Lava&lt;br /&gt;
* Sky&lt;br /&gt;
&lt;br /&gt;
Brush contents are defined from the materials brush have on it's sides. Usually all brush sides must have same contents (mixed contents will give a compiler warning and could lead to bugged behavior).&lt;br /&gt;
&lt;br /&gt;
==== VIS transparency ====&lt;br /&gt;
&lt;br /&gt;
This is not real transparency but any brush that does not provide structure/seal to a room, and merely is there to detail the room.&lt;br /&gt;
&lt;br /&gt;
Detail brushes (Radiant feature) and [[BModel | bmodels]] are always 'transparent'.&lt;br /&gt;
&lt;br /&gt;
Also if brush have sides which is marked detailed or transparent, it will be forced transparent.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
Brushes are essential thing to make geometry that requires a volume to function properly (water, triggers), level hull structure (the geometry that forms [[VIS]] portal tree) and grude procedural geometry which is used to connect rooms together. It can also be used to create semi-complex geometry on detail objects. For quite complex and small objects, [[patch mesh|patch meshes]] and triangle models are better and more easier to make.&lt;br /&gt;
&lt;br /&gt;
Examples of usage:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=2 style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
| width=5% align=right | Room floors&lt;br /&gt;
| width=10% | &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| width=85% | Most of room floors are part of world hull. It is useful to edit them inside radiant. For physics floors have priority because gravity always make object to fall, so high mathematical precision of brushes will help with making physics more stable.&lt;br /&gt;
|-&lt;br /&gt;
| align=right | Walls: &lt;br /&gt;
| &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Description is pretty same as for the floor. Walls are part of map hull and when working with map, you are ofter reconfiguring your walls. &lt;br /&gt;
|-&lt;br /&gt;
| align=right | Statue: &lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Since complex models are broken into many brushes, it is hard to control texturing on them. Also texture projection is only capable of making simple UV. So you statue withg be either crude or will take insane abount of time to build with brushes.&lt;br /&gt;
|-&lt;br /&gt;
| align=right | Chair: &lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Actually its pretty same as for statue. Chair is too complex for brushes, and also it's pretty stock at its form. So its easier to make it with misc_gamemodel.&lt;br /&gt;
|-&lt;br /&gt;
| align=right | Terrain: &lt;br /&gt;
| &amp;lt;font color=orange&amp;gt;may be good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Small chunks of terrain is good to make with brushes, as they can be reconfigured in editor and dont need a works with exporting/importing as for models. Brushes also part of the .map file, so it dont generates any external files. Vertex alpha should be handled by colormod brushes. The big landscapes is not good to make with brushes, because big terrain takes 5000+ brushes and per-brush works is quite uneffective for it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Radiant Glossary]]&lt;br /&gt;
* [[BModel]]&lt;br /&gt;
* [[BSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{grammar}}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Brush</id>
		<title>Brush</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Brush"/>
				<updated>2012-10-10T09:51:40Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{finished}}&lt;br /&gt;
[[File:Radiant brush.jpg|320px|right|thumb|Brush of the crypt entrance in NetRadiant]]&lt;br /&gt;
&lt;br /&gt;
A brush is a basic building block in a level. It is used primarily to define the physical structure of the area being designed. The term &amp;quot;brush&amp;quot; originally was used by Radiant to refer to anything that is not an entity, and therefore also encompasses [[patch mesh|patch meshes]] (which is different from CSG brush in both construction and texturing).&lt;br /&gt;
&lt;br /&gt;
A brush can be made to represent anything from solid matter (metal, dirt, wood, etc.) to liquids (lava, water, etc.) depending on the textures and materials applied to them. &lt;br /&gt;
&lt;br /&gt;
Brush is constructive solid geometry (CSG). It uses a form made of its sides and a volume which is anyting inside. CSG brushes are presented in Unreal Engine (1/2/3), Torgue engine, Cryengine 3. Hammer (native editor for Source engine games) is using it too. CSG is popular because a modeler can use a set of relatively simple objects to create very complicated geometry. User can revise their complex geometry by changing the position of objects or by changing brush attributes.&lt;br /&gt;
&lt;br /&gt;
=== Shape ===&lt;br /&gt;
&lt;br /&gt;
Properly constructed brush follows this rules:&lt;br /&gt;
&lt;br /&gt;
* Has at least 3 sides&lt;br /&gt;
* Each side is plane forming polyhedron (maximum 16-24 corners)&lt;br /&gt;
* If sliced by the plane of any of its sides, the whole brush will be on one side of the plane&lt;br /&gt;
&lt;br /&gt;
{{Important|If modifying brush shape, all these rules must be followed. Radiant have tools to move/transform brush vertexes, sides and planes. If you apply transformation that will lead to CSG rules breakage, resulting brush will become invalid. For most cases Radiant does not allow you to do that.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Brush rules.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Texturing ===&lt;br /&gt;
&lt;br /&gt;
Since brush internal structure doesn't have vertices, it is using special projection technique to get texture mapping:&lt;br /&gt;
&lt;br /&gt;
# Texture get projected from axis planes (XY, XZ, YZ) to the sides of the brush, optimal projection plane is selected by brush side orientation.&lt;br /&gt;
# Texture is rotated by plane's ''rotate'' parameter.&lt;br /&gt;
# Texture position is scaled by plane's ''stretch'' (x and y).&lt;br /&gt;
# Texture position is shifted by plane's ''offset'' (x and y).&lt;br /&gt;
# When using texture dimensions, positions are converted to texture coordinates.&lt;br /&gt;
&lt;br /&gt;
This leads to a number of limitations applied for brushes:&lt;br /&gt;
&lt;br /&gt;
* Rotating texture is tricky as no rotation origin is specified, this leads to texture breakage when brush is rotated to small angles (90 degrees rotation work fine)&lt;br /&gt;
* Texturing may brake if texture resolution is changed (there is a material trick to bypass that)&lt;br /&gt;
&lt;br /&gt;
Along with limitations, there is a number of benefits:&lt;br /&gt;
&lt;br /&gt;
* No texture coordinates = no UVW unwrap work.&lt;br /&gt;
* A little easier to control [[texture detail]].&lt;br /&gt;
* No texture UV breakage when model is sliced/expanded.&lt;br /&gt;
* Can scale model with keeping original texture detail.&lt;br /&gt;
* Can modify brush in various ways with no texture breakage (make wall longer for example).&lt;br /&gt;
&lt;br /&gt;
=== Volume ===&lt;br /&gt;
&lt;br /&gt;
==== Brush contents ====&lt;br /&gt;
&lt;br /&gt;
Physics-related contents of the brush. Could be one of the followed:&lt;br /&gt;
&lt;br /&gt;
* Solid&lt;br /&gt;
* Non-solid&lt;br /&gt;
* Water&lt;br /&gt;
* Slime&lt;br /&gt;
* Lava&lt;br /&gt;
* Sky&lt;br /&gt;
&lt;br /&gt;
Brush contents are defined from the materials brush have on it's sides. Usually all brush sides must have same contents (mixed contents will give a compiler warning and could lead to bugged behavior).&lt;br /&gt;
&lt;br /&gt;
==== VIS transparency ====&lt;br /&gt;
&lt;br /&gt;
This is not real transparency but any brush that does not provide structure/seal to a room, and merely is there to detail the room.&lt;br /&gt;
&lt;br /&gt;
Detail brushes (Radiant feature) and [[BModel | bmodels]] are always 'transparent'.&lt;br /&gt;
&lt;br /&gt;
Also if brush have sides which is marked detailed or transparent, it will be forced transparent.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
Brushes are essential thing to make geometry that requires a volume to function properly (water, triggers), level hull structure (the geometry that forms [[VIS]] portal tree) and grude procedural geometry which is used to connect rooms together. It can also be used to create semi-complex geometry on detail objects. For quite complex and small objects, [[patch mesh|patch meshes]] and triangle models are better and more easier to make.&lt;br /&gt;
&lt;br /&gt;
Examples of usage:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=2 style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
| width=5% align=right | Room floors&lt;br /&gt;
| width=10% | &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| width=85% | Most of room floors are part of world hull. It is useful to edit them inside radiant. For physics floors have priority because gravity always make object to fall, so high mathematical precision of brushes will help with making physics more stable.&lt;br /&gt;
|-&lt;br /&gt;
| align=right | Walls: &lt;br /&gt;
| &amp;lt;font color=green&amp;gt;Good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Description is pretty same as for the floor. Walls are part of map hull and when working with map, you are ofter reconfiguring your walls. &lt;br /&gt;
|-&lt;br /&gt;
| align=right | Statue: &lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Since complex models are broken into many brushes, it is hard to control texturing on them. Also texture projection is only capable of making simple UV. So you statue withg be either crude or will take insane abount of time to build with brushes.&lt;br /&gt;
|-&lt;br /&gt;
| align=right | Chair: &lt;br /&gt;
| &amp;lt;font color=red&amp;gt;Not a good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Actually its pretty same as for statue. Chair is too complex for brushes, and also it's pretty stock at its form. So its easier to make it with misc_gamemodel.&lt;br /&gt;
|-&lt;br /&gt;
| align=right | Terrain: &lt;br /&gt;
| &amp;lt;font color=orange&amp;gt;may be good choice&amp;lt;/font&amp;gt;&lt;br /&gt;
| Small chunks of terrain is good to make with brushes, as they can be reconfigured in editor and dont need a works with exporting/importing as for models. Brushes also part of the .map file, so it dont generates any external files. Vertex alpha should be handled by colormod brushes. The big landscapes is not good to make with brushes, because big terrain takes 5000+ brushes and per-brush works is quite uneffective for it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Radiant Glossary]]&lt;br /&gt;
* [[BModel]]&lt;br /&gt;
* [[BSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{grammar}}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/VIS</id>
		<title>VIS</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/VIS"/>
				<updated>2012-10-08T14:09:43Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{need screenshot}}&lt;br /&gt;
{{grammar checked|darth}}&lt;br /&gt;
VIS (stands for ''visibility'') - name of a map compilation phase during which and data is created and used for visibility checking. VIS can be estimated as a group of areas called portals with each portal having a link to all other postals visible from it. If entity standing in a portal that is visible from a portal of current eye position, it will get drawn.&lt;br /&gt;
&lt;br /&gt;
===Building VIS===&lt;br /&gt;
VIS portals are created during BSP stage, links are established during VIS stage.&lt;br /&gt;
&lt;br /&gt;
Structural brushes will define a shape for portals to fill. This process sometimes is called 'breaking VIS' because by nature it is breaking space for visible and not visible zones. All entities (including [[BModel|bmodels]]]) are meant to be changed/removed at any time, so they are always excluded from portals creation. The only entity that breaks VIS is [[func_group]].&lt;br /&gt;
&lt;br /&gt;
====Leak====&lt;br /&gt;
VIS requires the map to be internally sealed so it can distinguish what part of the map is inside and what is outside. When some inner part of the map is connected with void, the map is leaked. When a leak occurs, the tools cannot know which part of the level is inside, and which part is outside, and portals cannot have visibility data generated.&lt;br /&gt;
Most notable mistakes leading to leak:&lt;br /&gt;
* Small gaps between brushes leading to a void&lt;br /&gt;
* Detail brushes and entities being used as structural walls (they are not blocking VIS)&lt;br /&gt;
* Entities placed outside of the map hull&lt;br /&gt;
When map compiler detects a leak, it will stop making portals and cast an error. Map editor will show the spot where leak was occured.&lt;br /&gt;
{{tip|Map compiler is using entities to determine what map part is inside. If your map have no entities, compiler will cast a leak error because it cannot decide what part of the map is inside.}}&lt;br /&gt;
&lt;br /&gt;
===Optimizing VIS===&lt;br /&gt;
It is important that portal tree is balanced. It should be detailed enough to make accurate culling, and it should be small enough to have less RAM overhead and small processing time (VIS helps to save some processing time, it should not be allowed to take that time for its own processing). Optimizing portals is one of tasks map designer should care of:&lt;br /&gt;
* Mark small brushes that should not break VIS as detail (Detail brushes are opposed to Structural)&lt;br /&gt;
* Place hint brushes that will make additional portals for more accurate culling&lt;br /&gt;
&lt;br /&gt;
== Console variables ==&lt;br /&gt;
{{cvar|r_lockvisibility|disables visibility updates so you can walk around and inspect what is visible from locked position.}}&lt;br /&gt;
{{cvar|r_drawportals|draw portal surfaces in different colors.}}&lt;br /&gt;
{{cvar|r_novis|Disable visibility info (whole level will be drawn).}}&lt;br /&gt;
{{cvar|r_useportalculling|Improve framerate of r_novis by using portal culling. Still not as good as precompiled visibility data, but it is helpful on complex maps. A value of 2 will force portal culling even if VIS data is presented, which improves framerate on maps without too much complexity but hurts on complex maps.}}&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
* [[Tutorials:Understanding a VIS and Hint brushes|Understanding a VIS and Hint brushes]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[PVS|Potentially visible set]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
[[Category:Darkplaces engine]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/VIS</id>
		<title>VIS</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/VIS"/>
				<updated>2012-10-08T14:09:31Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{need screenshot}}&lt;br /&gt;
{{grammar checked|darth}}&lt;br /&gt;
VIS (stands for *visibility*) - name of a map compilation phase during which and data is created and used for visibility checking. VIS can be estimated as a group of areas called portals with each portal having a link to all other postals visible from it. If entity standing in a portal that is visible from a portal of current eye position, it will get drawn.&lt;br /&gt;
&lt;br /&gt;
===Building VIS===&lt;br /&gt;
VIS portals are created during BSP stage, links are established during VIS stage.&lt;br /&gt;
&lt;br /&gt;
Structural brushes will define a shape for portals to fill. This process sometimes is called 'breaking VIS' because by nature it is breaking space for visible and not visible zones. All entities (including [[BModel|bmodels]]]) are meant to be changed/removed at any time, so they are always excluded from portals creation. The only entity that breaks VIS is [[func_group]].&lt;br /&gt;
&lt;br /&gt;
====Leak====&lt;br /&gt;
VIS requires the map to be internally sealed so it can distinguish what part of the map is inside and what is outside. When some inner part of the map is connected with void, the map is leaked. When a leak occurs, the tools cannot know which part of the level is inside, and which part is outside, and portals cannot have visibility data generated.&lt;br /&gt;
Most notable mistakes leading to leak:&lt;br /&gt;
* Small gaps between brushes leading to a void&lt;br /&gt;
* Detail brushes and entities being used as structural walls (they are not blocking VIS)&lt;br /&gt;
* Entities placed outside of the map hull&lt;br /&gt;
When map compiler detects a leak, it will stop making portals and cast an error. Map editor will show the spot where leak was occured.&lt;br /&gt;
{{tip|Map compiler is using entities to determine what map part is inside. If your map have no entities, compiler will cast a leak error because it cannot decide what part of the map is inside.}}&lt;br /&gt;
&lt;br /&gt;
===Optimizing VIS===&lt;br /&gt;
It is important that portal tree is balanced. It should be detailed enough to make accurate culling, and it should be small enough to have less RAM overhead and small processing time (VIS helps to save some processing time, it should not be allowed to take that time for its own processing). Optimizing portals is one of tasks map designer should care of:&lt;br /&gt;
* Mark small brushes that should not break VIS as detail (Detail brushes are opposed to Structural)&lt;br /&gt;
* Place hint brushes that will make additional portals for more accurate culling&lt;br /&gt;
&lt;br /&gt;
== Console variables ==&lt;br /&gt;
{{cvar|r_lockvisibility|disables visibility updates so you can walk around and inspect what is visible from locked position.}}&lt;br /&gt;
{{cvar|r_drawportals|draw portal surfaces in different colors.}}&lt;br /&gt;
{{cvar|r_novis|Disable visibility info (whole level will be drawn).}}&lt;br /&gt;
{{cvar|r_useportalculling|Improve framerate of r_novis by using portal culling. Still not as good as precompiled visibility data, but it is helpful on complex maps. A value of 2 will force portal culling even if VIS data is presented, which improves framerate on maps without too much complexity but hurts on complex maps.}}&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
* [[Tutorials:Understanding a VIS and Hint brushes|Understanding a VIS and Hint brushes]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[PVS|Potentially visible set]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
[[Category:Darkplaces engine]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/VIS</id>
		<title>VIS</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/VIS"/>
				<updated>2012-10-08T14:09:11Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{need screenshot}}&lt;br /&gt;
{{grammar checked|darth}}&lt;br /&gt;
VIS (stands for visibility) - name of a map compilation phase during which and data is created and used for visibility checking. VIS can be estimated as a group of areas called portals with each portal having a link to all other postals visible from it. If entity standing in a portal that is visible from a portal of current eye position, it will get drawn.&lt;br /&gt;
&lt;br /&gt;
===Building VIS===&lt;br /&gt;
VIS portals are created during BSP stage, links are established during VIS stage.&lt;br /&gt;
&lt;br /&gt;
Structural brushes will define a shape for portals to fill. This process sometimes is called 'breaking VIS' because by nature it is breaking space for visible and not visible zones. All entities (including [[BModel|bmodels]]]) are meant to be changed/removed at any time, so they are always excluded from portals creation. The only entity that breaks VIS is [[func_group]].&lt;br /&gt;
&lt;br /&gt;
====Leak====&lt;br /&gt;
VIS requires the map to be internally sealed so it can distinguish what part of the map is inside and what is outside. When some inner part of the map is connected with void, the map is leaked. When a leak occurs, the tools cannot know which part of the level is inside, and which part is outside, and portals cannot have visibility data generated.&lt;br /&gt;
Most notable mistakes leading to leak:&lt;br /&gt;
* Small gaps between brushes leading to a void&lt;br /&gt;
* Detail brushes and entities being used as structural walls (they are not blocking VIS)&lt;br /&gt;
* Entities placed outside of the map hull&lt;br /&gt;
When map compiler detects a leak, it will stop making portals and cast an error. Map editor will show the spot where leak was occured.&lt;br /&gt;
{{tip|Map compiler is using entities to determine what map part is inside. If your map have no entities, compiler will cast a leak error because it cannot decide what part of the map is inside.}}&lt;br /&gt;
&lt;br /&gt;
===Optimizing VIS===&lt;br /&gt;
It is important that portal tree is balanced. It should be detailed enough to make accurate culling, and it should be small enough to have less RAM overhead and small processing time (VIS helps to save some processing time, it should not be allowed to take that time for its own processing). Optimizing portals is one of tasks map designer should care of:&lt;br /&gt;
* Mark small brushes that should not break VIS as detail (Detail brushes are opposed to Structural)&lt;br /&gt;
* Place hint brushes that will make additional portals for more accurate culling&lt;br /&gt;
&lt;br /&gt;
== Console variables ==&lt;br /&gt;
{{cvar|r_lockvisibility|disables visibility updates so you can walk around and inspect what is visible from locked position.}}&lt;br /&gt;
{{cvar|r_drawportals|draw portal surfaces in different colors.}}&lt;br /&gt;
{{cvar|r_novis|Disable visibility info (whole level will be drawn).}}&lt;br /&gt;
{{cvar|r_useportalculling|Improve framerate of r_novis by using portal culling. Still not as good as precompiled visibility data, but it is helpful on complex maps. A value of 2 will force portal culling even if VIS data is presented, which improves framerate on maps without too much complexity but hurts on complex maps.}}&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
* [[Tutorials:Understanding a VIS and Hint brushes|Understanding a VIS and Hint brushes]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[PVS|Potentially visible set]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
[[Category:Darkplaces engine]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/SaveId</id>
		<title>SaveId</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/SaveId"/>
				<updated>2012-09-28T13:55:54Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar checked|darth}}&lt;br /&gt;
SaveId - entity savegame identificator key. It is a number, unique within a level, assigned with [[RWGTools]] to a &amp;quot;sid&amp;quot; entity field. It is required for gamecode to store information about levels that were already visited. Instead of entity number (assigned by engine when entity is spawned) SaveId cannot be reused when new entity is created. Also SaveId survives level editing and recompilation, allowing to extend existing game levels without [[break savegame | breaking saved games]].&lt;br /&gt;
&lt;br /&gt;
== Operations with SaveId ==&lt;br /&gt;
RWGTools have this options to manipulate SaveId's:&lt;br /&gt;
&lt;br /&gt;
* Mark - mark SaveId's on new entities.&lt;br /&gt;
* Remap - this will re-mark all entities (will break savegames).&lt;br /&gt;
* Clear - remove all SaveId's and clear world counter (will break savegames).&lt;br /&gt;
* Check - checks map for duplicate SaveId's and other errors.&lt;br /&gt;
&lt;br /&gt;
== How 're-entering' works ==&lt;br /&gt;
&lt;br /&gt;
SaveID's are courtesy of level re-entering which is core game feature in Blood Omen, but has no core support in Darkplaces engine. Re-entering is a part of Blood Omnicide gamelogic. It follows this rules:&lt;br /&gt;
&lt;br /&gt;
* On level exit, all entities with a SaveId launch their saving function (class-dependent) which forms a savestring for each entity (storing entity properties that was changed comparing to level initial state), then all savestrings get packed into the level save lumps.&lt;br /&gt;
* When level is loaded, gamecode checks if this level has a save lump, and loads it into the reenter array of savestrings.&lt;br /&gt;
* Each entity when spawned, checks for corresponding record in the reenter table and loads properties from there.&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference</id>
		<title>Repository Reference</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Repository_Reference"/>
				<updated>2012-09-28T13:49:40Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar checked|darth}}&lt;br /&gt;
This reference explains a structure of Blood Omnicide SVN repository.&lt;br /&gt;
&lt;br /&gt;
==Chapters==&lt;br /&gt;
&amp;lt;font size=3&amp;gt;&lt;br /&gt;
# [[Repository Reference/Introduction|Introduction]]&lt;br /&gt;
# [[Repository Reference/Key Concepts|Key Concepts]]&lt;br /&gt;
# [[Repository Reference/Building a Game|Building a Game]]&lt;br /&gt;
# [[Repository Reference/Naming conventions|Naming conventions]]&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Appendix==&lt;br /&gt;
&amp;lt;font size=3&amp;gt;&lt;br /&gt;
* [[Repository Reference/Repository structure in-depth‎|Repository structure in-depth‎]]&lt;br /&gt;
* [[Repository Reference/Automation scripts|Automation scripts]]&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Diffuse</id>
		<title>Diffuse</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Diffuse"/>
				<updated>2012-09-28T13:49:07Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar checked|darth}}&lt;br /&gt;
[[File:Color_vs_diffuse.jpg|thumb|400px|Color texture (on the left) and diffuse texture]]&lt;br /&gt;
Diffuse texture - a version of color texture applicable to Phong shading. Usually color texture contains shadowing and specular applied - info that is not required for Phong shading as it has shading and specular done during rendering (using [[normalmap]] and [[specular | specular map]]).&lt;br /&gt;
&lt;br /&gt;
In Darkplaces, there is no special texture slot for a diffuse, it is a replacing color texture. So it matters how your surface world be lit (with phong shading or just with [[lightmap]]) to determine, if should draw a diffuse texture or a generic color texture.&lt;br /&gt;
&lt;br /&gt;
{{important|Lighting up a non-diffuse texture with Phong shading will decrease an effect of it, as both calculated and baked shades will appear.}}&lt;br /&gt;
{{tip|Blood Omnicide uses Phong shading on all surfaces.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
[[Category:Darkplaces engine]]&lt;br /&gt;
{{finished}}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Shader</id>
		<title>Shader</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Shader"/>
				<updated>2012-09-28T13:45:12Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar checked|darth}}&lt;br /&gt;
Shader (verb ''to shade'') may refer to:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Shader Program for 3D rendering pipeline] which could be written in special shader language (GLSL, HLSL, Cg, ARB etc.). E.g. vertex shader, pixel shader, geometry shader etc. &lt;br /&gt;
&lt;br /&gt;
* Quake 3 Material. In Id Tech 3, materials are named shaders (this includes many techical papers that describe [[MD3]], [[Q3BSP]] etc.). In this regard, sometimes materials may be called shaders. Since Darkplaces engine's [[Darkplaces material system|material system]] is using Id Tech 3 material approach as a base, its materials sometimes called shaders as well (also material files extension is ''.shader'').&lt;br /&gt;
&lt;br /&gt;
* Programmable block for anything that is processed in realtime. E.g. sound shaders, light shaders, entity shaders etc. ''Shader'' is different from script as it runs in realtime.&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/BSP</id>
		<title>BSP</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/BSP"/>
				<updated>2012-09-28T13:39:44Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar checked|darth}}&lt;br /&gt;
BSP may refer to:&lt;br /&gt;
&lt;br /&gt;
* ([http://en.wikipedia.org/wiki/Binary_space_partitioning Binary Space Partitioning]) ‒ a technique used in games for rendering and collision detection.&lt;br /&gt;
* Extension of [[BSP (file) | level files]] for Quake engine and all of it's successors.&lt;br /&gt;
* First stage of level files compilation (see above).&lt;br /&gt;
&lt;br /&gt;
[[Category:Darkplaces engine]]&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/BSP</id>
		<title>BSP</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/BSP"/>
				<updated>2012-09-28T13:37:48Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar checked|darth}}&lt;br /&gt;
BSP refers to:&lt;br /&gt;
&lt;br /&gt;
* ([http://en.wikipedia.org/wiki/Binary_space_partitioning Binary Space Partitioning]) ‒ a technique used in games for rendering and collision detection.&lt;br /&gt;
* Extension of [[BSP (file) | level files]] for Quake engine and all of it's successors.&lt;br /&gt;
* First stage of level files compilation (see above).&lt;br /&gt;
&lt;br /&gt;
[[Category:Darkplaces engine]]&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/DDS</id>
		<title>DDS</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/DDS"/>
				<updated>2012-09-28T13:34:05Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar checked|darth}}&lt;br /&gt;
Direct Draw Suface is a file format developed by Microsoft for DirectX SDK. This format is used in many games to store [[texture compression | compressed textures]]. &lt;br /&gt;
&lt;br /&gt;
Darkplaces engine can load DDS storing images of the following formats:&lt;br /&gt;
* '''BGRA''' : 32-bit uncompressed image&lt;br /&gt;
* '''DXT1''' : 4-bit compressed DXT1 texture&lt;br /&gt;
* '''DXT2''' : 8-bit compressed DXT2 texture&lt;br /&gt;
* '''DXT3''' : 8-bit compressed DXT3 texture&lt;br /&gt;
* '''DXT4''' : 8-bit compressed DXT4 texture&lt;br /&gt;
* '''DXT5''' : 8-bit compressed DXT5 texture&lt;br /&gt;
&lt;br /&gt;
In Darkplaces, DDS is not a general texture format like [[TGA]] or [[JPEG]] but an override texture (dds/filename.dds) that get loaded instead of it's base texture (filename.tga), if present. &lt;br /&gt;
&lt;br /&gt;
All DDS files should be stored under dds/ directory, rest of the path should mimic file path of the base texture:&lt;br /&gt;
&lt;br /&gt;
 dds/textures/mausoleum/outerwall1_1 &amp;lt;font color=green&amp;gt;// override textures/mausoleum/outerwall1_1&amp;lt;/font&amp;gt;&lt;br /&gt;
 dds/models/mapobjects/inn/barrel1_1_norm &amp;lt;font color=green&amp;gt;// override models/mapobjects/inn/barrel1_1_norm&amp;lt;/font&amp;gt;&lt;br /&gt;
 dds/models/mapobjects/inn/barrel1_1 &amp;lt;font color=green&amp;gt;// override models/mapobjects/inn/barrel1_1&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DDS files should have mipmaps pre-generated. If there are no mipmaps generated, it is implied that this texture is not using mipmaps. &lt;br /&gt;
&lt;br /&gt;
{{important|Engine shouldn't try to use mipmaps if they do not exist in DDS (see [[Darkplaces_material_system/General_Keywords#noMipMaps | noPicMip]], also gfx/ images never use mipmaps) or it may crash.}}&lt;br /&gt;
&lt;br /&gt;
{{bug|Some drivers don't deal with non-power-of-two compressed textures (giving the black walls). Best way is to always make DDS textures to be [[power-of-two]].}}&lt;br /&gt;
&lt;br /&gt;
===DDS for NetRadiant===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, NetRadiant can't load DDS images, it always loads base texture instead. This becomes a problem when supplying Radiant with the builded game (which only include DDS, no base textures). In order to avoid missing textures and broken brush texturing, every world texture that gotta be applied on [[brush | brushes]], should have separate radiant-only image (see [[Darkplaces_material_system/Special_Keywords#qer_editorImage_.3CtextureName.3E | qer_editorImage]]).&lt;br /&gt;
&lt;br /&gt;
By a convention, radiant-only image should be stored in ''gamedir/radiant/path_to_base_texture'':&lt;br /&gt;
 '''textures/town/wall1_1'''&lt;br /&gt;
 { &lt;br /&gt;
     &amp;lt;font color=blue&amp;gt;qer_editorImage&amp;lt;/font&amp;gt; '''radiant/textures/town/wall1_1'''&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
You can use following tools to produce compressed DDS images:&lt;br /&gt;
* [[RwgTex]] - recommended commandline tool used by Blood Omnicide&lt;br /&gt;
* [http://developer.amd.com/tools/compressonator/pages/default.aspx ATI Compressonator]&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/powervr-pvrtextool.asp PVRTexTool] (requires registration)&lt;br /&gt;
&lt;br /&gt;
==Future alternatives==&lt;br /&gt;
In 2010 Khronos group introduced [http://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ KTX] format (covering OpenGL and OpenGL ES texture formats). This format can be used as a replacement to DDS in future.&lt;br /&gt;
&lt;br /&gt;
==Console variables==&lt;br /&gt;
{{cvar|r_texture_dds_load|load compressed dds/filename.dds instead of filename.tga. If file exists (requires driver support).}}&lt;br /&gt;
{{cvar|r_texture_dds_load_alphamode|trust DDPF_ALPHAPIXELS flag, 1: texture format and brute force search if ambiguous, 2: texture format only}}&lt;br /&gt;
{{cvar|r_texture_dds_load_logfailure|log missing DDS textures to ddstexturefailures.log, 0: done log, 1: log with no optional textures (_norm, glow etc.). 2: log all}}&lt;br /&gt;
{{cvar|r_texture_dds_save|save compressed dds/filename.dds texture when filename.tga is loaded, so that it can be loaded instead next time}}&lt;br /&gt;
{{cvar|r_texture_dds_swdecode|0: don't software decode DDS, 1: software decode DDS if unsupported, 2: always software decode DDS. Software decoding breaks all benefits of DDS and should be used if driver dont support DDS or for debugging purposes.}}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[texture compression | Texture compression]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
{{finished}}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/MD3_Compiler</id>
		<title>MD3 Compiler</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/MD3_Compiler"/>
				<updated>2012-09-28T13:13:01Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar checked|darth}}&lt;br /&gt;
[[File:Tutorial_md3_01.jpg|thumb|300px|Compiler main window]]&lt;br /&gt;
NPherno's MD3 Compiler is a small but useful tool to preview and tweak [[MD3]] models.&lt;br /&gt;
&lt;br /&gt;
==Features== &lt;br /&gt;
* MD3, [[ASE]], 3DS files support&lt;br /&gt;
* Export as MD3&lt;br /&gt;
* Inspection of model structure (surfaces, materials, shading, frames, tags)&lt;br /&gt;
* Alter materials assigned to surface&lt;br /&gt;
* Remove selected frame/surface&lt;br /&gt;
* Rebuild normals using UV seams or smooth mode&lt;br /&gt;
&lt;br /&gt;
==Known bugs==&lt;br /&gt;
{{bug|When altering surface material or name, changes are not saved until some another surface is selected. To apply changes click on dropbox and select some surface.}}&lt;br /&gt;
{{bug|Normals are not loaded for ASE and 3DS, must rebuild them.}}&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
* [[Tutorials:Altering a material using NPherno MD3 Compiler|Altering a material using NPherno MD3 Compiler]]&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
http://omnicide.legacy-of-kain.ru/files/tools/md3_compiler.zip&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler</id>
		<title>Tutorials:Altering a material using NPherno MD3 Compiler</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler"/>
				<updated>2012-09-28T13:11:06Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Tutorial: Altering a skin-path using Npherno MD3 Compiler}}&lt;br /&gt;
{{imported|Tabun|www.tabun.nl/tutorials/md3skinpath_tutorial/}}&lt;br /&gt;
{{grammar checked|darth}}&lt;br /&gt;
&lt;br /&gt;
==Whats needed==&lt;br /&gt;
* [[MD3 Compiler|Npherno's MD3 compiler]]&lt;br /&gt;
* An MD3 model&lt;br /&gt;
&lt;br /&gt;
==What's this about?==&lt;br /&gt;
This tutorial gets you acquainted with a useful and concise tool titled 'Npherno's MD3 Compiler', which can be used to alter MD3 models. More specifically, it shows you exactly how to set or change the material of a surface.&lt;br /&gt;
&lt;br /&gt;
[[Darkplaces material system|Materialnames]] are stored in the MD3's themselves. When the game loads a model, it uses the embedded material name to load the proper material or texture.&lt;br /&gt;
&lt;br /&gt;
Altering MD3's can be tricky at first, but it's rather easy and doesn't take more than half a minute at most.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Importing objects==&lt;br /&gt;
Launch the MD3 Compiler. It's the &amp;quot;MD3Compile.exe&amp;quot; file.&lt;br /&gt;
This is what you'll see:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_01.jpg|Pic 1. MD3 Compiler window]]&lt;br /&gt;
&lt;br /&gt;
Now, click the button labeled &amp;quot;Import objects&amp;quot;, and select the MD3 you wish to alter.&lt;br /&gt;
It shows the following popup:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_02.jpg|Pic 2. Importing an MD3]]&lt;br /&gt;
&lt;br /&gt;
Select all parts of the model, and click &amp;quot;OK&amp;quot;.&lt;br /&gt;
The model should now appear in the center as a red and blue set of objects.&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_03.jpg|Pic 3. Imported model]]&lt;br /&gt;
&lt;br /&gt;
The window should look something like pic 3.&lt;br /&gt;
{{important|Now, click the &amp;quot;All&amp;quot; button (located directly above &amp;quot;Import objects&amp;quot;). Make sure the checkbox in pic 4 is checked before you proceed!}}&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_04.jpg|Pic 4. After clicking &amp;quot;All&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Step 2: Altering the material==&lt;br /&gt;
Now we can alter the material of any of the imported objects.&lt;br /&gt;
Usually, you'll find the MD3 only has one object. If you've selected more than one object in the import pop-up (see pic 2), there might be objects with a path need to be edited.&lt;br /&gt;
&lt;br /&gt;
Use the top-most dropdown-list to select an object (in this case, we can see that w_nailgun has been selected). The embedded path to the skin will be shown in the field immediately below it. You can edit the path now. &lt;br /&gt;
{{important|Remember to always use forward slashes in paths. No matter what the original path shows, use forward slashes. Failure to do so means you won't see a texture in-game.}}&lt;br /&gt;
{{tip|If you are change material to empty or malicious string (like ''&amp;lt;nowiki&amp;gt;%@#====6%$!!!!  ----&amp;lt;/nowiki&amp;gt;'') it will not be drawn}}&lt;br /&gt;
&lt;br /&gt;
==Step 3: Final step==&lt;br /&gt;
Once you've edited the paths of all the objects, it's time to export the model, saving all of your changes.&lt;br /&gt;
Click &amp;quot;Export objects&amp;quot; and give the MD3 a nice name. You can overwrite the MD3 you imported without problems, by the way.&lt;br /&gt;
&lt;br /&gt;
A pop-up will appear asking for an &amp;quot;Internal name&amp;quot;. Unless you're editing a player model, ignore this - leave it blank.&lt;br /&gt;
Just click &amp;quot;OK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Recap==&lt;br /&gt;
To recap the tutorial stated above, here are the basic steps:&lt;br /&gt;
# Import objects&lt;br /&gt;
# Alter name (remember, FORWARD slashes)&lt;br /&gt;
# Export objects&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Darkplaces material system]]&lt;br /&gt;
* [[Texture]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler</id>
		<title>Tutorials:Altering a material using NPherno MD3 Compiler</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler"/>
				<updated>2012-09-28T13:07:50Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Step 3: Final step */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Tutorial: Altering a skin-path using Npherno MD3 Compiler}}&lt;br /&gt;
{{imported|Tabun|www.tabun.nl/tutorials/md3skinpath_tutorial/}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
&lt;br /&gt;
==Whats needed==&lt;br /&gt;
* [[MD3 Compiler|Npherno's MD3 compiler]]&lt;br /&gt;
* An MD3 model&lt;br /&gt;
&lt;br /&gt;
==What's this about?==&lt;br /&gt;
This tutorial gets you acquainted with a useful and concise tool titled 'Npherno's MD3 Compiler', which can be used to alter MD3 models. More specifically, it shows you exactly how to set or change the material of a surface.&lt;br /&gt;
&lt;br /&gt;
[[Darkplaces material system|Materialnames]] are stored in the MD3's themselves. When the game loads a model, it uses the embedded material name to load the proper material or texture.&lt;br /&gt;
&lt;br /&gt;
Altering MD3's can be tricky at first, but it's rather easy and doesn't take more than half a minute at most.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Importing objects==&lt;br /&gt;
Launch the MD3 Compiler. It's the &amp;quot;MD3Compile.exe&amp;quot; file.&lt;br /&gt;
This is what you'll see:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_01.jpg|Pic 1. MD3 Compiler window]]&lt;br /&gt;
&lt;br /&gt;
Now, click the button labeled &amp;quot;Import objects&amp;quot;, and select the MD3 you wish to alter.&lt;br /&gt;
It shows the following popup:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_02.jpg|Pic 2. Importing an MD3]]&lt;br /&gt;
&lt;br /&gt;
Select all parts of the model, and click &amp;quot;OK&amp;quot;.&lt;br /&gt;
The model should now appear in the center as a red and blue set of objects.&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_03.jpg|Pic 3. Imported model]]&lt;br /&gt;
&lt;br /&gt;
The window should look something like pic 3.&lt;br /&gt;
{{important|Now, click the &amp;quot;All&amp;quot; button (located directly above &amp;quot;Import objects&amp;quot;). Make sure the checkbox in pic 4 is checked before you proceed!}}&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_04.jpg|Pic 4. After clicking &amp;quot;All&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Step 2: Altering the material==&lt;br /&gt;
Now we can alter the material of any of the imported objects.&lt;br /&gt;
Usually, you'll find the MD3 only has one object. If you've selected more than one object in the import pop-up (see pic 2), there might be objects with a path need to be edited.&lt;br /&gt;
&lt;br /&gt;
Use the top-most dropdown-list to select an object (in this case, we can see that w_nailgun has been selected). The embedded path to the skin will be shown in the field immediately below it. You can edit the path now. &lt;br /&gt;
{{important|Remember to always use forward slashes in paths. No matter what the original path shows, use forward slashes. Failure to do so means you won't see a texture in-game.}}&lt;br /&gt;
{{tip|If you are change material to empty or malicious string (like ''&amp;lt;nowiki&amp;gt;%@#====6%$!!!!  ----&amp;lt;/nowiki&amp;gt;'') it will not be drawn}}&lt;br /&gt;
&lt;br /&gt;
==Step 3: Final step==&lt;br /&gt;
Once you've edited the paths of all the objects, it's time to export the model, saving all of your changes.&lt;br /&gt;
Click &amp;quot;Export objects&amp;quot; and give the MD3 a nice name. You can overwrite the MD3 you imported without problems, by the way.&lt;br /&gt;
&lt;br /&gt;
A pop-up will appear asking for an &amp;quot;Internal name&amp;quot;. Unless you're editing a player model, ignore this - leave it blank.&lt;br /&gt;
Just click &amp;quot;OK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Recap==&lt;br /&gt;
To recap the tutorial stated above, here are the basic steps:&lt;br /&gt;
# Import objects&lt;br /&gt;
# Alter name (remember, FORWARD slashes)&lt;br /&gt;
# Export objects&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Darkplaces material system]]&lt;br /&gt;
* [[Texture]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler</id>
		<title>Tutorials:Altering a material using NPherno MD3 Compiler</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler"/>
				<updated>2012-09-28T13:06:28Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Step 2: Altering the material */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Tutorial: Altering a skin-path using Npherno MD3 Compiler}}&lt;br /&gt;
{{imported|Tabun|www.tabun.nl/tutorials/md3skinpath_tutorial/}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
&lt;br /&gt;
==Whats needed==&lt;br /&gt;
* [[MD3 Compiler|Npherno's MD3 compiler]]&lt;br /&gt;
* An MD3 model&lt;br /&gt;
&lt;br /&gt;
==What's this about?==&lt;br /&gt;
This tutorial gets you acquainted with a useful and concise tool titled 'Npherno's MD3 Compiler', which can be used to alter MD3 models. More specifically, it shows you exactly how to set or change the material of a surface.&lt;br /&gt;
&lt;br /&gt;
[[Darkplaces material system|Materialnames]] are stored in the MD3's themselves. When the game loads a model, it uses the embedded material name to load the proper material or texture.&lt;br /&gt;
&lt;br /&gt;
Altering MD3's can be tricky at first, but it's rather easy and doesn't take more than half a minute at most.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Importing objects==&lt;br /&gt;
Launch the MD3 Compiler. It's the &amp;quot;MD3Compile.exe&amp;quot; file.&lt;br /&gt;
This is what you'll see:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_01.jpg|Pic 1. MD3 Compiler window]]&lt;br /&gt;
&lt;br /&gt;
Now, click the button labeled &amp;quot;Import objects&amp;quot;, and select the MD3 you wish to alter.&lt;br /&gt;
It shows the following popup:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_02.jpg|Pic 2. Importing an MD3]]&lt;br /&gt;
&lt;br /&gt;
Select all parts of the model, and click &amp;quot;OK&amp;quot;.&lt;br /&gt;
The model should now appear in the center as a red and blue set of objects.&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_03.jpg|Pic 3. Imported model]]&lt;br /&gt;
&lt;br /&gt;
The window should look something like pic 3.&lt;br /&gt;
{{important|Now, click the &amp;quot;All&amp;quot; button (located directly above &amp;quot;Import objects&amp;quot;). Make sure the checkbox in pic 4 is checked before you proceed!}}&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_04.jpg|Pic 4. After clicking &amp;quot;All&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Step 2: Altering the material==&lt;br /&gt;
Now we can alter the material of any of the imported objects.&lt;br /&gt;
Usually, you'll find the MD3 only has one object. If you've selected more than one object in the import pop-up (see pic 2), there might be objects with a path need to be edited.&lt;br /&gt;
&lt;br /&gt;
Use the top-most dropdown-list to select an object (in this case, we can see that w_nailgun has been selected). The embedded path to the skin will be shown in the field immediately below it. You can edit the path now. &lt;br /&gt;
{{important|Remember to always use forward slashes in paths. No matter what the original path shows, use forward slashes. Failure to do so means you won't see a texture in-game.}}&lt;br /&gt;
{{tip|If you are change material to empty or malicious string (like ''&amp;lt;nowiki&amp;gt;%@#====6%$!!!!  ----&amp;lt;/nowiki&amp;gt;'') it will not be drawn}}&lt;br /&gt;
&lt;br /&gt;
==Step 3: Final step==&lt;br /&gt;
Once you've edited the paths of all objects, it's time to export the model, saving all of your changes.&lt;br /&gt;
Click &amp;quot;Export objects&amp;quot; and give the MD3 a nice name. You can overwrite the MD3 you imported without problems, by the way.&lt;br /&gt;
&lt;br /&gt;
A popup will show, asking for an &amp;quot;Internal name&amp;quot;. Unless you're editing a player model, ignore this - leave it blank.&lt;br /&gt;
Just click &amp;quot;OK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
That's all there is to it. &lt;br /&gt;
&lt;br /&gt;
==Recap==&lt;br /&gt;
To recap the tutorial stated above, here are the basic steps:&lt;br /&gt;
# Import objects&lt;br /&gt;
# Alter name (remember, FORWARD slashes)&lt;br /&gt;
# Export objects&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Darkplaces material system]]&lt;br /&gt;
* [[Texture]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler</id>
		<title>Tutorials:Altering a material using NPherno MD3 Compiler</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler"/>
				<updated>2012-09-28T12:55:54Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* What's this about? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Tutorial: Altering a skin-path using Npherno MD3 Compiler}}&lt;br /&gt;
{{imported|Tabun|www.tabun.nl/tutorials/md3skinpath_tutorial/}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
&lt;br /&gt;
==Whats needed==&lt;br /&gt;
* [[MD3 Compiler|Npherno's MD3 compiler]]&lt;br /&gt;
* An MD3 model&lt;br /&gt;
&lt;br /&gt;
==What's this about?==&lt;br /&gt;
This tutorial gets you acquainted with a useful and concise tool titled 'Npherno's MD3 Compiler', which can be used to alter MD3 models. More specifically, it shows you exactly how to set or change the material of a surface.&lt;br /&gt;
&lt;br /&gt;
[[Darkplaces material system|Materialnames]] are stored in the MD3's themselves. When the game loads a model, it uses the embedded material name to load the proper material or texture.&lt;br /&gt;
&lt;br /&gt;
Altering MD3's can be tricky at first, but it's rather easy and doesn't take more than half a minute at most.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Importing objects==&lt;br /&gt;
Launch the MD3 Compiler. It's the &amp;quot;MD3Compile.exe&amp;quot; file.&lt;br /&gt;
This is what you'll see:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_01.jpg|Pic 1. MD3 Compiler window]]&lt;br /&gt;
&lt;br /&gt;
Now, click the button labeled &amp;quot;Import objects&amp;quot;, and select the MD3 you wish to alter.&lt;br /&gt;
It shows the following popup:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_02.jpg|Pic 2. Importing an MD3]]&lt;br /&gt;
&lt;br /&gt;
Select all parts of the model, and click &amp;quot;OK&amp;quot;.&lt;br /&gt;
The model should now appear in the center as a red and blue set of objects.&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_03.jpg|Pic 3. Imported model]]&lt;br /&gt;
&lt;br /&gt;
The window should look something like pic 3.&lt;br /&gt;
{{important|Now, click the &amp;quot;All&amp;quot; button (located directly above &amp;quot;Import objects&amp;quot;). Make sure the checkbox in pic 4 is checked before you proceed!}}&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_04.jpg|Pic 4. After clicking &amp;quot;All&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Step 2: Altering the material==&lt;br /&gt;
Now we can alter the material of any of the imported objects.&lt;br /&gt;
Usually, you'll find the MD3 only has one object. If you've had to select more than one object in the import popup (see pic 2), there are more objects whose path may need editing.&lt;br /&gt;
&lt;br /&gt;
Use the top-most dropdown-list to select an object (in this case, we can see that w_nailgun has been selected). The embedded path to the skin will be shown in the field immediately below it. You can edit the path now. &lt;br /&gt;
{{important|Remember to always use forward slashes in paths. No matter what the original path shows, use forward slashes. Failure to do so means you won't see a texture in-game.}}&lt;br /&gt;
{{tip|If you are change material to empty or malicious string (like ''&amp;lt;nowiki&amp;gt;%@#====6%$!!!!  ----&amp;lt;/nowiki&amp;gt;'') it will not be drawn}}&lt;br /&gt;
&lt;br /&gt;
==Step 3: Final step==&lt;br /&gt;
Once you've edited the paths of all objects, it's time to export the model, saving all of your changes.&lt;br /&gt;
Click &amp;quot;Export objects&amp;quot; and give the MD3 a nice name. You can overwrite the MD3 you imported without problems, by the way.&lt;br /&gt;
&lt;br /&gt;
A popup will show, asking for an &amp;quot;Internal name&amp;quot;. Unless you're editing a player model, ignore this - leave it blank.&lt;br /&gt;
Just click &amp;quot;OK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
That's all there is to it. &lt;br /&gt;
&lt;br /&gt;
==Recap==&lt;br /&gt;
To recap the tutorial stated above, here are the basic steps:&lt;br /&gt;
# Import objects&lt;br /&gt;
# Alter name (remember, FORWARD slashes)&lt;br /&gt;
# Export objects&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Darkplaces material system]]&lt;br /&gt;
* [[Texture]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/DDS</id>
		<title>DDS</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/DDS"/>
				<updated>2012-08-02T14:32:42Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar}}&lt;br /&gt;
Direct Draw Suface is a file format developed by Microsoft for DirectX SDK. This format is used in many games to store [[texture compression | compressed textures]]. &lt;br /&gt;
&lt;br /&gt;
Darkplaces engine can load DDS storing the images of the following formats:&lt;br /&gt;
* '''BGRA''' : 32-bit uncompressed image&lt;br /&gt;
* '''DXT1''' : 4-bit compressed DXT1 texture&lt;br /&gt;
* '''DXT2''' : 8-bit compressed DXT2 texture&lt;br /&gt;
* '''DXT3''' : 8-bit compressed DXT3 texture&lt;br /&gt;
* '''DXT4''' : 8-bit compressed DXT4 texture&lt;br /&gt;
* '''DXT5''' : 8-bit compressed DXT5 texture&lt;br /&gt;
&lt;br /&gt;
In Darkplaces, DDS are not general texture format like [[TGA]] or [[JPEG]] but an override texture (dds/filename.dds) that get loaded instead of it's base texture (filename.tga), if presented. &lt;br /&gt;
&lt;br /&gt;
All DDS files should be stored under dds/ directory, rest of the path should mimic file path of the base texture:&lt;br /&gt;
&lt;br /&gt;
 dds/textures/mausoleum/outerwall1_1 &amp;lt;font color=green&amp;gt;// override textures/mausoleum/outerwall1_1&amp;lt;/font&amp;gt;&lt;br /&gt;
 dds/models/mapobjects/inn/barrel1_1_norm &amp;lt;font color=green&amp;gt;// override models/mapobjects/inn/barrel1_1_norm&amp;lt;/font&amp;gt;&lt;br /&gt;
 dds/models/mapobjects/inn/barrel1_1 &amp;lt;font color=green&amp;gt;// override models/mapobjects/inn/barrel1_1&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DDS files should have mipmaps pre-generated. If there are no mipmaps generated, it is implied that this texture is not using mipmaps. &lt;br /&gt;
&lt;br /&gt;
{{important|Engine shouldn't try to use mipmaps if they do not exist in DDS (see [[Darkplaces_material_system/General_Keywords#noMipMaps | noPicMip]], also gfx/ images never use mipmaps) or it may crash.}}&lt;br /&gt;
&lt;br /&gt;
{{bug|Some drivers don't deal with non-power-of-two compressed textures (giving the black walls). Best way is to always make DDS textures to be [[power-of-two]].}}&lt;br /&gt;
&lt;br /&gt;
===DDS for NetRadiant===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, NetRadiant can't load DDS images, it always loads base texture instead. This becomes a problem when supplying Radiant with the builded game (which only include DDS, no base textures). In order to avoid missing textures and broken brush texturing, every world texture that gotta be applied on [[brush | brushes]], should have separate radiant-only image (see [[Darkplaces_material_system/Special_Keywords#qer_editorImage_.3CtextureName.3E | qer_editorImage]]).&lt;br /&gt;
&lt;br /&gt;
By a convention, radiant-only image should be stored in ''gamedir/radiant/path_to_base_texture'':&lt;br /&gt;
 '''textures/town/wall1_1'''&lt;br /&gt;
 { &lt;br /&gt;
     &amp;lt;font color=blue&amp;gt;qer_editorImage&amp;lt;/font&amp;gt; '''radiant/textures/town/wall1_1'''&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
You can use following tools to produce compressed DDS images:&lt;br /&gt;
* [[RwgTex]] - recommended commandline tool used by Blood Omnicide&lt;br /&gt;
* [http://developer.amd.com/tools/compressonator/pages/default.aspx ATI Compressonator]&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/powervr-pvrtextool.asp PVRTexTool] (requires registration)&lt;br /&gt;
&lt;br /&gt;
==Future alternatives==&lt;br /&gt;
In 2010 Khronos group introduced [http://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ KTX] format (covering OpenGL and OpenGL ES texture formats). This format can be used as a replacement to DDS in future.&lt;br /&gt;
&lt;br /&gt;
==Console variables==&lt;br /&gt;
{{cvar|r_texture_dds_load|load compressed dds/filename.dds instead of filename.tga. If file exists (requires driver support).}}&lt;br /&gt;
{{cvar|r_texture_dds_load_alphamode|trust DDPF_ALPHAPIXELS flag, 1: texture format and brute force search if ambiguous, 2: texture format only}}&lt;br /&gt;
{{cvar|r_texture_dds_load_logfailure|log missing DDS textures to ddstexturefailures.log, 0: done log, 1: log with no optional textures (_norm, glow etc.). 2: log all}}&lt;br /&gt;
{{cvar|r_texture_dds_save|save compressed dds/filename.dds texture when filename.tga is loaded, so that it can be loaded instead next time}}&lt;br /&gt;
{{cvar|r_texture_dds_swdecode|0: don't software decode DDS, 1: software decode DDS if unsupported, 2: always software decode DDS. Software decoding breaks all benefits of DDS and should be used if driver dont support DDS or for debugging purposes.}}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[texture compression | Texture compression]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
{{finished}}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/MD3_Compiler</id>
		<title>MD3 Compiler</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/MD3_Compiler"/>
				<updated>2012-08-02T14:28:26Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Known bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar}}&lt;br /&gt;
[[File:Tutorial_md3_01.jpg|thumb|300px|Compiler main window]]&lt;br /&gt;
NPherno's MD3 Compiler is a small but useful tool to preview and tweak [[MD3]] models.&lt;br /&gt;
&lt;br /&gt;
==Features== &lt;br /&gt;
* MD3, [[ASE]], 3DS files support&lt;br /&gt;
* Export as MD3&lt;br /&gt;
* Inspection of model structure (surfaces, materials, shading, frames, tags)&lt;br /&gt;
* Alter materials assigned to surface&lt;br /&gt;
* Remove selected frame/surface&lt;br /&gt;
* Rebuild normals using UV seams or smooth mode&lt;br /&gt;
&lt;br /&gt;
==Known bugs==&lt;br /&gt;
{{bug|When altering surface material or name, changes are not saved until some another surface is selected. To apply changes click on dropbox and select some surface.}}&lt;br /&gt;
{{bug|Normals are not loaded for ASE and 3DS, must rebuild them.}}&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
* [[Tutorials:Altering a material using NPherno MD3 Compiler|Altering a material using NPherno MD3 Compiler]]&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
http://omnicide.legacy-of-kain.ru/files/tools/md3_compiler.zip&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/MD3_Compiler</id>
		<title>MD3 Compiler</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/MD3_Compiler"/>
				<updated>2012-08-02T14:27:24Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grammar}}&lt;br /&gt;
[[File:Tutorial_md3_01.jpg|thumb|300px|Compiler main window]]&lt;br /&gt;
NPherno's MD3 Compiler is a small but useful tool to preview and tweak [[MD3]] models.&lt;br /&gt;
&lt;br /&gt;
==Features== &lt;br /&gt;
* MD3, [[ASE]], 3DS files support&lt;br /&gt;
* Export as MD3&lt;br /&gt;
* Inspection of model structure (surfaces, materials, shading, frames, tags)&lt;br /&gt;
* Alter materials assigned to surface&lt;br /&gt;
* Remove selected frame/surface&lt;br /&gt;
* Rebuild normals using UV seams or smooth mode&lt;br /&gt;
&lt;br /&gt;
==Known bugs==&lt;br /&gt;
{{bug|When altering surface material or name, changes arent saved until some another surface is selected. To apply changes click on dropbox and select some surface.}}&lt;br /&gt;
{{bug|Normals are not loaded for ASE and 3DS, should rebuild them.}}&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
* [[Tutorials:Altering a material using NPherno MD3 Compiler|Altering a material using NPherno MD3 Compiler]]&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
http://omnicide.legacy-of-kain.ru/files/tools/md3_compiler.zip&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	<entry>
		<id>http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler</id>
		<title>Tutorials:Altering a material using NPherno MD3 Compiler</title>
		<link rel="alternate" type="text/html" href="http://omnicide.razorwind.ru/wiki/index.php/Tutorials:Altering_a_material_using_NPherno_MD3_Compiler"/>
				<updated>2012-08-02T14:21:37Z</updated>
		
		<summary type="html">&lt;p&gt;Twinchenzo: /* Recap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Tutorial: Altering a skin-path using Npherno MD3 Compiler}}&lt;br /&gt;
{{imported|Tabun|www.tabun.nl/tutorials/md3skinpath_tutorial/}}&lt;br /&gt;
{{grammar}}&lt;br /&gt;
&lt;br /&gt;
==Whats needed==&lt;br /&gt;
* [[MD3 Compiler|Npherno's MD3 compiler]]&lt;br /&gt;
* An MD3 model&lt;br /&gt;
&lt;br /&gt;
==What's this about?==&lt;br /&gt;
This tutorial gets you acquainted with the useful and concise tool titled 'Npherno's MD3 Compiler', which can be used to alter MD3 models. More specifically, it shows you exactly how to set or change a material of surface.&lt;br /&gt;
&lt;br /&gt;
[[Darkplaces material system|Materialnames]] are stored in the MD3's themselves. When the game loads a model, it uses the embedded material name to load the proper material or texture.&lt;br /&gt;
&lt;br /&gt;
Altering MD3's can be tricky at first, but it's rather easy and doesn't take more than half a minute at most. &lt;br /&gt;
&lt;br /&gt;
==Step 1: Importing objects==&lt;br /&gt;
Launch the MD3 Compiler. It's the &amp;quot;MD3Compile.exe&amp;quot; file.&lt;br /&gt;
This is what you'll see:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_01.jpg|Pic 1. MD3 Compiler window]]&lt;br /&gt;
&lt;br /&gt;
Now, click the button labeled &amp;quot;Import objects&amp;quot;, and select the MD3 you wish to alter.&lt;br /&gt;
It shows the following popup:&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_02.jpg|Pic 2. Importing an MD3]]&lt;br /&gt;
&lt;br /&gt;
Select all parts of the model, and click &amp;quot;OK&amp;quot;.&lt;br /&gt;
The model should now appear in the center as a red and blue set of objects.&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_03.jpg|Pic 3. Imported model]]&lt;br /&gt;
&lt;br /&gt;
The window should look something like pic 3.&lt;br /&gt;
{{important|Now, click the &amp;quot;All&amp;quot; button (located directly above &amp;quot;Import objects&amp;quot;). Make sure the checkbox in pic 4 is checked before you proceed!}}&lt;br /&gt;
&lt;br /&gt;
[[File:Tutorial_md3_04.jpg|Pic 4. After clicking &amp;quot;All&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Step 2: Altering the material==&lt;br /&gt;
Now we can alter the material of any of the imported objects.&lt;br /&gt;
Usually, you'll find the MD3 only has one object. If you've had to select more than one object in the import popup (see pic 2), there are more objects whose path may need editing.&lt;br /&gt;
&lt;br /&gt;
Use the top-most dropdown-list to select an object (in this case, we can see that w_nailgun has been selected). The embedded path to the skin will be shown in the field immediately below it. You can edit the path now. &lt;br /&gt;
{{important|Remember to always use forward slashes in paths. No matter what the original path shows, use forward slashes. Failure to do so means you won't see a texture in-game.}}&lt;br /&gt;
{{tip|If you are change material to empty or malicious string (like ''&amp;lt;nowiki&amp;gt;%@#====6%$!!!!  ----&amp;lt;/nowiki&amp;gt;'') it will not be drawn}}&lt;br /&gt;
&lt;br /&gt;
==Step 3: Final step==&lt;br /&gt;
Once you've edited the paths of all objects, it's time to export the model, saving all of your changes.&lt;br /&gt;
Click &amp;quot;Export objects&amp;quot; and give the MD3 a nice name. You can overwrite the MD3 you imported without problems, by the way.&lt;br /&gt;
&lt;br /&gt;
A popup will show, asking for an &amp;quot;Internal name&amp;quot;. Unless you're editing a player model, ignore this - leave it blank.&lt;br /&gt;
Just click &amp;quot;OK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
That's all there is to it. &lt;br /&gt;
&lt;br /&gt;
==Recap==&lt;br /&gt;
To recap the tutorial stated above, here are the basic steps:&lt;br /&gt;
# Import objects&lt;br /&gt;
# Alter name (remember, FORWARD slashes)&lt;br /&gt;
# Export objects&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Darkplaces material system]]&lt;br /&gt;
* [[Texture]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
{{finished}}&lt;/div&gt;</summary>
		<author><name>Twinchenzo</name></author>	</entry>

	</feed>