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

From GTAMods Wiki
Jump to navigation Jump to search
m
(adding deviceId for PS3)
 
(3 intermediate revisions by one other user 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
 
};
 
  
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.
+
<source lang="c">
 +
struct rwTexDictionary {
 +
    unsigned int textureCount;    // determines count of Raster sections
 +
};
 +
</source>
  
===RW 3.0.X.X - 3.5.0.0 (or higher)===
+
=== RenderWare 3.6 and newer ===
struct rwTexDictionary
 
{
 
    unsigned int textureCount; // determines count of NativeTexture sections
 
};
 
  
The struct section is followed with child sections (Native Texture).
+
<source lang="c">
 +
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>
  
==Child Sections==
+
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.
* [[Texture Native (RW Section)|Texture Native]] - count of textures is defined with '''textureCount''' value.
 
  
==Extension==
+
{{N|SA|VC|3}}
GTA games don't use any extension for this section.
 

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.