<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.datoolset.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tmp7704</id>
		<title>Dragon Age Toolset Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.datoolset.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tmp7704"/>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/wiki/Special:Contributions/Tmp7704"/>
		<updated>2026-09-20T22:18:13Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.6</generator>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=MSH&amp;diff=16130</id>
		<title>MSH</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=MSH&amp;diff=16130"/>
				<updated>2011-05-16T17:48:20Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: update of the Type attribute&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''MSH''' (mesh) files define a 3D mesh, to be referenced by [[MMH]] files when creating models in the game.&lt;br /&gt;
&lt;br /&gt;
MSH files are defined using XML source files with the extension .msh.xml. These files are run through the GraphicsProcessorMSH.exe program (found in the Dragon Age\Toolset\export_processors directory) to produce binary files that can be used by the game directly. See [[3rd_party_extensions]] for custom model export and import.&lt;br /&gt;
&lt;br /&gt;
:GraphicsProcessorMSH [-outdir &amp;lt;out-dir&amp;gt;] [-platform &amp;lt;x360,pc,ps3&amp;gt;] [options] [-indir&amp;lt;input-directory&amp;gt; / &amp;lt;input-file&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
Other options include:&lt;br /&gt;
:-mmdtogff{{undocumented}} - what mmdtogff means or does is unknowns besides it is required to compile msh.xml files.&lt;br /&gt;
&lt;br /&gt;
== msh.xml schema in RELAX NG 1.0 format ==&lt;br /&gt;
&lt;br /&gt;
See [http://www.oasis-open.org/committees/relax-ng/spec.html Relax NG Specs] for information on the RELAX NG 1.0 XML schema format. For a free converter/verifier, see [http://code.google.com/p/jing-trang/ jing-trang].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar ns=&amp;quot;&amp;quot; xmlns=&amp;quot;http://relaxng.org/ns/structure/1.0&amp;quot; datatypeLibrary=&amp;quot;http://www.w3.org/2001/XMLSchema-datatypes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;start&amp;gt;&lt;br /&gt;
    &amp;lt;element name=&amp;quot;ModelMeshData&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;attribute name=&amp;quot;Name&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/attribute&amp;gt;&lt;br /&gt;
      &amp;lt;attribute name=&amp;quot;Version&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;data type=&amp;quot;integer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/attribute&amp;gt;&lt;br /&gt;
      &amp;lt;zeroOrMore&amp;gt;&lt;br /&gt;
        &amp;lt;element name=&amp;quot;MeshGroup&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;attribute name=&amp;quot;Name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/attribute&amp;gt;&lt;br /&gt;
          &amp;lt;optional&amp;gt;&lt;br /&gt;
            &amp;lt;attribute name=&amp;quot;Optimize&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt; &amp;lt;!-- &amp;quot;all&amp;quot;, &amp;quot;none&amp;quot;, or &amp;quot;indices&amp;quot; --&amp;gt;&lt;br /&gt;
            &amp;lt;/attribute&amp;gt;&lt;br /&gt;
          &amp;lt;/optional&amp;gt;&lt;br /&gt;
          &amp;lt;optional&amp;gt;&lt;br /&gt;
            &amp;lt;attribute name=&amp;quot;optimize&amp;quot;&amp;gt; &amp;lt;!-- Appears to be the same as Optimize, apparently both capitalizations are allowed--&amp;gt;&lt;br /&gt;
              &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/attribute&amp;gt;&lt;br /&gt;
          &amp;lt;/optional&amp;gt;&lt;br /&gt;
          &amp;lt;oneOrMore&amp;gt;&lt;br /&gt;
            &amp;lt;element name=&amp;quot;Data&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;optional&amp;gt;&lt;br /&gt;
                &amp;lt;attribute name=&amp;quot;ElementCount&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;data type=&amp;quot;integer&amp;quot;/&amp;gt; &amp;lt;!-- If semantic is not &amp;quot;indices&amp;quot;, this count gives the number of tuples in the CDATA. --&amp;gt;&lt;br /&gt;
                &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/optional&amp;gt;&lt;br /&gt;
              &amp;lt;optional&amp;gt;&lt;br /&gt;
                &amp;lt;attribute name=&amp;quot;IndexCount&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;data type=&amp;quot;integer&amp;quot;/&amp;gt; &amp;lt;!-- If semantic is &amp;quot;indices&amp;quot;, this count gives the number of integers in the data's CDATA. --&amp;gt;&lt;br /&gt;
                &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/optional&amp;gt;&lt;br /&gt;
              &amp;lt;optional&amp;gt;&lt;br /&gt;
                &amp;lt;attribute name=&amp;quot;IndexType&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt; &amp;lt;!-- Every example of this has the value &amp;quot;Index32&amp;quot;, without exception. --&amp;gt;&lt;br /&gt;
                &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/optional&amp;gt;&lt;br /&gt;
              &amp;lt;attribute name=&amp;quot;Semantic&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt; &amp;lt;!-- &amp;quot;POSITION&amp;quot;, &amp;quot;Indices&amp;quot;, &amp;quot;TEXCOORD&amp;quot;, &amp;quot;TANGENT&amp;quot;, &amp;quot;BINORMAL&amp;quot;, &amp;quot;NORMAL&amp;quot;, &amp;quot;BLENDWEIGHT&amp;quot;, &amp;quot;BLENDINDICES&amp;quot;, &amp;quot;COLOR&amp;quot; --&amp;gt;&lt;br /&gt;
              &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;optional&amp;gt;&lt;br /&gt;
                &amp;lt;attribute name=&amp;quot;Type&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt; &amp;lt;!-- indicates how many elements and of what type are in the tuples in the CDATA. Values are &amp;quot;Float4&amp;quot; (four floating point numbers), &amp;quot;Float2&amp;quot; (two floating point numbers), &amp;quot;Short4&amp;quot; (four integers) --&amp;gt;&lt;br /&gt;
                &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/optional&amp;gt;&lt;br /&gt;
              &amp;lt;text/&amp;gt; &amp;lt;!-- contains CDATA with tuples of numbers. For example, a Float2 type MSH had this: &amp;lt;![CDATA[0.195959 0.999994 0.195959 0.266686 0 0.266683 0 1. 0.999999 0.999994 1. 0.166668 ]]&amp;gt; --&amp;gt;&lt;br /&gt;
            &amp;lt;/element&amp;gt;&lt;br /&gt;
          &amp;lt;/oneOrMore&amp;gt;&lt;br /&gt;
        &amp;lt;/element&amp;gt;&lt;br /&gt;
      &amp;lt;/zeroOrMore&amp;gt;&lt;br /&gt;
    &amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;/start&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&lt;br /&gt;
Type enum:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            /// 1 float &lt;br /&gt;
            DECLTYPE_FLOAT1 = 0,&lt;br /&gt;
            /// 2 floats&lt;br /&gt;
            DECLTYPE_FLOAT2 = 1,&lt;br /&gt;
            /// 3 floats&lt;br /&gt;
            DECLTYPE_FLOAT3 = 2,&lt;br /&gt;
            /// 4 floats&lt;br /&gt;
            DECLTYPE_FLOAT4 = 3,&lt;br /&gt;
            /// 4-byte color&lt;br /&gt;
            DECLTYPE_COLOR = 4,&lt;br /&gt;
            /// 4 unsigned bytes&lt;br /&gt;
            DECLTYPE_UBYTE4 = 5,&lt;br /&gt;
            /// 2 shorts&lt;br /&gt;
            DECLTYPE_SHORT2 = 6,&lt;br /&gt;
            /// 4 shorts&lt;br /&gt;
            DECLTYPE_SHORT4 = 7,&lt;br /&gt;
            /// 4 normalized bytes&lt;br /&gt;
            DECLTYPE_UBYTE4N = 8,&lt;br /&gt;
            /// 2 normalized shorts&lt;br /&gt;
            DECLTYPE_SHORT2N = 9,&lt;br /&gt;
            /// 4 normalized shorts&lt;br /&gt;
            DECLTYPE_SHORT4N = 10,&lt;br /&gt;
            /// 2 normalized unsigned shorts&lt;br /&gt;
            DECLTYPE_USHORT2N = 11,&lt;br /&gt;
            /// 4 normalized unsigned shorts&lt;br /&gt;
            DECLTYPE_USHORT4N = 12,&lt;br /&gt;
            /// 3d unsigned 10/10/10 format&lt;br /&gt;
            DECLTYPE_UDEC3 = 13,&lt;br /&gt;
            /// 3d unsigned 10/10/10 normalized&lt;br /&gt;
            DECLTYPE_DEC3N = 14,&lt;br /&gt;
            /// 2 16-bit floats&lt;br /&gt;
            DECLTYPE_FLOAT16_2 = 15,&lt;br /&gt;
            /// 4 16-bit floats&lt;br /&gt;
            DECLTYPE_FLOAT16_4 = 16,&lt;br /&gt;
            DECLTYPE_UNUSED = 0xffffffff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage enum:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            /// Position&lt;br /&gt;
            DECLUSAGE_POSITION = 0,&lt;br /&gt;
            /// Blend weights&lt;br /&gt;
            DECLUSAGE_BLENDWEIGHT = 1,&lt;br /&gt;
            /// Blend indices&lt;br /&gt;
            DECLUSAGE_BLENDINDICES = 2,&lt;br /&gt;
            /// Normal&lt;br /&gt;
            DECLUSAGE_NORMAL = 3,&lt;br /&gt;
            /// Point Size &lt;br /&gt;
            DECLUSAGE_PSIZE = 4,&lt;br /&gt;
            /// Texture coordinates&lt;br /&gt;
            DECLUSAGE_TEXCOORD = 5,&lt;br /&gt;
            /// Tangent vector&lt;br /&gt;
            DECLUSAGE_TANGENT = 6,&lt;br /&gt;
            /// binormal vector&lt;br /&gt;
            DECLUSAGE_BINORMAL = 7,&lt;br /&gt;
            /// tessellation factor&lt;br /&gt;
            DECLUSAGE_TESSFACTOR = 8,&lt;br /&gt;
            /// PositionT &lt;br /&gt;
            DECLUSAGE_POSITIONT = 9,&lt;br /&gt;
            /// color channel&lt;br /&gt;
            DECLUSAGE_COLOR = 10,&lt;br /&gt;
            /// fog value&lt;br /&gt;
            DECLUSAGE_FOG = 11,&lt;br /&gt;
            /// depth &lt;br /&gt;
            DECLUSAGE_DEPTH = 12,&lt;br /&gt;
            /// sample&lt;br /&gt;
            DECLUSAGE_SAMPLE = 13,&lt;br /&gt;
            // error/other/unset&lt;br /&gt;
            DECLUSAGE_UNUSED = 0xffffffff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example .MSH.XML file ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ModelMeshData name=&amp;quot;string&amp;quot; Version=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- must have 0 or more of these, obviously having at least 1 would be useful --&amp;gt;&lt;br /&gt;
	&amp;lt;MeshGroup name=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;!-- optional attributes: Optimize=&amp;quot;string&amp;quot;&amp;lt;&amp;lt; all,none, or indicies --&amp;gt;&lt;br /&gt;
	  &amp;lt;!-- must have at least 1 of these, will almost always have at least 6 --&amp;gt;&lt;br /&gt;
		&amp;lt;Data&amp;gt;&lt;br /&gt;
		&amp;lt;!-- optional attributes:&lt;br /&gt;
			ElementCount=&amp;quot;int&amp;quot;  -- If semantic is not &amp;quot;indices&amp;quot;, this is the number of tuples in the CDATA.&lt;br /&gt;
			IndexCount=&amp;quot;int&amp;quot; -- If semantic is &amp;quot;Indices&amp;quot;, this is the number of integers in the data's CDATA.&lt;br /&gt;
			IndexType=&amp;quot;string&amp;quot;&amp;gt; -- Every example of this has the value &amp;quot;Index32&amp;quot;, without exception. &lt;br /&gt;
			Semantic=&amp;quot;string&amp;quot; -- &amp;quot;POSITION&amp;quot;, &amp;quot;Indices&amp;quot;, &amp;quot;TEXCOORD&amp;quot;, &amp;quot;TANGENT&amp;quot;, &amp;quot;BINORMAL&amp;quot;, &amp;quot;NORMAL&amp;quot;, &amp;quot;BLENDWEIGHT&amp;quot;, &amp;quot;BLENDINDICES&amp;quot;, &amp;quot;COLOR&amp;quot;&lt;br /&gt;
						POSITION - vert coordinates&lt;br /&gt;
						TEXCOORD - texture coordinates&lt;br /&gt;
						TANGENT/BINROMAL/NORMAL - tangent/bitangent/normal of a vert&lt;br /&gt;
						Indices - the vert numbers (from the POSITION data block) which the faces are made from. &lt;br /&gt;
                                                            Note that the texcoords/tangents/bitangents/normals/blendweights/blendindices are by vertex and the ordering MUST be &lt;br /&gt;
                                                            the same as in the POSITION block&lt;br /&gt;
						BLENDWEIGHT - the movement weights of up to 4 bones on this vertex&lt;br /&gt;
						BLENDINDICES - the indices of the bones which the above weights apply to the index is the index of the bone in the accompanying &lt;br /&gt;
                                                               MMH's corresponding NodeMesh tag&lt;br /&gt;
						COLOR - vertex color&lt;br /&gt;
														&lt;br /&gt;
			Type=&amp;quot;string&amp;quot; -- indicates how many elements and of what type are in the tuples in the CDATA, as well as the output format for the provided values (as described in the Constants section) Appears to be case-sensitive.&lt;br /&gt;
&lt;br /&gt;
                                                &amp;quot;FLOAT1&amp;quot; (single floating point numbers)&lt;br /&gt;
                                                &amp;quot;FLOAT2&amp;quot;, &amp;quot;FLOAT16_2&amp;quot; (two floating point numbers)&lt;br /&gt;
                                                &amp;quot;FLOAT3&amp;quot; (three floating point numbers)&lt;br /&gt;
                                                &amp;quot;FLOAT4&amp;quot;, &amp;quot;FLOAT16_4&amp;quot; (four floating point numbers)&lt;br /&gt;
                                                &amp;quot;UDEC3&amp;quot;, &amp;quot;DEC3N&amp;quot; (undetermined, the format technically allows for three 10-bit values and one 2-bit value )&lt;br /&gt;
                                                &amp;quot;COLOR&amp;quot;, &amp;quot;UBYTE4&amp;quot;, &amp;quot;SHORT4&amp;quot;, &amp;quot;UBYTE4N&amp;quot;, &amp;quot;SHORT4N&amp;quot;, &amp;quot;USHORT4N&amp;quot; (four integers)&lt;br /&gt;
                                                &amp;quot;SHORT2&amp;quot;, &amp;quot;SHORT2N&amp;quot;, &amp;quot;USHORT2N&amp;quot; (two integers)&lt;br /&gt;
		--&amp;gt;&lt;br /&gt;
		data &amp;lt;!-- contains CDATA with tuples of numbers. For example, a Float2 type MSH had this: &lt;br /&gt;
                          &amp;lt;![CDATA[0.195959 0.999994 0.195959 0.266686 0 0.266683 0 1. 0.999999 0.999994 1. 0.166668 ]]&amp;gt; --&amp;gt;&lt;br /&gt;
		&amp;lt;/Data&amp;gt;&lt;br /&gt;
	&amp;lt;/MeshGroup&amp;gt;&lt;br /&gt;
&amp;lt;/ModelMeshData&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:File types]]&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=Installing_the_toolset&amp;diff=13157</id>
		<title>Installing the toolset</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=Installing_the_toolset&amp;diff=13157"/>
				<updated>2010-07-03T13:16:32Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: /* Lightmapper */ updated link to ActivePython download. Version 2.5.5.7 has been confirmed to work with the Toolset (tested on 64-bit Windows 7 machine)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Dragon Age Toolset installer comes with several pieces of third-party software that are needed for the toolset to function. They are:&lt;br /&gt;
&lt;br /&gt;
* DirectX 9.0c&lt;br /&gt;
* Visual C Runtime Library&lt;br /&gt;
* Microsoft SQL Server Express 2005 Edition&lt;br /&gt;
* Nvidia PhysX drivers&lt;br /&gt;
&lt;br /&gt;
These components will be installed along with the toolset by the toolset's installer.&lt;br /&gt;
&lt;br /&gt;
== Location ==&lt;br /&gt;
&lt;br /&gt;
The first screen you'll get to after starting the installer and passing the title page is the install location selector. The toolset can only install the program into a specific subdirectory of the Dragon Age game directory, so you won't be able to alter the installation path; it's for informational purposes.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' MSSQL Express 2005 is bundled with this toolset and is required for it to function. Unfortunately, MSSQL Express 2005's installer has a limitation that prevents it from installing to a directory path that's longer than 58 characters.&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/935371]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Follow the instructions on [[installation into a directory with a long path name]] for a workaround on this issue.&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
The next screen after location has been selected is where you can choose which components to install. There are only two selectable components here; Core Resources (the toolset itself) and Microsoft SQL Server Express. To run the toolkit you'll obviously need to install the Core Resources option. SQL Server is presented as a separate option so that if you already have a database server installed on your system you can use that instead of installing a whole new one.&lt;br /&gt;
&lt;br /&gt;
If you don't have an SQL server installed, or if you don't know whether you have one installed, it's safe to go with the default and install SQL Server Express. SQLServer's installer will check the existing components and, finding that all required components are already in place, won't do anything after you click &amp;quot;finish.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Manual database selection ==&lt;br /&gt;
&lt;br /&gt;
If you choose not to install SQL Server Express, the installer will ask for a database server and database name to install the toolset's resource database to instead. The default server is &amp;lt;code&amp;gt;.\BWDATOOLSET&amp;lt;/code&amp;gt; and the default database name is &amp;lt;code&amp;gt;bw_dragonage_content&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Once you have selected these options the Dragon Age toolset will begin the installation process. This can take a while. When the install process is finished you'll be given the option to read a readme.txt file.&lt;br /&gt;
&lt;br /&gt;
The toolset will create a start menu folder named &amp;quot;Dragon Age&amp;quot;. The start menu folder will include a link to start the toolset, a link to the toolset's uninstaller, and a link to the toolset's external configuration utility.&lt;br /&gt;
&lt;br /&gt;
The installer will write a log file in your My Documents folder. If installation fails this log file will be helpful for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
If you are installing over a previous version of the toolset, you may need to update the format of your old database to make it compatible with the new version of the toolset. See [[database migration]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Lightmapper ===&lt;br /&gt;
&lt;br /&gt;
The [[lightmap|lightmapper]] is the tool used to calculate lighting in level layouts. You only need to use it if you're going to be creating or modifying level layouts. The lightmapper included with the toolset requires Python to run but Python isn't currently bundled with the toolset, so if you don't already have it installed you'll need to do the following:&lt;br /&gt;
&lt;br /&gt;
# Install [http://www.python.org/ftp/python/2.5.4/python-2.5.4.msi Python 2.5.4 ]&lt;br /&gt;
# Install the [http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/pywin32-214.win32-py2.5.exe/download win32 extensions] for Python 2.5 &amp;lt;BR&amp;gt; '''OR'''&lt;br /&gt;
# Install [http://downloads.activestate.com/ActivePython/releases/2.5.5.7/ActivePython-2.5.5.7-win32-x86.msi ActiveState Python 2.5.5.7]&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is to download and install ActiveState python which comes with the needed extensions.  Just click through the defaults on the installer and you will be ready to go.  If you want to use python.org installer, maker sure to install it first, then install the win32 extensions.&lt;br /&gt;
&lt;br /&gt;
* If you don't have Python installed and try to run the lightmapper, you'll receive a standard Windows error message indicating that &amp;quot;EclipseRay.exe has stopped working.&lt;br /&gt;
&lt;br /&gt;
* Note for 64 bit machines: There appears to be a bug with the 64-bit version of ActiveState Python 2.5 for Windows that prevents the lightmapper from functioning. Install the 32-bit version instead, it works.  The 32-bit version is the one linked above.&lt;br /&gt;
&lt;br /&gt;
* Do not install both ActivePython and Python.org.  This will most likely cause you to get an Error Code 1 when rendering lightmaps.&lt;br /&gt;
&lt;br /&gt;
* If you get an error code of -1073741819 this means you either have the 64 bit version or you have a version higher than 2.5.  Uninstall and use the installers from the links above.&lt;br /&gt;
&lt;br /&gt;
* If you get an error code of -1073741515, try copying the python25.dll (from your python installation directory) into the &amp;lt;dragon age install directory&amp;gt;\tools\lightmapper folder and restarting the toolset.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
The external configuration utility [[ConfigureToolset.exe]] (found in the Dragon Age\tools directory) is used to configure the toolset's database connection and to tell the toolset where the game's executable is. You shouldn't need to run the configuration utility during routine usage of the toolset, and if the defaults set up by your installer work you may not need to run it at all.&lt;br /&gt;
&lt;br /&gt;
The default database string is &amp;quot;&amp;lt;code&amp;gt;Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=bw_dragonage_content;Data Source=.\SQLEXPRESS&amp;lt;/code&amp;gt;&amp;quot;. For advanced configuration, click on the ellipsis button ([[Image:ellipsis.png]]) to open the data link properties window.&lt;br /&gt;
&lt;br /&gt;
==== Moving the database files from the default location ====&lt;br /&gt;
&lt;br /&gt;
By default, the database data and log files are loaded into C:\Program Files\DAODB\data and are called bw_dragonage_content.mdf and bw_dragonage_content.ldf.&lt;br /&gt;
&lt;br /&gt;
For Vista and Win7 installations, the Program Files path will be whatever is commonly used. If you cannot find the folder, do a search for .mdf files and you should get to the required folder.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you have customized your database during installation, replace the bw_dragonage_content with your database name.&lt;br /&gt;
&lt;br /&gt;
As you start working on your module and checking in resources, the database will grow in size.&lt;br /&gt;
If you want to move the database files elsewhere to free up space on C:, do the steps below. &lt;br /&gt;
* Make sure you have backed up your dragon age database - See [[Database_backup_and_restore]] for information on how to do it&lt;br /&gt;
* Open Microsoft SQL Server Management Studio Express - If you don't have it, you can download it [http://www.microsoft.com/downloads/details.aspx?FamilyId=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796 here]&lt;br /&gt;
* Open a New Query window either by clicking New Query button on the toolbar or going to File -&amp;gt; New -&amp;gt; Query with Current Connection or using the shortcut Ctrl+N&lt;br /&gt;
* Type the following into the query window and execute (F5) to detach the dragon age database from the data files&lt;br /&gt;
 use master&lt;br /&gt;
 go&lt;br /&gt;
 sp_detach_db 'bw_dragonage_content'&lt;br /&gt;
 go&lt;br /&gt;
* Move the database files to the new location&lt;br /&gt;
* Type the following into the query window and execute (F5) to attach the dragon age database to the data files&lt;br /&gt;
 use master&lt;br /&gt;
 go &lt;br /&gt;
 sp_attach_db 'bw_dragonage_content','&amp;lt;path to the .mdf file&amp;gt;\bw_dragonage_content.mdf','&amp;lt;path to the .ldf file&amp;gt;\bw_dragonage_content.ldf'&lt;br /&gt;
 go&lt;br /&gt;
* To check the path to the data files, you can type the following into the query window and execute it&lt;br /&gt;
 use bw_dragonage_content&lt;br /&gt;
 go&lt;br /&gt;
 sp_helpfile&lt;br /&gt;
 go&lt;br /&gt;
&lt;br /&gt;
This [[http://support.microsoft.com/kb/224071 Microsoft KB article]] has more details, if required.&lt;br /&gt;
&lt;br /&gt;
== Uninstallation ==&lt;br /&gt;
&lt;br /&gt;
An uninstaller shortcut is available from the same start menu folder as the toolset itself. It will autodetect the location you installed the toolset in, display it to you to confirm that this is correct, and then after you click &amp;quot;next&amp;quot; it will ask which components to uninstall.&lt;br /&gt;
&lt;br /&gt;
* Core Resources - uninstalled by default, this is the toolset itself.&lt;br /&gt;
* Database - Since the uninstaller can't automatically determine if you're using SQLServer Express purposes other than just the Dragon Age toolset, SQLServer is ''not'' uninstalled automatically by default. To have the uninstaller remove the database server as well, unselect this checkbox.&lt;br /&gt;
&lt;br /&gt;
The uninstaller is generated on installation and therefore isn't signed. This may cause Vista to complain under some circumstances but shouldn't affect the uninstaller's functioning. &lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
See [[installation troubleshooting]] for a list of common problems that can occur during installation and how to correct or work around them.&lt;br /&gt;
&lt;br /&gt;
If you experience a crash, logs can be found in &amp;lt;code&amp;gt;My Documents\BioWare\Dragon Age\Toolset\logs&amp;lt;/code&amp;gt;. The log filenames will include the date on which the log file was created. Sending in a log will help greatly with bug fixing.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Documentation is currently provided via the wiki at:&lt;br /&gt;
&lt;br /&gt;
http://social.bioware.com/wiki/datoolset/&lt;br /&gt;
&lt;br /&gt;
[[Category:Toolset installation]]&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=13049</id>
		<title>2DA ranges in use</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=13049"/>
				<updated>2010-06-18T14:02:34Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: /* ItemVariations (all) */ duplicated the note about ID range bug to make it harder to miss.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to enumerate row ID ranges that are used by the main game and by various popular addins, to avoid accidental overlap. See also [[Prefixes in use]] and [[Compatibility]].&lt;br /&gt;
&lt;br /&gt;
Note that there's no need for 2DA row IDs to be sequential, so you can use very large row ID numbers to reduce the chances of collision.&lt;br /&gt;
&lt;br /&gt;
Version 1.0 of the toolset had a bug in ExcelProcessor that caused problems with high row ID numbers, but this has been fixed in subsequent releases. See [[Bug: ExcelProcessor doesn't handle row IDs above 8.3 million correctly|the bug report]].&lt;br /&gt;
&lt;br /&gt;
As of now there is a bug that prevents ID's above 255 to be used for some M2DA's. Most certainly it is ''&amp;quot;only&amp;quot;'' [[ItemVariations.xls]] related. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ABI_base ==&lt;br /&gt;
&lt;br /&gt;
According to the [[ABI_base]] page under the ''tooltipstrref'' column, anything over 500000 is considered a debuff. This would limit the range a fair amount.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 200262'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50001&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 51000 - 51002&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560500&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680199&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== AI_TacticsPresets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 9'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 10 - 15&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ANIM_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65002&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== APR_base ==&lt;br /&gt;
&lt;br /&gt;
Note that there is a bug involving this 2DA: [[Bug: APR base maximum M2DA row ID is 65535 in the toolset]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 90'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65001&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 55000 - 57000&lt;br /&gt;
| World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== BITM_base and ItemStats_ ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 30000 - 30500&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 40000 - 40200&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 57000-59000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50100&lt;br /&gt;
| Feline Fuelled Games - (by Silk) [http://www.felinefuelledgames.de/ Feline Fuelled Games]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== crafting_recipe_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 7'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== crafting_recipes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 91'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680999&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== engineevents ==&lt;br /&gt;
&lt;br /&gt;
Those ranges relates to custom events types/ID and not to engineevents based [[Event_override|events overriding]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 500&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 510 - 511&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== guitypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 600 - 600&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 601 - 601&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemprps ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 10022'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873322&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemsets ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680500&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7771000 - 7771500&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ItemVariations (all) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000'''&lt;br /&gt;
| '''Bioware - reserved (guessed)'''&lt;br /&gt;
|-&lt;br /&gt;
| 12000 - 12100&lt;br /&gt;
| [http://social.bioware.com/project/1923/ Adonnay's Weaponry] (reserved by mikemike37 on his behalf)&lt;br /&gt;
|-&lt;br /&gt;
| 101000 - 400000&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
note: ItemVariations are affected by the bug which prevents ID's above 255 from appearing properly in the game. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== M2DA_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1016, 2000 - 2010, 10011 - 10142, ...? '''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5000 - 5014&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 100000 - 100000&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1907/ Event Manager]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2300000 - 2300100&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation] (M2DA prefix: COC)&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5681000 - 5681005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/2896/ DACrafting framework]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 7000000 - 7000050&lt;br /&gt;
| FtG - [http://social.bioware.com/project/1688/ UI Mod]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000 - 7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone] &lt;br /&gt;
|-&lt;br /&gt;
| 7777770 - 7777799&lt;br /&gt;
| Magic - [http://social.bioware.com/project/1429/ Void Walker] (M2DA prefix: VWK)&lt;br /&gt;
|-&lt;br /&gt;
| 9000000 - 9000050&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|- &lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialrules ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873323&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialtypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 88'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680300&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873340&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PartyPicker ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 11'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''????'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 101-199&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 200 - 299&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 300 - 350&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PRCSCR ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 10100000&lt;br /&gt;
| Camp [http://social.bioware.com/project/463/ storage chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100011-10100013&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2620/ Camp Merchant Chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100014-10100016&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2717/ Item Sets Fix]&lt;br /&gt;
|-&lt;br /&gt;
| 10100100-10100110&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680020&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2000000-2000050&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=942 Oracle,mutantspicy's magic vault, and other custom armors]&lt;br /&gt;
|-&lt;br /&gt;
| 42006090 - 42006100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1120 Morrigan Restoration Patch]&lt;br /&gt;
|-&lt;br /&gt;
| 1109197751 - 1109197799&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1020 Awakening Runes Fixes], [http://dragonagenexus.com/downloads/file.php?id=1112 Awakening Blackblade Armor Dragon Drop Fix]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== placeable_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 43050-43061&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]  (Greater 65535 is showing bugs so this is until it is fixed)&lt;br /&gt;
|-&lt;br /&gt;
| 43062-43065&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 56000-56200&lt;br /&gt;
| [http://social.bioware.com/project/2472/#details Mikes Invisible Boxes]&lt;br /&gt;
|-&lt;br /&gt;
| 2696549 - 2696700&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden] (NOTE: I'm using the 6000-6200 range until Bioware fixes the bug which prevents m2da ID ranges above 900000 from showing up in game.)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PRJ_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== tint_override ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 520&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1109197701 - 1109197750&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1064 Helmets without wings and retints]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ts_material ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TS_Category ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vfx_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5680011 - 5680019&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=Texture_Formats&amp;diff=12970</id>
		<title>Texture Formats</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=Texture_Formats&amp;diff=12970"/>
				<updated>2010-05-29T16:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: added mention of 'e' and 'f' map types&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Textures in DAO are stored in the [[DDS]] format. Native support of this file type can be added to a graphics package such as Adobe Photoshop or GIMP via the use of plugins. Alternatively, a DDS can be converted into a more universal format such as TGA or JPG using 3rd party tools.&lt;br /&gt;
&lt;br /&gt;
== Texture Types ==&lt;br /&gt;
&lt;br /&gt;
Dragon Age uses a number of different texture types. While all are in the [[DDS]] format, they have different purposes. The filename scheme differentiates these types with a suffix. Typically, a texture set for a particular model consists of 4 different types. These are as follows, using the deer model as an example:&lt;br /&gt;
&lt;br /&gt;
c_deera_0d.dds - Diffuse map (''d'' suffix)&lt;br /&gt;
&lt;br /&gt;
c_deera_0n.dds - Normal map (''n'' suffix)&lt;br /&gt;
&lt;br /&gt;
c_deera_0s.dds - Specular map (''s'' suffix)&lt;br /&gt;
&lt;br /&gt;
c_deera_0t.dds - Tint map (''t'' suffix)&lt;br /&gt;
&lt;br /&gt;
Additional texture types are used on some models. The most common type is a height map used on static objects like floors and walls, designated with the ''h'' suffix. Other types are emission (glow) maps designated with the ''e'' suffix, and fresnel maps utilized by some metallic materials, designated with the ''f'' suffix. There's also icon textures, prefixed with ''ico_''&lt;br /&gt;
&lt;br /&gt;
=== Diffuse Map ===&lt;br /&gt;
&lt;br /&gt;
This texture holds the base colour information for the model. Diffuse maps are commonly referred to as &amp;quot;skins&amp;quot; in other games. Diffuse maps can be enhanced through the use of the [[Material Tint System|tint system]], which overlays a series of colours (defined by the [[TNT]] file) on the diffuse map in a pattern defined by the associated tint map.&lt;br /&gt;
&lt;br /&gt;
RGB channels - These hold the colour information, as with any standard image.&lt;br /&gt;
&lt;br /&gt;
Alpha channel - The alpha channel is multi-purpose. Typically it holds transparency information (black is 100% transparency, white is 100% opacity, shades of grey denote values in between), however in some cases, such as face textures, it holds the specular map instead. In these instances there is no separate specular map. &lt;br /&gt;
&lt;br /&gt;
Special cases: Some diffuse maps, notably for hair, do not follow the standard arrangement and are instead what is known as a &amp;quot;packed texture&amp;quot;. In these instances, the image is essentially a container for 4 separate greyscale texture maps, one in each channel. These are used in conjunction with the [[Material Tint System|tint system]] when full colour diffuse maps are not necessary. For example, the hair diffuse map is a packed texture that appears to have the normal map in the red channel, the specular map in the green channel, the alpha map in the blue channel, and the diffuse map in the alpha channel.&lt;br /&gt;
&lt;br /&gt;
DDS Compression: [[DDS Export Settings]]&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_Dif_Map.jpg|thumb|none|Deer diffuse map]]&lt;br /&gt;
&lt;br /&gt;
=== Normal Map ===&lt;br /&gt;
&lt;br /&gt;
Normal maps are an enhanced version of bump maps, and are used to fake the appearance of additional geometry on a low polygon mesh. They work by providing information on how light would be reflected from a polygon's surface normal (hence the name normal map) as if it were part of a more detailed model. This provides the optical illusion of extra height and depth to otherwise flat geometry. It is typically used to provide roughness to surfaces like rock, or intricate detail like raised filigree patterns on armour and weapons. It is a way of providing highly detailed models without the use of a large number of polygons.&lt;br /&gt;
&lt;br /&gt;
Normal maps used by Dragon Age differ from the typical tangent-space normal maps used in other games. A tangent-space normal map holds X information in the red channel, Y information in the green channel, and Z information in the blue channel. DA normal maps are RGBA with only X and Y information. Z information is interpolated on the fly. &lt;br /&gt;
&lt;br /&gt;
R = Y (same as G channel in regular normal maps)&lt;br /&gt;
&lt;br /&gt;
G = Y (same as G channel in regular normal maps)&lt;br /&gt;
&lt;br /&gt;
B = Y (same as G channel in regular normal maps)&lt;br /&gt;
&lt;br /&gt;
Alpha = X (same as R channel in regular normal maps)&lt;br /&gt;
&lt;br /&gt;
DDS Compression: [[DDS Export Settings]]&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_Nml_Map_DA.jpg|thumb|left|Deer normal map in DA format]]  [[image:TexFor_Deer_Nml_Map_Reg.jpg|thumb|none|Deer normal map converted to typical RGB format]]&lt;br /&gt;
&lt;br /&gt;
=== Specular Map ===&lt;br /&gt;
&lt;br /&gt;
Specular maps hold information on how an object reflects light. It is sometimes also referred to as a gloss map. Lighting is games does not reflect the true behaviour of light in the real world, thus specular highlights are used to give the illusion of light reflecting off a surface. In simplest terms, it denotes the size and intensity of bright spots on an object, places where light would reflect back in the real world. Objects that should appear very shiny, like polished metal, have high sharp specular highlights, objects that should appear fairly dull, like cloth, have low flat specular highlights.&lt;br /&gt;
&lt;br /&gt;
Specular maps function in a manner not dissimilar to alpha masks, in that the closer to white an area it is, the brighter the highlight. This information is stored in alpha channel of the specular map. The RGB part of the map defines tint applied to the highlight, as not all materials reflect the light equally -- some can reflect the color of the light source, while for others this will be the color of the reflecting object. The tint helps to simulate the latter behavior.&lt;br /&gt;
&lt;br /&gt;
DDS Compression: [[DDS Export Settings]]&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_Spec_Map_4ch.jpg|thumb|none|Deer specular map]]&lt;br /&gt;
&lt;br /&gt;
=== Tint Map ===&lt;br /&gt;
&lt;br /&gt;
Tint maps are another container texture, holding a series of up to 4 greyscale images (RGBA). Each channel is actually an alpha mask. They denote areas of the associated diffuse texture that will be affected by the corresponding tint colour defined in the [[TNT]] file. &lt;br /&gt;
&lt;br /&gt;
Commonly only the RGB Channels are used, where one given channel always masks a specific Surface (ie Metal). So that a tint like &amp;quot;Red Steel&amp;quot; can be reapplyable to the full range of armor models, which applies a red tint to only that mask.&lt;br /&gt;
&lt;br /&gt;
Equally, the alpha channel is often only used for skin tints, where applicable. &lt;br /&gt;
&lt;br /&gt;
DDS Compression: [[DDS Export Settings]]&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_Tint_Map.jpg|thumb|none|RGB channels for deer tint map]]&lt;br /&gt;
&lt;br /&gt;
== Material Object ==&lt;br /&gt;
&lt;br /&gt;
A texture set for a model is defined in the model's material object or [[MAO]]. See the [[MAO]] page for more info.&lt;br /&gt;
&lt;br /&gt;
== Level of Detail ==&lt;br /&gt;
&lt;br /&gt;
Most complex models (such as NPCs and creatures) have a scaling level of detail (LOD). As a player moves further away from an object, the LOD is progressively scaled down to reduce system overhead. Both the geometry and textures of a model may have LOD variants. DA uses three LOD levels, denoted by the suffix. The three levels are 0 (highest), 2 and 3 (lowest). For LOD0, the suffix is simply _0''x'' (where ''x'' denotes texture type). For LOD2, the suffix is _0''x''l2 and for LOD3, it is _0''x''l3. For example, c_deera_0d.dds is a diffuse texture at the highest LOD, c_deera_0dl2.dds and c_deera_0dl3.dds are the LOD2 and LOD3 diffuse textures, respectively. Each LOD texture level is generally 25% the size of the preceding level. For instance, for a LOD0 texture that is 1024x1024, the LOD2 texture will be 512x512 and the LOD3 texture will be 256x256. As well as diffuse maps, LOD is also used for specular and tint maps. Normal maps have no scaling LOD, as they are only used for LOD0.&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_LOD.jpg|thumb|none|Scaling LOD for deer diffuse map]]&lt;br /&gt;
&lt;br /&gt;
== Related Links ==&lt;br /&gt;
&lt;br /&gt;
[[Tutorial: Reskinning an Item]]&lt;br /&gt;
&lt;br /&gt;
[[Material editor|Material Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Material Tint System]]&lt;br /&gt;
&lt;br /&gt;
=== External Links ===&lt;br /&gt;
&lt;br /&gt;
nVidia DDS Plugin for Adobe Photoshop (32bit only)&lt;br /&gt;
http://developer.nvidia.com/object/photoshop_dds_plugins.html&lt;br /&gt;
&lt;br /&gt;
DDS Plugin for GIMP&lt;br /&gt;
http://nifelheim.dyndns.org/~cocidius/dds/&lt;br /&gt;
&lt;br /&gt;
DDS Converter v2.1 (DDS conversion tool)&lt;br /&gt;
http://eliteforce2.filefront.com/file/DDS_Converter;29412&lt;br /&gt;
&lt;br /&gt;
nVidia DDS Utilities (includes DDS conversion tool)&lt;br /&gt;
http://developer.nvidia.com/object/dds_utilities_legacy.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Textures]]&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=DDS_Export_Settings&amp;diff=12962</id>
		<title>DDS Export Settings</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=DDS_Export_Settings&amp;diff=12962"/>
				<updated>2010-05-25T16:40:39Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: edited out wrong info. engine crashes experienced with dxt1 compression was result of some 3rd party files being saved in non-standard format.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;According to http://social.bioware.com/forum/1/topic/8/index/599061/1#604952 these are the DDS export settings one should use.&lt;br /&gt;
