Difference between revisions of "Texture Dictionary (RW Section)"

From GTAMods Wiki
Jump to navigation Jump to search
(added some known deviceId parameters)
(adding deviceId for PS3)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{RW Section|Texture Dictionary|0x0016}}
+
{{RW Section
 +
| NAME = Texture Dictionary
 +
| VENDORNAME = Criterion Games
 +
| MODULENAME = Core
 +
| MODULEID = 000000
 +
| IDENTIFIER = 16
 +
| CHILDREN = [[Struct (RW Section)|Struct]], [[Raster (RW Section)|Raster]]
 +
}}
  
'''Texture Dictionary''' is usually the root section of [[texture archive|TXD files]], thus it only contains child sections, no data. It is normally accompanied by a [[Struct (RW Section)#Texture_Dictionary|Struct]] section.
+
'''Texture Dictionary''' is usually the root section of [[texture archive|TXD files]], thus it only contains child sections, no data. It is a container for [[Raster (RW Section)|Raster]] sections, that store the actual image data. It is accompanied by a [[Struct (RW Section)|Struct]] section that stores information about the dictionary contents.
  
 
==Structure==
 
==Structure==
  
The struct section that comes right after the Texture Dictionary section contains 4 bytes of data. This struct tells how many textures are presented in dictionary.
+
The struct section that comes right after the dictionary section contains 4 bytes of data. This struct tells how many textures are presented in dictionary.
  
===RW 3.6.0.0 (or lower) - 3.7.X.X===
+
=== RenderWare 3.0 - 3.5 ===
struct rwTexDictionary
 
{
 
    unsigned short textureCount; // determines count of NativeTexture sections
 
    unsigned short deviceId; // 1 for D3D8, 2 for D3D9, 6 for PlayStation 2, 8 for XBOX
 
};
 
  
===RW 3.0.X.X - 3.5.0.0 (or higher)===
+
<source lang="c">
struct rwTexDictionary
+
struct rwTexDictionary {
{
+
    unsigned int textureCount;   // determines count of Raster sections
    unsigned int textureCount; // determines count of NativeTexture sections
+
};
};
+
</source>
  
The struct section is followed with child sections (Native Texture).
+
=== RenderWare 3.6 and newer ===
  
==Child Sections==
+
<source lang="c">
* [[Texture Native (RW Section)|Texture Native]] - count of textures is defined with '''textureCount''' value.
+
struct rwTexDictionary {
 +
    unsigned short textureCount;  // determines count of Rastersections
 +
    unsigned short deviceId;      // 1 for D3D8, 2 for D3D9, 6 for PlayStation 2, 8 for XBOX, 10 for PlayStation 3
 +
};
 +
</source>
  
==Extension==
+
If <code>deviceId</code> is not zero, then the RenderWare engine can reject this texture dictionary if it is told to do so. In practice, all GTA games do not care.
GTA games don't use any extension for this section.
+
 
 +
{{N|SA|VC|3}}

Latest revision as of 20:52, 21 October 2024

Texture Dictionary
RenderWare Stream Section
Vendor Criterion Games
Module Core
Module ID 0x000000
Identifier 0x16
Chunk ID 0x00000016
Versions All
Hierarchy
Parents:
None
Children:
Struct, Raster
Extensions:
None
File Format

Texture Dictionary is usually the root section of TXD files, thus it only contains child sections, no data. It is a container for Raster sections, that store the actual image data. It is accompanied by a Struct section that stores information about the dictionary contents.

Structure

The struct section that comes right after the dictionary section contains 4 bytes of data. This struct tells how many textures are presented in dictionary.

RenderWare 3.0 - 3.5

struct rwTexDictionary {
    unsigned int textureCount;    // determines count of Raster sections
};

RenderWare 3.6 and newer

struct rwTexDictionary {
    unsigned short textureCount;   // determines count of Rastersections
    unsigned short deviceId;       // 1 for D3D8, 2 for D3D9, 6 for PlayStation 2, 8 for XBOX, 10 for PlayStation 3
};

If deviceId is not zero, then the RenderWare engine can reject this texture dictionary if it is told to do so. In practice, all GTA games do not care.