&lt;br /&gt;
== From Photoshop ==&lt;br /&gt;
&lt;br /&gt;
=== For Icons ===&lt;br /&gt;
According to [http://social.bioware.com/10507/ Ketaros]&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Format: &amp;quot;X.8.8.8 XRGB 32 bpp | unsigned&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Type: &amp;quot;2D Texture&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Choose: &amp;quot;No MIP maps&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
According to [http://social.bioware.com/112329/ tmp7704&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;The icons i've extracted from original files were saved in ARGB fromat with fully opaque Alpha channel. Saving the data in XRGB format theoretically skips the alpha channel data altogether and supplies one unused channel instead, no idea if that makes any difference for the game engine.&amp;quot; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
According to [http://social.bioware.com/737222/ theBigMuh]&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Format 8.8.8.8 ARGB&amp;lt;br /&amp;gt;&lt;br /&gt;
Type: &amp;quot;2D Texture&amp;quot; (not qouted but assumed)&amp;lt;br /&amp;gt;&lt;br /&gt;
Choose: &amp;quot;No mip maps&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== For Textures ===&lt;br /&gt;
According to [http://social.bioware.com/737222/ theBigMuh]&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;For textures, use DXT1 for diffuse\\specular\\tint, and DXT3 (NOT DXT5) for normal maps. The interpolated alpha of DXT5 makes for horrible horrible bump mapping artifacts. Check generate mip maps, too. Put the high resolution variation into AddIns\\&amp;lt;youraddin&amp;gt;\\core\\textures\\high, and a 50% downscaled version into AddIns\\&amp;lt;youraddin&amp;gt;\\core\\textures\\medium.&amp;quot; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
According to [http://social.bioware.com/112329/ tmp7704]&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;The 1-bit alpha channel in DXT1 compression is often going to mess things up or be simply insufficient.&lt;br /&gt;
&lt;br /&gt;
The native tint maps seem to use unsigned 16-bit format (a4r4g4b4) which  works for them since they don't use any real gradients to speak of.&lt;br /&gt;
&lt;br /&gt;
The choice between DXT3 and DXT5 for the normal maps would depend on what sort of data is put in the alpha channel. If it has smooth gradients DXT5 is better suited for it. For sharp transitions DXT3 may be a better choice (the limitation of DXT3 compression is it can only record 16 brightness steps rather than 256. While DXT5 is similar to it in the worst possible case, it can offer better fidelity when your alpha channel doesn't cover full 0-255 brightness range)&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[DDS]]&lt;br /&gt;
&lt;br /&gt;
[[Texture Formats]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Textures]]&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=Texture_Formats&amp;diff=12960</id>
		<title>Texture Formats</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=Texture_Formats&amp;diff=12960"/>
				<updated>2010-05-24T11:13:56Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: purpose of specular texture channels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Textures in DAO are stored in the [[DDS]] format. Native support of this file type can be added to a graphics package such as Adobe Photoshop or GIMP via the use of plugins. Alternatively, a DDS can be converted into a more universal format such as TGA or JPG using 3rd party tools.&lt;br /&gt;
&lt;br /&gt;
== Texture Types ==&lt;br /&gt;
&lt;br /&gt;
Dragon Age uses a number of different texture types. While all are in the [[DDS]] format, they have different purposes. The filename scheme differentiates these types with a suffix. Typically, a texture set for a particular model consists of 4 different types. These are as follows, using the deer model as an example:&lt;br /&gt;
&lt;br /&gt;
c_deera_0d.dds - Diffuse map (''d'' suffix)&lt;br /&gt;
&lt;br /&gt;
c_deera_0n.dds - Normal map (''n'' suffix)&lt;br /&gt;
&lt;br /&gt;
c_deera_0s.dds - Specular map (''s'' suffix)&lt;br /&gt;
&lt;br /&gt;
c_deera_0t.dds - Tint map (''t'' suffix)&lt;br /&gt;
&lt;br /&gt;
Additional texture types are used on some models. The most common type is a height map used on static objects like floors and walls, designated with the ''h'' suffix. Or Icons, prefixed with ''ico_''&lt;br /&gt;
&lt;br /&gt;
=== Diffuse Map ===&lt;br /&gt;
&lt;br /&gt;
This texture holds the base colour information for the model. Diffuse maps are commonly referred to as &amp;quot;skins&amp;quot; in other games. Diffuse maps can be enhanced through the use of the [[Material Tint System|tint system]], which overlays a series of colours (defined by the [[TNT]] file) on the diffuse map in a pattern defined by the associated tint map.&lt;br /&gt;
&lt;br /&gt;
RGB channels - These hold the colour information, as with any standard image.&lt;br /&gt;
&lt;br /&gt;
Alpha channel - The alpha channel is multi-purpose. Typically it holds transparency information (black is 100% transparency, white is 100% opacity, shades of grey denote values in between), however in some cases, such as face textures, it holds the specular map instead. In these instances there is no separate specular map. &lt;br /&gt;
&lt;br /&gt;
Special cases: Some diffuse maps, notably for hair, do not follow the standard arrangement and are instead what is known as a &amp;quot;packed texture&amp;quot;. In these instances, the image is essentially a container for 4 separate greyscale texture maps, one in each channel. These are used in conjunction with the [[Material Tint System|tint system]] when full colour diffuse maps are not necessary. For example, the hair diffuse map is a packed texture that appears to have the normal map in the red channel, the specular map in the green channel, the alpha map in the blue channel, and the diffuse map in the alpha channel.&lt;br /&gt;
&lt;br /&gt;
DDS Compression: [[DDS Export Settings]]&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_Dif_Map.jpg|thumb|none|Deer diffuse map]]&lt;br /&gt;
&lt;br /&gt;
=== Normal Map ===&lt;br /&gt;
&lt;br /&gt;
Normal maps are an enhanced version of bump maps, and are used to fake the appearance of additional geometry on a low polygon mesh. They work by providing information on how light would be reflected from a polygon's surface normal (hence the name normal map) as if it were part of a more detailed model. This provides the optical illusion of extra height and depth to otherwise flat geometry. It is typically used to provide roughness to surfaces like rock, or intricate detail like raised filigree patterns on armour and weapons. It is a way of providing highly detailed models without the use of a large number of polygons.&lt;br /&gt;
&lt;br /&gt;
Normal maps used by Dragon Age differ from the typical tangent-space normal maps used in other games. A tangent-space normal map holds X information in the red channel, Y information in the green channel, and Z information in the blue channel. DA normal maps are RGBA with only X and Y information. Z information is interpolated on the fly. &lt;br /&gt;
&lt;br /&gt;
R = Y (same as G channel in regular normal maps)&lt;br /&gt;
&lt;br /&gt;
G = Y (same as G channel in regular normal maps)&lt;br /&gt;
&lt;br /&gt;
B = Y (same as G channel in regular normal maps)&lt;br /&gt;
&lt;br /&gt;
Alpha = X (same as R channel in regular normal maps)&lt;br /&gt;
&lt;br /&gt;
DDS Compression: [[DDS Export Settings]]&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_Nml_Map_DA.jpg|thumb|left|Deer normal map in DA format]]  [[image:TexFor_Deer_Nml_Map_Reg.jpg|thumb|none|Deer normal map converted to typical RGB format]]&lt;br /&gt;
&lt;br /&gt;
=== Specular Map ===&lt;br /&gt;
&lt;br /&gt;
Specular maps hold information on how an object reflects light. It is sometimes also referred to as a gloss map. Lighting is games does not reflect the true behaviour of light in the real world, thus specular highlights are used to give the illusion of light reflecting off a surface. In simplest terms, it denotes the size and intensity of bright spots on an object, places where light would reflect back in the real world. Objects that should appear very shiny, like polished metal, have high sharp specular highlights, objects that should appear fairly dull, like cloth, have low flat specular highlights.&lt;br /&gt;
&lt;br /&gt;
Specular maps function in a manner not dissimilar to alpha masks, in that the closer to white an area it is, the brighter the highlight. This information is stored in alpha channel of the specular map. The RGB part of the map defines tint applied to the highlight, as not all materials reflect the light equally -- some can reflect the color of the light source, while for others this will be the color of the reflecting object. The tint helps to simulate the latter behavior.&lt;br /&gt;
&lt;br /&gt;
DDS Compression: [[DDS Export Settings]]&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_Spec_Map_4ch.jpg|thumb|none|Deer specular map]]&lt;br /&gt;
&lt;br /&gt;
=== Tint Map ===&lt;br /&gt;
&lt;br /&gt;
Tint maps are another container texture, holding a series of up to 4 greyscale images (RGBA). Each channel is actually an alpha mask. They denote areas of the associated diffuse texture that will be affected by the corresponding tint colour defined in the [[TNT]] file. &lt;br /&gt;
&lt;br /&gt;
Commonly only the RGB Channels are used, where one given channel always masks a specific Surface (ie Metal). So that a tint like &amp;quot;Red Steel&amp;quot; can be reapplyable to the full range of armor models, which applies a red tint to only that mask.&lt;br /&gt;
&lt;br /&gt;
Equally, the alpha channel is often only used for skin tints, where applicable. &lt;br /&gt;
&lt;br /&gt;
DDS Compression: [[DDS Export Settings]]&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_Tint_Map.jpg|thumb|none|RGB channels for deer tint map]]&lt;br /&gt;
&lt;br /&gt;
== Material Object ==&lt;br /&gt;
&lt;br /&gt;
A texture set for a model is defined in the model's material object or [[MAO]]. See the [[MAO]] page for more info.&lt;br /&gt;
&lt;br /&gt;
== Level of Detail ==&lt;br /&gt;
&lt;br /&gt;
Most complex models (such as NPCs and creatures) have a scaling level of detail (LOD). As a player moves further away from an object, the LOD is progressively scaled down to reduce system overhead. Both the geometry and textures of a model may have LOD variants. DA uses three LOD levels, denoted by the suffix. The three levels are 0 (highest), 2 and 3 (lowest). For LOD0, the suffix is simply _0''x'' (where ''x'' denotes texture type). For LOD2, the suffix is _0''x''l2 and for LOD3, it is _0''x''l3. For example, c_deera_0d.dds is a diffuse texture at the highest LOD, c_deera_0dl2.dds and c_deera_0dl3.dds are the LOD2 and LOD3 diffuse textures, respectively. Each LOD texture level is generally 25% the size of the preceding level. For instance, for a LOD0 texture that is 1024x1024, the LOD2 texture will be 512x512 and the LOD3 texture will be 256x256. As well as diffuse maps, LOD is also used for specular and tint maps. Normal maps have no scaling LOD, as they are only used for LOD0.&lt;br /&gt;
&lt;br /&gt;
[[image:TexFor_Deer_LOD.jpg|thumb|none|Scaling LOD for deer diffuse map]]&lt;br /&gt;
&lt;br /&gt;
== Related Links ==&lt;br /&gt;
&lt;br /&gt;
[[Tutorial: Reskinning an Item]]&lt;br /&gt;
&lt;br /&gt;
[[Material editor|Material Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Material Tint System]]&lt;br /&gt;
&lt;br /&gt;
=== External Links ===&lt;br /&gt;
&lt;br /&gt;
nVidia DDS Plugin for Adobe Photoshop (32bit only)&lt;br /&gt;
http://developer.nvidia.com/object/photoshop_dds_plugins.html&lt;br /&gt;
&lt;br /&gt;
DDS Plugin for GIMP&lt;br /&gt;
http://nifelheim.dyndns.org/~cocidius/dds/&lt;br /&gt;
&lt;br /&gt;
DDS Converter v2.1 (DDS conversion tool)&lt;br /&gt;
http://eliteforce2.filefront.com/file/DDS_Converter;29412&lt;br /&gt;
&lt;br /&gt;
nVidia DDS Utilities (includes DDS conversion tool)&lt;br /&gt;
http://developer.nvidia.com/object/dds_utilities_legacy.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Textures]]&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=GFF&amp;diff=12862</id>
		<title>GFF</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=GFF&amp;diff=12862"/>
				<updated>2010-04-14T23:08:33Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: /* Lists */ note on generic lists format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Binary Generic File Format (GFF) is intended to be used for almost every file type in a game so it must support as many data types as are needed.&lt;br /&gt;
&lt;br /&gt;
A [[GFF editor]] is included with the toolset.&lt;br /&gt;
&lt;br /&gt;
== General overview ==&lt;br /&gt;
&lt;br /&gt;
In a GFF, data is grouped into structs, with the file level being the top level struct. Each struct can have any number of fields of any type including structs and variable size lists of any type.&lt;br /&gt;
&lt;br /&gt;
== Differences between GFF V4.0 and GFF V3.2 ==&lt;br /&gt;
&lt;br /&gt;
For those familiar with GFF V3.2, here is a short list of differences between V3.2 and the new version&lt;br /&gt;
&lt;br /&gt;
* 4-byte numerical labels instead of 16 byte strings for faster access&lt;br /&gt;
* Supports lists of any type for convenience (instead of only structs)&lt;br /&gt;
* All struct data is stored in the data block (rather than fields) to allow for faster loads. Fields provide a mapping of where the data is stored.&lt;br /&gt;
* Supports references to mimic pointers to allow complex data structures&lt;br /&gt;
* A few fields were added to the Header&lt;br /&gt;
** File Version records the version of the file type using the GFF&lt;br /&gt;
** Target Platform records the intended platform for the resource&lt;br /&gt;
* In general, the format has been simplified and unnecessary sections were removed (label array, field indices array and list indices array)&lt;br /&gt;
&lt;br /&gt;
Overall, the new format should result in smaller files with faster access times.&lt;br /&gt;
&lt;br /&gt;
== File Format Conceptual Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Field Data Types ===&lt;br /&gt;
There will be a starting list of supported types and new types can be added as needed. The file format can support as many as 65,535 different basic types.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Type || Type ID&lt;br /&gt;
|-&lt;br /&gt;
| UINT8 || 0 &lt;br /&gt;
|-&lt;br /&gt;
| INT8  || 1 &lt;br /&gt;
|-&lt;br /&gt;
| UINT16 || 2 &lt;br /&gt;
|-&lt;br /&gt;
| INT16  ||  3 &lt;br /&gt;
|-&lt;br /&gt;
| UINT32 ||  4 &lt;br /&gt;
|-&lt;br /&gt;
| INT32 || 5 &lt;br /&gt;
|-&lt;br /&gt;
| UINT64 || 6 &lt;br /&gt;
|-&lt;br /&gt;
| INT64  || 7 &lt;br /&gt;
|-&lt;br /&gt;
| FLOAT32 || 8 &lt;br /&gt;
|-&lt;br /&gt;
| FLOAT64 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| Vector3f || 10 &lt;br /&gt;
|-&lt;br /&gt;
| Vector4f || 12 &lt;br /&gt;
|-&lt;br /&gt;
| Quaternionf || 13 &lt;br /&gt;
|-&lt;br /&gt;
| ECString || 14 &lt;br /&gt;
|-&lt;br /&gt;
| Color4f  || 15 &lt;br /&gt;
|-&lt;br /&gt;
| Matrix4x4f || 16 &lt;br /&gt;
|-&lt;br /&gt;
| TlkString  || 17 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- see GFFReader.h for details --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Strings are stored as list of WCHARs.&lt;br /&gt;
&lt;br /&gt;
There's also a &amp;quot;Generic&amp;quot; type that's only usable in references, with type ID 0x0000FFFF&lt;br /&gt;
&lt;br /&gt;
=== Field Labels ===&lt;br /&gt;
&lt;br /&gt;
The Binary GFF uses 4-byte IDs to label each field. Within each struct, each field must have a unique ID. These IDs could be string hashes or numerical IDs. The only requirement is that the reader and writer of these files agree on the IDs. A large list of common IDs can be found by opening ''Dragon Age\tools\plugins\EditorGff40.dll'' with any text editor and searching for the string ''BinaryGFFIDList.h''&lt;br /&gt;
&lt;br /&gt;
== File Format Physical Layout ==&lt;br /&gt;
=== Platform dependence ===&lt;br /&gt;
&lt;br /&gt;
The endianness of the data is that of the target platform. For example, data files for intel processors should be little endian whereas data for power pcs should be big endian.&lt;br /&gt;
&lt;br /&gt;
There may be other differences in the files generated for different platforms in order to achieve proper alignment or the desired in memory layout of the data.&lt;br /&gt;
&lt;br /&gt;
=== Overall File Layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE cellSpacing=2 cellPadding=2 width=&amp;quot;25%&amp;quot; border=1&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Header&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct Array&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Field Array&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Raw Data Block&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Header ====&lt;br /&gt;
The header is located at the start of the file and contains the following values. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE cellSpacing=2 cellPadding=2 width=&amp;quot;90%&amp;quot; border=1&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Value&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Description&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;GFFMagicNumber&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;All GFF files will start with the hexadecimal value 0x47464620, which is the ASCII value for “GFF “.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;GFFVersion&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4 bytes representing the version of the underlying GFF format. This should be “V4.0” or 0x56342E30 for all files using this format.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;TargetPlatform&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte field indicating the intended target platform for this file.&lt;br /&gt;
*“PS3 “ or 0x50533320 for the Playstation 3&lt;br /&gt;
*“X360” or 0x58333630 for the XBOX 360&lt;br /&gt;
*“PC&amp;amp;nbsp;&amp;amp;nbsp;“ or 0x50432020 for the PC&lt;br /&gt;
There will most likely be more specialized targets for the PC in the future.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;FileType&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte field used to identify this file type. By convention it should be the three letter file extension followed by a space.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;FileVersion&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte version of the FileType. By convention it should be “Vx.x” or “xx.x” where X is a digit.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;StructCount&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte unsigned number of elements in the Struct Array.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Data Offset&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte unsigned offset from the beginning of the file to the Raw Data Block.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first five fields are always in big endian and never byteswapped. This keeps those fields human readable on any machine.&lt;br /&gt;
&lt;br /&gt;
==== Struct Array ====&lt;br /&gt;
&lt;br /&gt;
A struct is a grouping of data. A struct definition describes which data is in a struct. Many instances of a struct type may occur in a single file but there will only be one definition for each struct type. &lt;br /&gt;
&lt;br /&gt;
The Struct Array starts immediately after the header. The first element in the Struct Array is the Top-Level Struct for the GFF file and it describes what the file looks like at the top level. Since the Top-Level Struct is always present, every GFF file contains at least one element in the struct array.&lt;br /&gt;
&lt;br /&gt;
The Struct Array looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE cellSpacing=2 cellPadding=2 width=&amp;quot;35%&amp;quot; border=1&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct 0 (Top-Level Struct)*&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct 1&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct 2&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;...&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct N-1**&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Struct 0 is always present&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;N = Header.StructCount&lt;br /&gt;
&lt;br /&gt;
The GFF Struct contains the values listed in the table below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE cellSpacing=2 cellPadding=2 width=&amp;quot;35%&amp;quot; border=1&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Value&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Description&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;StructType&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte programmer defined ID&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;FieldCount&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte number of fields in the struct&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;FieldOffset&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte unsigned offset from the beginning of the file to the first field in the struct&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;StructSize&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte unsigned size of the chunk of data representing the struct&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All the fields for a struct are contiguous so knowing the address of the first one and the number of fields is enough information to access any element in the struct.&lt;br /&gt;
&lt;br /&gt;
==== Field Array ====&lt;br /&gt;
&lt;br /&gt;
The Field Array starts immediately after the Struct Array. Each field entry describes a piece of data contained in a struct. Each struct’s fields must be contiguous in the array and appear in increasing order of their labels. The fields for the Top Level Struct appear first in the array.&lt;br /&gt;
&lt;br /&gt;
The Field Array looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE cellSpacing=2 cellPadding=2 width=&amp;quot;35%&amp;quot; border=1&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct 0 field 0&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct 0 field 1&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct 0 …&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct 0 field Struct.FieldCount &amp;amp;mdash;  1&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct x field 0&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct x field 1&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct x …&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct x field Struct.FieldCount &amp;amp;mdash;  1&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;…&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each field looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE cellSpacing=2 cellPadding=2 width=&amp;quot;75%&amp;quot; border=1&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Value&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Description&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Label&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte label used to look up the field&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;FieldType&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte describing the type of the field (see below for explanation)&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Index&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;4-byte unsigned offset to the location of the data&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The label is just a 4-byte value used to find the correct field. They could be string hashes or some other numerical ID.&lt;br /&gt;
&lt;br /&gt;
The index field stores the location of the data as an offset from the beginning of the struct in the data block. This can result in padding within the structs which can be garbage data for all we care (although by convention we usually start with 0xFF).  In particular this happens when trying to maintain alignment for data types such as 16 byte alignment for vectors, etc.&lt;br /&gt;
&lt;br /&gt;
The type is broken up into two 2-byte values that describe the type of the field. &lt;br /&gt;
&lt;br /&gt;
The type looks like this:&lt;br /&gt;
&amp;lt;TABLE cellSpacing=2 cellPadding=2 width=&amp;quot;50%&amp;quot; border=1&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Value&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Description&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;TypeID&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;A 2-byte unsigned number indicating the type&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Flags&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;2-bytes of bit flags&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following flags are currently defined starting from the most significant bits. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE cellSpacing=2 cellPadding=2 width=&amp;quot;90%&amp;quot; border=1&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Bit&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt; &amp;lt;STRONG&amp;gt;Flag Description&amp;lt;/STRONG&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;2&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;List Flag. If this flag is set then this type is a list of the described type.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;3&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Struct flag. If this flag is set then this type is a struct.&lt;br /&gt;
If the struct flag is not set then the BaseType indicates the type of the field by the integer id of that type. If the struct flag is set then the BaseType indicates the index of this struct’s description in the Struct Array.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;1 (MSB)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Reference flag&lt;br /&gt;
If the reference flag is set then the data stored in the data block is actually an offset from the beginning of the data block to the location of the actual data. References can be used to mimic pointers in a GFF.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Raw Data Block ====&lt;br /&gt;
&lt;br /&gt;
The data block is where the actual data is stored. The data for the top level struct is stored at the beginning of the block. All other data will be fields in the struct or accessed by reference.&lt;br /&gt;
&lt;br /&gt;
=== Lists ===&lt;br /&gt;
&lt;br /&gt;
The address pointed to by a list is actually a reference to another location in the file which stores the list. The first thing in the list is a 4-byte unsigned length of the list followed by the elements.&lt;br /&gt;
&lt;br /&gt;
This is what the list looks like: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE cellSpacing=2 cellPadding=2 width=&amp;quot;20%&amp;quot; border=1&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Length&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Element 0&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Element 1&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;...&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;Element Length - 1&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt; &lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Empty lists can just store a null reference to prevent creating another block.&lt;br /&gt;
&lt;br /&gt;
Generic lists (the lists with FieldType set to 0xFFFF) store pairs: ''type, reference'' where ''type'' defines FieldType of individual element and ''reference'' is a standard [[#References|Reference]] pointing to data of the element.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
A reference is a 4-byte unsigned offset from the beginning of the data block to the location of the data.&lt;br /&gt;
&lt;br /&gt;
Null references are stored as 0xFFFFFFFF. &lt;br /&gt;
&lt;br /&gt;
== Improvements and optimizations ==&lt;br /&gt;
&lt;br /&gt;
=== Field look-up ===&lt;br /&gt;
&lt;br /&gt;
Field look-up is faster in this version of the GFF because it requires an integer comparison instead of a string comparison. Additionally, storing fields in order allows efficient search for the specific field. Finally, knowing what the data structure should look like allows the program to make a good guess as to where the data should be. If the guess is wrong (because the file is an older version) then the program only has to start searching at the initial guess, which is still a faster search than without a good guess.&lt;br /&gt;
&lt;br /&gt;
=== Binding tables ===&lt;br /&gt;
&lt;br /&gt;
It is possible to build a binding table for a type of file that will be read in often. The binding table will allow data to be loaded from the GFF without parsing through the file each time.&lt;br /&gt;
&lt;br /&gt;
=== Direct loads to memory ===&lt;br /&gt;
&lt;br /&gt;
Using this format it is possible to optimize specific file types by writing the GFF in exactly the way it will be written in memory. After verifying that the file type is up to date, the game can read the data block into memory and cast the pointer it directly to the in C data type. This optimization would not result in any loss of generality since the GFF will still be accessible in the usual way.&lt;br /&gt;
&lt;br /&gt;
[[Category:File types]]&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=MSH&amp;diff=12860</id>
		<title>MSH</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=MSH&amp;diff=12860"/>
				<updated>2010-04-14T00:08:57Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: added COLOR Semantic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''MSH''' (mesh) files define a 3D mesh, to be referenced by [[MMH]] files when creating models in the game.&lt;br /&gt;
&lt;br /&gt;
MSH files are defined using XML source files with the extension .msh.xml. These files are run through the GraphicsProcessorMSH.exe program (found in the Dragon Age\Toolset\export_processors directory) to produce binary files that can be used by the game directly. See [[3rd_party_extensions]] for custom model export and import.&lt;br /&gt;
&lt;br /&gt;
:GraphicsProcessorMSH [-outdir &amp;lt;out-dir&amp;gt;] [-platform &amp;lt;x360,pc,ps3&amp;gt;] [options] [-indir&amp;lt;input-directory&amp;gt; / &amp;lt;input-file&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
Other options include:&lt;br /&gt;
:-mmdtogff{{undocumented}} - what mmdtogff means or does is unknowns besides it is required to compile msh.xml files.&lt;br /&gt;
&lt;br /&gt;
== msh.xml schema in RELAX NG 1.0 format ==&lt;br /&gt;
&lt;br /&gt;
See [http://www.oasis-open.org/committees/relax-ng/spec.html Relax NG Specs] for information on the RELAX NG 1.0 XML schema format. For a free converter/verifier, see [http://code.google.com/p/jing-trang/ jing-trang].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;grammar ns=&amp;quot;&amp;quot; xmlns=&amp;quot;http://relaxng.org/ns/structure/1.0&amp;quot; datatypeLibrary=&amp;quot;http://www.w3.org/2001/XMLSchema-datatypes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;start&amp;gt;&lt;br /&gt;
    &amp;lt;element name=&amp;quot;ModelMeshData&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;attribute name=&amp;quot;Name&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/attribute&amp;gt;&lt;br /&gt;
      &amp;lt;attribute name=&amp;quot;Version&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;data type=&amp;quot;integer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/attribute&amp;gt;&lt;br /&gt;
      &amp;lt;zeroOrMore&amp;gt;&lt;br /&gt;
        &amp;lt;element name=&amp;quot;MeshGroup&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;attribute name=&amp;quot;Name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/attribute&amp;gt;&lt;br /&gt;
          &amp;lt;optional&amp;gt;&lt;br /&gt;
            &amp;lt;attribute name=&amp;quot;Optimize&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt; &amp;lt;!-- &amp;quot;all&amp;quot;, &amp;quot;none&amp;quot;, or &amp;quot;indices&amp;quot; --&amp;gt;&lt;br /&gt;
            &amp;lt;/attribute&amp;gt;&lt;br /&gt;
          &amp;lt;/optional&amp;gt;&lt;br /&gt;
          &amp;lt;optional&amp;gt;&lt;br /&gt;
            &amp;lt;attribute name=&amp;quot;optimize&amp;quot;&amp;gt; &amp;lt;!-- Appears to be the same as Optimize, apparently both capitalizations are allowed--&amp;gt;&lt;br /&gt;
              &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/attribute&amp;gt;&lt;br /&gt;
          &amp;lt;/optional&amp;gt;&lt;br /&gt;
          &amp;lt;oneOrMore&amp;gt;&lt;br /&gt;
            &amp;lt;element name=&amp;quot;Data&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;optional&amp;gt;&lt;br /&gt;
                &amp;lt;attribute name=&amp;quot;ElementCount&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;data type=&amp;quot;integer&amp;quot;/&amp;gt; &amp;lt;!-- If semantic is not &amp;quot;indices&amp;quot;, this count gives the number of tuples in the CDATA. --&amp;gt;&lt;br /&gt;
                &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/optional&amp;gt;&lt;br /&gt;
              &amp;lt;optional&amp;gt;&lt;br /&gt;
                &amp;lt;attribute name=&amp;quot;IndexCount&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;data type=&amp;quot;integer&amp;quot;/&amp;gt; &amp;lt;!-- If semantic is &amp;quot;indices&amp;quot;, this count gives the number of integers in the data's CDATA. --&amp;gt;&lt;br /&gt;
                &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/optional&amp;gt;&lt;br /&gt;
              &amp;lt;optional&amp;gt;&lt;br /&gt;
                &amp;lt;attribute name=&amp;quot;IndexType&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt; &amp;lt;!-- Every example of this has the value &amp;quot;Index32&amp;quot;, without exception. --&amp;gt;&lt;br /&gt;
                &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/optional&amp;gt;&lt;br /&gt;
              &amp;lt;attribute name=&amp;quot;Semantic&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt; &amp;lt;!-- &amp;quot;POSITION&amp;quot;, &amp;quot;Indices&amp;quot;, &amp;quot;TEXCOORD&amp;quot;, &amp;quot;TANGENT&amp;quot;, &amp;quot;BINORMAL&amp;quot;, &amp;quot;NORMAL&amp;quot;, &amp;quot;BLENDWEIGHT&amp;quot;, &amp;quot;BLENDINDICES&amp;quot;, &amp;quot;COLOR&amp;quot; --&amp;gt;&lt;br /&gt;
              &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;optional&amp;gt;&lt;br /&gt;
                &amp;lt;attribute name=&amp;quot;Type&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;data type=&amp;quot;NCName&amp;quot;/&amp;gt; &amp;lt;!-- indicates how many elements and of what type are in the tuples in the CDATA. Values are &amp;quot;Float4&amp;quot; (four floating point numbers), &amp;quot;Float2&amp;quot; (two floating point numbers), &amp;quot;Short4&amp;quot; (four integers) --&amp;gt;&lt;br /&gt;
                &amp;lt;/attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/optional&amp;gt;&lt;br /&gt;
              &amp;lt;text/&amp;gt; &amp;lt;!-- contains CDATA with tuples of numbers. For example, a Float2 type MSH had this: &amp;lt;![CDATA[0.195959 0.999994 0.195959 0.266686 0 0.266683 0 1. 0.999999 0.999994 1. 0.166668 ]]&amp;gt; --&amp;gt;&lt;br /&gt;
            &amp;lt;/element&amp;gt;&lt;br /&gt;
          &amp;lt;/oneOrMore&amp;gt;&lt;br /&gt;
        &amp;lt;/element&amp;gt;&lt;br /&gt;
      &amp;lt;/zeroOrMore&amp;gt;&lt;br /&gt;
    &amp;lt;/element&amp;gt;&lt;br /&gt;
  &amp;lt;/start&amp;gt;&lt;br /&gt;
&amp;lt;/grammar&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&lt;br /&gt;
Type enum:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            /// 1 float &lt;br /&gt;
            DECLTYPE_FLOAT1 = 0,&lt;br /&gt;
            /// 2 floats&lt;br /&gt;
            DECLTYPE_FLOAT2 = 1,&lt;br /&gt;
            /// 3 floats&lt;br /&gt;
            DECLTYPE_FLOAT3 = 2,&lt;br /&gt;
            /// 4 floats&lt;br /&gt;
            DECLTYPE_FLOAT4 = 3,&lt;br /&gt;
            /// 4-byte color&lt;br /&gt;
            DECLTYPE_COLOR = 4,&lt;br /&gt;
            /// 4 unsigned bytes&lt;br /&gt;
            DECLTYPE_UBYTE4 = 5,&lt;br /&gt;
            /// 2 shorts&lt;br /&gt;
            DECLTYPE_SHORT2 = 6,&lt;br /&gt;
            /// 4 shorts&lt;br /&gt;
            DECLTYPE_SHORT4 = 7,&lt;br /&gt;
            /// 4 normalized bytes&lt;br /&gt;
            DECLTYPE_UBYTE4N = 8,&lt;br /&gt;
            /// 2 normalized shorts&lt;br /&gt;
            DECLTYPE_SHORT2N = 9,&lt;br /&gt;
            /// 4 normalized shorts&lt;br /&gt;
            DECLTYPE_SHORT4N = 10,&lt;br /&gt;
            /// 2 normalized unsigned shorts&lt;br /&gt;
            DECLTYPE_USHORT2N = 11,&lt;br /&gt;
            /// 4 normalized unsigned shorts&lt;br /&gt;
            DECLTYPE_USHORT4N = 12,&lt;br /&gt;
            /// 3d unsigned 10/10/10 format&lt;br /&gt;
            DECLTYPE_UDEC3 = 13,&lt;br /&gt;
            /// 3d unsigned 10/10/10 normalized&lt;br /&gt;
            DECLTYPE_DEC3N = 14,&lt;br /&gt;
            /// 2 16-bit floats&lt;br /&gt;
            DECLTYPE_FLOAT16_2 = 15,&lt;br /&gt;
            /// 4 16-bit unsigned floats&lt;br /&gt;
            DECLTYPE_FLOAT16_4 = 16,&lt;br /&gt;
            DECLTYPE_UNUSED = 0xffffffff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage enum:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            /// Position&lt;br /&gt;
            DECLUSAGE_POSITION = 0,&lt;br /&gt;
            /// Blend weights&lt;br /&gt;
            DECLUSAGE_BLENDWEIGHT = 1,&lt;br /&gt;
            /// Blend indices&lt;br /&gt;
            DECLUSAGE_BLENDINDICES = 2,&lt;br /&gt;
            /// Normal&lt;br /&gt;
            DECLUSAGE_NORMAL = 3,&lt;br /&gt;
            /// Point Size &lt;br /&gt;
            DECLUSAGE_PSIZE = 4,&lt;br /&gt;
            /// Texture coordinates&lt;br /&gt;
            DECLUSAGE_TEXCOORD = 5,&lt;br /&gt;
            /// Tangent vector&lt;br /&gt;
            DECLUSAGE_TANGENT = 6,&lt;br /&gt;
            /// binormal vector&lt;br /&gt;
            DECLUSAGE_BINORMAL = 7,&lt;br /&gt;
            /// tessellation factor&lt;br /&gt;
            DECLUSAGE_TESSFACTOR = 8,&lt;br /&gt;
            /// PositionT &lt;br /&gt;
            DECLUSAGE_POSITIONT = 9,&lt;br /&gt;
            /// color channel&lt;br /&gt;
            DECLUSAGE_COLOR = 10,&lt;br /&gt;
            /// fog value&lt;br /&gt;
            DECLUSAGE_FOG = 11,&lt;br /&gt;
            /// depth &lt;br /&gt;
            DECLUSAGE_DEPTH = 12,&lt;br /&gt;
            /// sample&lt;br /&gt;
            DECLUSAGE_SAMPLE = 13,&lt;br /&gt;
            // error/other/unset&lt;br /&gt;
            DECLUSAGE_UNUSED = 0xffffffff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example .MSH.XML file ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ModelMeshData name=&amp;quot;string&amp;quot; Version=&amp;quot;int&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- must have 0 or more of these, obviously having at least 1 would be useful --&amp;gt;&lt;br /&gt;
	&amp;lt;MeshGroup name=&amp;quot;string&amp;quot;&amp;gt;&amp;lt;!-- optional attributes: Optimize=&amp;quot;string&amp;quot;&amp;lt;&amp;lt; all,none, or indicies --&amp;gt;&lt;br /&gt;
	  &amp;lt;!-- must have at least 1 of these, will almost always have at least 6 --&amp;gt;&lt;br /&gt;
		&amp;lt;Data&amp;gt;&lt;br /&gt;
		&amp;lt;!-- optional attributes:&lt;br /&gt;
			ElementCount=&amp;quot;int&amp;quot;  -- If semantic is not &amp;quot;indices&amp;quot;, this is the number of tuples in the CDATA.&lt;br /&gt;
			IndexCount=&amp;quot;int&amp;quot; -- If semantic is &amp;quot;Indices&amp;quot;, this is the number of integers in the data's CDATA.&lt;br /&gt;
			IndexType=&amp;quot;string&amp;quot;&amp;gt; -- Every example of this has the value &amp;quot;Index32&amp;quot;, without exception. &lt;br /&gt;
			Semantic=&amp;quot;string&amp;quot; -- &amp;quot;POSITION&amp;quot;, &amp;quot;Indices&amp;quot;, &amp;quot;TEXCOORD&amp;quot;, &amp;quot;TANGENT&amp;quot;, &amp;quot;BINORMAL&amp;quot;, &amp;quot;NORMAL&amp;quot;, &amp;quot;BLENDWEIGHT&amp;quot;, &amp;quot;BLENDINDICES&amp;quot;, &amp;quot;COLOR&amp;quot;&lt;br /&gt;
						POSITION - vert coordinates&lt;br /&gt;
						TEXCOORD - texture coordinates&lt;br /&gt;
						TANGENT/BINROMAL/NORMAL - tangent/bitangent/normal of a vert&lt;br /&gt;
						Indices - the vert numbers (from the POSITION data block) which the faces are made from. &lt;br /&gt;
                                                            Note that the texcoords/tangents/bitangents/normals/blendweights/blendindices are by vertex and the ordering MUST be &lt;br /&gt;
                                                            the same as in the POSITION block&lt;br /&gt;
						BLENDWEIGHT - the movement weights of up to 4 bones on this vertex&lt;br /&gt;
						BLENDINDICES - the indices of the bones which the above weights apply to the index is the index of the bone in the accompanying &lt;br /&gt;
                                                               MMH's corresponding NodeMesh tag&lt;br /&gt;
						COLOR - vertex color&lt;br /&gt;
														&lt;br /&gt;
			Type=&amp;quot;string&amp;quot; -- indicates how many elements and of what type are in the tuples in the CDATA. &lt;br /&gt;
						&amp;quot;Float4&amp;quot; (four floating point numbers),&lt;br /&gt;
						&amp;quot;Float2&amp;quot; (two floating point numbers),&lt;br /&gt;
						&amp;quot;Short4&amp;quot; (four integers) &lt;br /&gt;
		--&amp;gt;&lt;br /&gt;
		data &amp;lt;!-- contains CDATA with tuples of numbers. For example, a Float2 type MSH had this: &lt;br /&gt;
                          &amp;lt;![CDATA[0.195959 0.999994 0.195959 0.266686 0 0.266683 0 1. 0.999999 0.999994 1. 0.166668 ]]&amp;gt; --&amp;gt;&lt;br /&gt;
		&amp;lt;/Data&amp;gt;&lt;br /&gt;
	&amp;lt;/MeshGroup&amp;gt;&lt;br /&gt;
&amp;lt;/ModelMeshData&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:File types]]&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=3rd_party_extensions&amp;diff=12509</id>
		<title>3rd party extensions</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=3rd_party_extensions&amp;diff=12509"/>
				<updated>2010-03-10T17:42:10Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: /* Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List 3rd party extensions and applications here!&lt;br /&gt;
&lt;br /&gt;
== Third party applications ==&lt;br /&gt;
&lt;br /&gt;
=== Models ===&lt;br /&gt;
&lt;br /&gt;
* [http://social.bioware.com/project/218/ Tazpn's command line tools] - This packages includes an command line application for converting Dragon Age models from the native format to something that can be manipulated or used a reference for non-derivative works.&lt;br /&gt;
* [http://social.bioware.com/project/1060/ GUI for tazpn's Command Line Tools] - This is an easy-to-use program to convert Dragon Age Models utilizing tazpn's Command Line Tools &amp;amp; the Dragon Age Toolset Command Line Tools.&lt;br /&gt;
*[http://social.bioware.com/project/41/ DATool: DA model manipulator] - This is a tool for viewing, retexturing and resizing DA models. DATool allows you to easily browse the available DA models and make certain modifications to them.&lt;br /&gt;
*[http://social.bioware.com/project/563/ DA:O Toolset Model Exporter] - Project to create a 3DSMax exporter script. Current Version: 0.9.5&lt;br /&gt;
*[http://social.bioware.com/project/899/ Blender Import-Export Script] - A set of tools to import-export meshes and extract resources from erf or rim files, all working into Blender.&lt;br /&gt;
*[http://social.bioware.com/project/2246/ LightWave import-export plugin] - a plugin for [http://www.newtek.com/lightwave/ NewTek LightWave 3D]. Currently allows to import .msh files into LightWave and export 3d data from Modeler module to .msh.xml format.&lt;br /&gt;
&lt;br /&gt;
=== Game data ===&lt;br /&gt;
&lt;br /&gt;
*[http://social.bioware.com/project/755/ GDApp] - GDApp is a simple editor that natively creates or modifies Dragon Age: Origins GD2A spreadsheet files (*.gda), without the need of Excel files.&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=Area_layouts_used_in_the_single_player_module&amp;diff=9306</id>
		<title>Area layouts used in the single player module</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=Area_layouts_used_in_the_single_player_module&amp;diff=9306"/>
				<updated>2010-01-05T22:41:17Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This will help those that dont want to go through every area layout to find the one they want.&lt;br /&gt;
Hope this helps -RandyG&lt;br /&gt;
Updated - Slonison&lt;br /&gt;
&lt;br /&gt;
== arena ==&lt;br /&gt;
*arena - Small Castle Arena&lt;br /&gt;
*arena2 - Large Castle Arena&lt;br /&gt;
&lt;br /&gt;
== brc ==&lt;br /&gt;
*brc000d - Dalish Elf Camp&lt;br /&gt;
*brc100d - Brecilian Forest (1st Area)&lt;br /&gt;
*brc101d - Brecilian Forest (2nd Area)&lt;br /&gt;
*brc200d - Dalish Elf Origins: Ruins&lt;br /&gt;
*brc201d - Cavern (Unused?)&lt;br /&gt;
*brc202d - The Brecilian Ruins: Lower Ruins&lt;br /&gt;
*brc203d - The Brecilian Ruins: Lair of the Werewolves&lt;br /&gt;
*brc204d - The Brecilian Ruins: Upper Ruins&lt;br /&gt;
*brc300d - Dalish Elf Origins: Forest Path to Ruins&lt;br /&gt;
*brc501d - Darkspawn Encounter: Field near a Lake&lt;br /&gt;
*brc502d - Mountain Path (Dead End?)&lt;br /&gt;
*brc503d - Encounter: Twisting Roads&lt;br /&gt;
*brc504d - Encounter: Kadan-Fe Camp&lt;br /&gt;
*brc505d - Encounter: Marjolaine's Assassins (Road with river and waterfall)&lt;br /&gt;
*brc997d - Dalish Elf Origins: Camp&lt;br /&gt;
*brc999d - Player Camp&lt;br /&gt;
&lt;br /&gt;
== combat ==&lt;br /&gt;
*combat - Open Combat Area&lt;br /&gt;
*combat2 - Open Combat Area&lt;br /&gt;
&lt;br /&gt;
== den ==&lt;br /&gt;
*den000d - Denerim: Palace District: Palace Exterior (during attack)&lt;br /&gt;
*den001d - Denerim: Palace District: Royal Palace&lt;br /&gt;
*den005d - Denerim: Palace District: Arl of Denerim's: Interiors&lt;br /&gt;
*den009d - Haven Village: Store&lt;br /&gt;
*den011d - Denerim: Palace District: Arl of Denerim's: Dungeon&lt;br /&gt;
*den012d - Denerim: Palace District: Arl of Denerim's&lt;br /&gt;
*den020d - Denerim: Market District: Gnawed Noble's Tavern&lt;br /&gt;
*den101d - Denerim: Market District: Brother Genetivi's House&lt;br /&gt;
*den200d - Denerim: Alienage: Day&lt;br /&gt;
*den200n - Denerim: Alienage: Night (during attack)&lt;br /&gt;
*den201d - Denerim: Alienage: City Elf Origin's Home&lt;br /&gt;
*den202d - Denerim: Alienage: Alarith's Store&lt;br /&gt;
*den203d - Denerim: Alienage: Slum Apartments&lt;br /&gt;
*den204d - Denerim: Alienage: Tevinter Hospice&lt;br /&gt;
*den206d - Denerim: Alienage: Slaver Compound&lt;br /&gt;
*den207d - Denerim: Alienage: Valendrian's House&lt;br /&gt;
*den308d - Haven Village: Chantry&lt;br /&gt;
*den312d - Denerim: South Docks: The Pearl&lt;br /&gt;
*den400d - Denerim: Market District&lt;br /&gt;
*den401d - Denerim: Market District: Arl Eamon's Estate (First Floor)&lt;br /&gt;
*den403d - Denerim: Market District: Magic Shop&lt;br /&gt;
*den404d - Denerim: House (small, multiple uses)&lt;br /&gt;
*den405d - Denerim: House (large, Marjolaine encounter)&lt;br /&gt;
*den407d - Denerim: Market District: Master Wade's Emporium&lt;br /&gt;
*den408d - Denerim: Market District: Arl Eamon's Estate (Basement)&lt;br /&gt;
*den500d - Denerim: Fort Drakon (Main Floor, during attack)&lt;br /&gt;
*den501d - Denerim: Fort Drakon (Second Floor, during attack)&lt;br /&gt;
*den502d - Denerim: Fort Drakon (Rooftop, during attack)&lt;br /&gt;
*den504d - Denerim: Fort Drakon (Exteriors, during attack)&lt;br /&gt;
*den505d - Denerim: Fort Drakon (Main Floor)&lt;br /&gt;
*den510d - Denerim: City Gates (during attack)&lt;br /&gt;
*den520d - Denerim: Market District (during attack)&lt;br /&gt;
*den600d - Denerim: Alienage: Abandoned Orphanage&lt;br /&gt;
*den601d - Denerim: South Docks: Bloodmage HQ&lt;br /&gt;
*den602d - Denerim: Bann of West Hill's Estate&lt;br /&gt;
*den900d - Denerim: Back Alley (Narrow)&lt;br /&gt;
*den901d - Denerim: Back Alley (Wide)&lt;br /&gt;
*den998d - Denerim: Docks: Grey Warden Cache&lt;br /&gt;
&lt;br /&gt;
== hrt ==&lt;br /&gt;
*hrt000d - Lothering&lt;br /&gt;
*hrt001d - Lothering: Chantry&lt;br /&gt;
*hrt002d - Lothering: Dane's Refuge&lt;br /&gt;
*hrt201d - Highever/Cousland Castle: Human Noble Origins&lt;br /&gt;
*hrt201n - Highever/Cousland Castle: Human Noble Origins: Attack&lt;br /&gt;
&lt;br /&gt;
== lak ==&lt;br /&gt;
*lak100c - Redcliffe Village (Attack)&lt;br /&gt;
*lak100d - Redcliffe Village (Day)&lt;br /&gt;
*lak100n - Redcliffe Village (Night)&lt;br /&gt;
*lak101d - Redcliffe: General Store (Oil Drums)&lt;br /&gt;
*lak102d - Redcliffe: Katelyn's Home&lt;br /&gt;
*lak103d - Redcliffe: Tavern&lt;br /&gt;
*lak104d - Home 3 Rooms&lt;br /&gt;
*lak105d - Redcliffe: Blacksmith's Store&lt;br /&gt;
*lak106d - Redcliffe: Chantry&lt;br /&gt;
*lak107d - Redcliffe: House (along wooden path)&lt;br /&gt;
*lak108d - Redcliffe: Dwyn's Home&lt;br /&gt;
*lak109d - Redcliffe: Windmill&lt;br /&gt;
*lak110d - Redcliffe: Katelyn's Home (Upstairs)&lt;br /&gt;
*lak200d - Redcliffe: Castle Courtyard&lt;br /&gt;
*lak201d - Redcliffe: Castle (1st Floor)&lt;br /&gt;
*lak202d - Redcliffe: Castle (2nd Floor)&lt;br /&gt;
*lak203d - Redcliffe: Castle (Basement)&lt;br /&gt;
*lak250d - The Fade (Connor)&lt;br /&gt;
*lak300d - Lake Calenhad&lt;br /&gt;
*lak302d - The Circle Tower (Basement)&lt;br /&gt;
*lak303d - The Circle Tower: Apprentice Quarters (1st Floor)&lt;br /&gt;
*lak304d - The Circle Tower: Senior Mage Quarters (2nd Floor)&lt;br /&gt;
*lak307d - The Circle Tower: Harrowing Chamber (5th Floor)&lt;br /&gt;
*lak308d - The Circle Tower: Storage (Spiders)&lt;br /&gt;
*lak400d - Haven Village&lt;br /&gt;
*lak401d - Ruined Temple (1st Floor)&lt;br /&gt;
*lak403d - Ruined Temple: Mountain Peak&lt;br /&gt;
*lak404d - Ruined Temple: The Gauntlet&lt;br /&gt;
*lak405d - Ruined Temple (2nd Floor)&lt;br /&gt;
*lak503d - The Circle Tower: Apprentice Quarters (1st Floor) Attack&lt;br /&gt;
*lak504d - The Circle Tower: Senior Mage Quarters (2nd Floor) Attack&lt;br /&gt;
*lak505d - The Circle Tower: The Great Hall (3rd Floor) Attack&lt;br /&gt;
*lak506d - The Circle Tower: Templar Quarters (4th Floor) Attack&lt;br /&gt;
*lak507d - The Circle Tower: Harrowing Chamber (5th Floor) Attack&lt;br /&gt;
*lak510d - Weisshaupt Fortress&lt;br /&gt;
*lak511d - Weisshaupt: The Burning Tower&lt;br /&gt;
*lak512d - Weisshaupt: The Darkspawn Invasion&lt;br /&gt;
*lak513d - Weisshaupt: The Mage's Asunder&lt;br /&gt;
*lak514d - Weisshaupt: The Templar's Nightmare&lt;br /&gt;
*lak515d - Weisshaupt: Inner Sanctum&lt;br /&gt;
*lak519d - Rocky Structure&lt;br /&gt;
*lak526d - Weisshaupt: A Nightmare&lt;br /&gt;
&lt;br /&gt;
== lgt ==&lt;br /&gt;
*lgt101d - Lake Calenhad: The Spoiled Princess&lt;br /&gt;
*lgt300d - Frostback Mountain&lt;br /&gt;
*lgt600d - Outside Broken Bridge&lt;br /&gt;
*lgt601d - Outside Broken Bridge 2&lt;br /&gt;
*lgt602d - Outside Broken Bridge 3&lt;br /&gt;
*lgt603d - Outside Broken Bridge 4&lt;br /&gt;
*lgt604d - Outside Broken Bridge 5&lt;br /&gt;
*lgt605d - Outside Broken Bridge 6&lt;br /&gt;
&lt;br /&gt;
== orz ==&lt;br /&gt;
*orz000d - Orzammar: Hall of Heroes&lt;br /&gt;
*orz100d - Orzammar Commons&lt;br /&gt;
*orz101d - Orzammar Commons: Tapster's Tavern&lt;br /&gt;
*orz102d - Orzammar Commons: Janar's Armorers&lt;br /&gt;
*orz103d - Orzammar Commons: Jarvia's Carta Hideout&lt;br /&gt;
*orz105d - Orzammar Commons: Figor's Imports&lt;br /&gt;
*orz106d - Small Home&lt;br /&gt;
*orz107d - Orzammar Commons: Orzammar Chantry&lt;br /&gt;
*orz200d - Orzammar Dust Town&lt;br /&gt;
*orz201d - Orzammar Dust Town: Slums Home&lt;br /&gt;
*orz203d - Orzammar Dust Town: Alimar's Emporium&lt;br /&gt;
*orz300d - Orzammar Diamond Quarter&lt;br /&gt;
*orz301d - Orzammar Diamond Quarter: The Assembly&lt;br /&gt;
*orz302d - Orzammar Diamond Quarter: Harrowmont's Estate&lt;br /&gt;
*orz303d - Orzammar Diamond Quarter: Royal Palace&lt;br /&gt;
*orz304d - Orzammar Diamond Quarter: Shaperate&lt;br /&gt;
*orz500d - Orzammar Commons: The Proving&lt;br /&gt;
*orz601d - Orzammar Prison&lt;br /&gt;
*orz700d - The Deep Roads: Caridin's Cross&lt;br /&gt;
*orz701d - The Deep Roads: Aeducan Thaig&lt;br /&gt;
*orz702d - The Deep Roads: Ortan Thaig&lt;br /&gt;
*orz703d - The Deep Roads: Unfinished Area (No Lava)&lt;br /&gt;
*orz704d - The Deep Roads: Tomb?&lt;br /&gt;
*orz800d - The Deep Roads: Unused Map?&lt;br /&gt;
*orz900d - The Deep Roads: The Dead Trenches&lt;br /&gt;
*orz901d - The Deep Roads: Anvil of the Void&lt;br /&gt;
*orz999d - The Deep Roads: Unused Map?&lt;br /&gt;
&lt;br /&gt;
== ost ==&lt;br /&gt;
*ost000a - Ostagar Camp Night&lt;br /&gt;
*ost000c - Ostagar Camp Attack&lt;br /&gt;
*ost000t - Ostagar Camp Day&lt;br /&gt;
*ost001d - Tower of Ishal (First Floor)&lt;br /&gt;
*ost002d - Tower of Ishal (Second Floor)&lt;br /&gt;
*ost003d - Tower of Ishal (Third Floor)&lt;br /&gt;
*ost004d - Tower of Ishal (Top Floor)&lt;br /&gt;
*ost100d - Korcari Wilds&lt;br /&gt;
*ost101d - Outside Flemeth's Hut&lt;br /&gt;
*ost102d - Inside Flemeth's Hut&lt;br /&gt;
&lt;br /&gt;
== oth ==&lt;br /&gt;
*oth000d - The Fade (Harrowing)&lt;br /&gt;
*oth001d - The Fade (Circle of Magi)&lt;br /&gt;
*oth999d - Incomplete (stairs &amp;amp; wall)&lt;br /&gt;
&lt;br /&gt;
== rmt ==&lt;br /&gt;
*rmtst - Warehouse 3 Rooms Morning&lt;br /&gt;
*rmtst01 - Warehouse 3 Rooms Night&lt;br /&gt;
*rmtst03 - Warehouse 3 Rooms Afternoon&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	<entry>
		<id>https://www.datoolset.net/mw/index.php?title=Area_layouts_used_in_the_single_player_module&amp;diff=9305</id>
		<title>Area layouts used in the single player module</title>
		<link rel="alternate" type="text/html" href="https://www.datoolset.net/mw/index.php?title=Area_layouts_used_in_the_single_player_module&amp;diff=9305"/>
				<updated>2010-01-05T22:36:59Z</updated>
		
		<summary type="html">&lt;p&gt;Tmp7704: adjusted descriptions for Denerim maps, locations were generally identified through content of their 'General &amp;gt; Name' field&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This will help those that dont want to go through every area layout to find the one they want.&lt;br /&gt;
Hope this helps -RandyG&lt;br /&gt;
Updated - Slonison&lt;br /&gt;
&lt;br /&gt;
== arena ==&lt;br /&gt;
*arena - Small Castle Arena&lt;br /&gt;
*arena2 - Large Castle Arena&lt;br /&gt;
&lt;br /&gt;
== brc ==&lt;br /&gt;
*brc000d - Dalish Elf Camp&lt;br /&gt;
*brc100d - Brecilian Forest (1st Area)&lt;br /&gt;
*brc101d - Brecilian Forest (2nd Area)&lt;br /&gt;
*brc200d - Dalish Elf Origins: Ruins&lt;br /&gt;
*brc201d - Cavern (Unused?)&lt;br /&gt;
*brc202d - The Brecilian Ruins: Lower Ruins&lt;br /&gt;
*brc203d - The Brecilian Ruins: Lair of the Werewolves&lt;br /&gt;
*brc204d - The Brecilian Ruins: Upper Ruins&lt;br /&gt;
*brc300d - Dalish Elf Origins: Forest Path to Ruins&lt;br /&gt;
*brc501d - Darkspawn Encounter: Field near a Lake&lt;br /&gt;
*brc502d - Mountain Path (Dead End?)&lt;br /&gt;
*brc503d - Encounter: Twisting Roads&lt;br /&gt;
*brc504d - Encounter: Kadan-Fe Camp&lt;br /&gt;
*brc505d - Encounter: Marjolaine's Assassins (Road with river and waterfall)&lt;br /&gt;
*brc997d - Dalish Elf Origins: Camp&lt;br /&gt;
*brc999d - Player Camp&lt;br /&gt;
&lt;br /&gt;
== combat ==&lt;br /&gt;
*combat - Open Combat Area&lt;br /&gt;
*combat2 - Open Combat Area&lt;br /&gt;
&lt;br /&gt;
== den ==&lt;br /&gt;
*den000d - Denerim: Palace District: Palace Exterior (during attack)&lt;br /&gt;
*den001d - Denerim: Palace District: Royal Palace&lt;br /&gt;
*den005d - Denerim: Palace District: Arl of Denerim's: Interiors&lt;br /&gt;
*den009d - Haven Village: Store&lt;br /&gt;
*den011d - Denerim: Palace District: Arl of Denerim's: Dungeon&lt;br /&gt;
*den012d - Denerim: Palace District: Arl of Denerim's&lt;br /&gt;
*den020d - Denerim: Market District: Gnawed Noble's Tavern&lt;br /&gt;
*den101d - Denerim: Market District: Brother Genetivi's House&lt;br /&gt;
*den200d - Denerim: Alienage: Day&lt;br /&gt;
*den200n - Denerim: Alienage: Night (during attack)&lt;br /&gt;
*den201d - Denerim: Alienage: City Elf Origin's Home&lt;br /&gt;
*den202d - Denerim: Alienage: Alarith's Store&lt;br /&gt;
*den203d - Denerim: Alienage: Slum Apartments&lt;br /&gt;
*den204d - Denerim: Alienage: Tevinter Hospice&lt;br /&gt;
*den206d - Denerim: Alienage: Slaver Compound&lt;br /&gt;
*den207d - Denerim: Alienage: Valendrian's House&lt;br /&gt;
*den308d - Haven Village: Chantry&lt;br /&gt;
*den312d - Denerim: South Docks: The Pearl&lt;br /&gt;
*den400d - Denerim: Market District&lt;br /&gt;
*den401d - Denerim: Market District: Arl Eamon's Estate (First Floor)&lt;br /&gt;
*den403d - Denerim: Market District: Magic Shop&lt;br /&gt;
*den404d - Denerim: House (small, multiple uses)&lt;br /&gt;
*den405d - Denerim: House (large, Marjolaine encounter)&lt;br /&gt;
*den407d - Denerim: Market District: Master Wade's Emporium&lt;br /&gt;
*den408d - Denerim: Market District: Arl Eamon's Estate (Basement)&lt;br /&gt;
*den500d - Denerim: Fort Drakon (Main Floor, during attack)&lt;br /&gt;
*den501d - Denerim: Fort Drakin (Second Floor, during attack)&lt;br /&gt;
*den502d - Denerim: Fort Drakon (Rooftop, during attack)&lt;br /&gt;
*den504d - Denerim: Fort Drakon (Exteriors, during attack)&lt;br /&gt;
*den505d - Denerim: Fort Drakon (Main Floor)&lt;br /&gt;
*den510d - Denerim: City Gates (during attack)&lt;br /&gt;
*den520d - Denerim: Market District (during attack)&lt;br /&gt;
*den600d - Denerim: Alienage: Abandoned Orphanage&lt;br /&gt;
*den601d - Denerim: South Docks: Bloodmage HQ&lt;br /&gt;
*den602d - Denerim: Bann of West Hill's Estate&lt;br /&gt;
*den900d - Denerim: Back Alley (Narrow)&lt;br /&gt;
*den901d - Denerim: Back Alley (Wide)&lt;br /&gt;
*den998d - Denerim: Docks: Grey Warden Cache&lt;br /&gt;
&lt;br /&gt;
== hrt ==&lt;br /&gt;
*hrt000d - Lothering&lt;br /&gt;
*hrt001d - Lothering: Chantry&lt;br /&gt;
*hrt002d - Lothering: Dane's Refuge&lt;br /&gt;
*hrt201d - Highever/Cousland Castle: Human Noble Origins&lt;br /&gt;
*hrt201n - Highever/Cousland Castle: Human Noble Origins: Attack&lt;br /&gt;
&lt;br /&gt;
== lak ==&lt;br /&gt;
*lak100c - Redcliffe Village (Attack)&lt;br /&gt;
*lak100d - Redcliffe Village (Day)&lt;br /&gt;
*lak100n - Redcliffe Village (Night)&lt;br /&gt;
*lak101d - Redcliffe: General Store (Oil Drums)&lt;br /&gt;
*lak102d - Redcliffe: Katelyn's Home&lt;br /&gt;
*lak103d - Redcliffe: Tavern&lt;br /&gt;
*lak104d - Home 3 Rooms&lt;br /&gt;
*lak105d - Redcliffe: Blacksmith's Store&lt;br /&gt;
*lak106d - Redcliffe: Chantry&lt;br /&gt;
*lak107d - Redcliffe: House (along wooden path)&lt;br /&gt;
*lak108d - Redcliffe: Dwyn's Home&lt;br /&gt;
*lak109d - Redcliffe: Windmill&lt;br /&gt;
*lak110d - Redcliffe: Katelyn's Home (Upstairs)&lt;br /&gt;
*lak200d - Redcliffe: Castle Courtyard&lt;br /&gt;
*lak201d - Redcliffe: Castle (1st Floor)&lt;br /&gt;
*lak202d - Redcliffe: Castle (2nd Floor)&lt;br /&gt;
*lak203d - Redcliffe: Castle (Basement)&lt;br /&gt;
*lak250d - The Fade (Connor)&lt;br /&gt;
*lak300d - Lake Calenhad&lt;br /&gt;
*lak302d - The Circle Tower (Basement)&lt;br /&gt;
*lak303d - The Circle Tower: Apprentice Quarters (1st Floor)&lt;br /&gt;
*lak304d - The Circle Tower: Senior Mage Quarters (2nd Floor)&lt;br /&gt;
*lak307d - The Circle Tower: Harrowing Chamber (5th Floor)&lt;br /&gt;
*lak308d - The Circle Tower: Storage (Spiders)&lt;br /&gt;
*lak400d - Haven Village&lt;br /&gt;
*lak401d - Ruined Temple (1st Floor)&lt;br /&gt;
*lak403d - Ruined Temple: Mountain Peak&lt;br /&gt;
*lak404d - Ruined Temple: The Gauntlet&lt;br /&gt;
*lak405d - Ruined Temple (2nd Floor)&lt;br /&gt;
*lak503d - The Circle Tower: Apprentice Quarters (1st Floor) Attack&lt;br /&gt;
*lak504d - The Circle Tower: Senior Mage Quarters (2nd Floor) Attack&lt;br /&gt;
*lak505d - The Circle Tower: The Great Hall (3rd Floor) Attack&lt;br /&gt;
*lak506d - The Circle Tower: Templar Quarters (4th Floor) Attack&lt;br /&gt;
*lak507d - The Circle Tower: Harrowing Chamber (5th Floor) Attack&lt;br /&gt;
*lak510d - Weisshaupt Fortress&lt;br /&gt;
*lak511d - Weisshaupt: The Burning Tower&lt;br /&gt;
*lak512d - Weisshaupt: The Darkspawn Invasion&lt;br /&gt;
*lak513d - Weisshaupt: The Mage's Asunder&lt;br /&gt;
*lak514d - Weisshaupt: The Templar's Nightmare&lt;br /&gt;
*lak515d - Weisshaupt: Inner Sanctum&lt;br /&gt;
*lak519d - Rocky Structure&lt;br /&gt;
*lak526d - Weisshaupt: A Nightmare&lt;br /&gt;
&lt;br /&gt;
== lgt ==&lt;br /&gt;
*lgt101d - Lake Calenhad: The Spoiled Princess&lt;br /&gt;
*lgt300d - Frostback Mountain&lt;br /&gt;
*lgt600d - Outside Broken Bridge&lt;br /&gt;
*lgt601d - Outside Broken Bridge 2&lt;br /&gt;
*lgt602d - Outside Broken Bridge 3&lt;br /&gt;
*lgt603d - Outside Broken Bridge 4&lt;br /&gt;
*lgt604d - Outside Broken Bridge 5&lt;br /&gt;
*lgt605d - Outside Broken Bridge 6&lt;br /&gt;
&lt;br /&gt;
== orz ==&lt;br /&gt;
*orz000d - Orzammar: Hall of Heroes&lt;br /&gt;
*orz100d - Orzammar Commons&lt;br /&gt;
*orz101d - Orzammar Commons: Tapster's Tavern&lt;br /&gt;
*orz102d - Orzammar Commons: Janar's Armorers&lt;br /&gt;
*orz103d - Orzammar Commons: Jarvia's Carta Hideout&lt;br /&gt;
*orz105d - Orzammar Commons: Figor's Imports&lt;br /&gt;
*orz106d - Small Home&lt;br /&gt;
*orz107d - Orzammar Commons: Orzammar Chantry&lt;br /&gt;
*orz200d - Orzammar Dust Town&lt;br /&gt;
*orz201d - Orzammar Dust Town: Slums Home&lt;br /&gt;
*orz203d - Orzammar Dust Town: Alimar's Emporium&lt;br /&gt;
*orz300d - Orzammar Diamond Quarter&lt;br /&gt;
*orz301d - Orzammar Diamond Quarter: The Assembly&lt;br /&gt;
*orz302d - Orzammar Diamond Quarter: Harrowmont's Estate&lt;br /&gt;
*orz303d - Orzammar Diamond Quarter: Royal Palace&lt;br /&gt;
*orz304d - Orzammar Diamond Quarter: Shaperate&lt;br /&gt;
*orz500d - Orzammar Commons: The Proving&lt;br /&gt;
*orz601d - Orzammar Prison&lt;br /&gt;
*orz700d - The Deep Roads: Caridin's Cross&lt;br /&gt;
*orz701d - The Deep Roads: Aeducan Thaig&lt;br /&gt;
*orz702d - The Deep Roads: Ortan Thaig&lt;br /&gt;
*orz703d - The Deep Roads: Unfinished Area (No Lava)&lt;br /&gt;
*orz704d - The Deep Roads: Tomb?&lt;br /&gt;
*orz800d - The Deep Roads: Unused Map?&lt;br /&gt;
*orz900d - The Deep Roads: The Dead Trenches&lt;br /&gt;
*orz901d - The Deep Roads: Anvil of the Void&lt;br /&gt;
*orz999d - The Deep Roads: Unused Map?&lt;br /&gt;
&lt;br /&gt;
== ost ==&lt;br /&gt;
*ost000a - Ostagar Camp Night&lt;br /&gt;
*ost000c - Ostagar Camp Attack&lt;br /&gt;
*ost000t - Ostagar Camp Day&lt;br /&gt;
*ost001d - Tower of Ishal (First Floor)&lt;br /&gt;
*ost002d - Tower of Ishal (Second Floor)&lt;br /&gt;
*ost003d - Tower of Ishal (Third Floor)&lt;br /&gt;
*ost004d - Tower of Ishal (Top Floor)&lt;br /&gt;
*ost100d - Korcari Wilds&lt;br /&gt;
*ost101d - Outside Flemeth's Hut&lt;br /&gt;
*ost102d - Inside Flemeth's Hut&lt;br /&gt;
&lt;br /&gt;
== oth ==&lt;br /&gt;
*oth000d - The Fade (Harrowing)&lt;br /&gt;
*oth001d - The Fade (Circle of Magi)&lt;br /&gt;
*oth999d - Incomplete (stairs &amp;amp; wall)&lt;br /&gt;
&lt;br /&gt;
== rmt ==&lt;br /&gt;
*rmtst - Warehouse 3 Rooms Morning&lt;br /&gt;
*rmtst01 - Warehouse 3 Rooms Night&lt;br /&gt;
*rmtst03 - Warehouse 3 Rooms Afternoon&lt;/div&gt;</summary>
		<author><name>Tmp7704</name></author>	</entry>

	</feed>