Difference between revisions of "Extension (RW Section)"

From GTAMods Wiki
Jump to navigation Jump to search
m
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{RW Section|Extension|0x0003}}
+
{{RW Section
 +
| NAME = Extension
 +
| VENDORNAME = Criterion Games
 +
| MODULENAME = Core
 +
| MODULEID = 000000
 +
| IDENTIFIER = 03
 +
| PARENTS = [[Texture (RW Section)|Texture]], [[Camera (RW Section)|Camera]], [[Material (RW Section)|Material]], [[Material List (RW Section)|Material List]], [[Frame List (RW Section)|Frame List]], [[Geometry (RW Section)|Geometry]], [[Geometry List (RW Section)|Geometry List]], [[Clump (RW Section)|Clump]], [[Light (RW Section)|Light]], [[Atomic (RW Section)|Atomic]], [[Raster (RW Section)|Raster]], [[Texture Dictionary (RW Section)|Texture Dictionary]], [[Anim Animation (RW Section)|Anim Animation]], [[Right To Render (RW Section)|Right to Render]], [[UV Animation Dictionary (RW Section)|UV Animation Dictionary]], [[Coll Tree (RW Section)|Coll Tree]]
 +
| CHILDREN = [[Sky Mipmap Val (RW Section)|Sky Mipmap Val]], [[Anisotropy PLG (RW Section)|Anisotropy]], [[Right To Render (RW Section)|Right To Render]], [[User Data PLG (RW Section)|User Data PLG]], [[Material Effects PLG (RW Section)|Material Effects PLG]], [[UV Animation PLG (RW Section)|UV Animation PLG]], [[Reflection Material (RW Section)|Reflection Material]], [[Specular Material (RW Section)|Specular Material]], [[Frame (RW Section)|Frame]], [[HAnim PLG (RW Section)|HAnim PLG]], [[Bin Mesh PLG (RW Section)|Bin Mesh PLG]], [[Native Data PLG (RW Section)|Native Data PLG]], [[Skin PLG (RW Section)|Skin PLG]], [[Breakable (RW Section)|Breakable]], [[Extra Vert Colour (RW Section)|Extra Vert Colour]], [[Morph PLG (RW Section)|Morph PLG]], [[2d Effect (RW Section)|2d Effect]], [[Collision Model (RW Section)|Collision Model]], [[Right To Render (RW Section)|Right To Render]], [[Particles PLG (RW Section)|Particles PLG]], [[Pipeline Set (RW Section)|Pipeline Set]], [[User Data PLG (RW Section)|User Data PLG]], [[Material Effects PLG (RW Section)|Material Effects PLG]]
 +
}}
  
'''Extension''' sections are containers for various child sections used by RW plugins.
+
'''Extension''' chunks are containers for plugin data. See [[RenderWare#Basic_structure|this]] to find out which objects can have plugins attached and hence an extension chunk. The contents of this chunk are one (optional!) chunk per plugin where the chunk ID is the same as the plugin ID. Note that one section may contain multiple or no extension sections. An extension itself does not store any data, but rather acts as a container for additional sections.
  
=== Txd Extension ===
+
Typically all sections from the [[List_of_RW_section_IDs|core module]] can have an extension, except for the rudimentary types, such as [[Struct (RW Section)|Struct]], [[String (RW Section)|String]] and [[Extension (RW Section)|Extension]] itself.
<source lang="c">
 
typedef struct txd_extra_info_s {
 
uint32_t id;              // 0x03 (3)
 
uint32_t chunk_size;
 
uint32_t marker;
 
uint8_t  data[chunk_size];
 
} txd_extra_info_t;
 
</source>
 

Latest revision as of 15:28, 11 September 2020

Extension
RenderWare Stream Section
Vendor Criterion Games
Module Core
Module ID 0x000000
Identifier 0x03
Chunk ID 0x00000003
Versions All
Hierarchy
Parents:
Texture, Camera, Material, Material List, Frame List, Geometry, Geometry List, Clump, Light, Atomic, Raster, Texture Dictionary, Anim Animation, Right to Render, UV Animation Dictionary, Coll Tree
Children:
Sky Mipmap Val, Anisotropy, Right To Render, User Data PLG, Material Effects PLG, UV Animation PLG, Reflection Material, Specular Material, Frame, HAnim PLG, Bin Mesh PLG, Native Data PLG, Skin PLG, Breakable, Extra Vert Colour, Morph PLG, 2d Effect, Collision Model, Right To Render, Particles PLG, Pipeline Set, User Data PLG, Material Effects PLG
Extensions:
None
File Format

Extension chunks are containers for plugin data. See this to find out which objects can have plugins attached and hence an extension chunk. The contents of this chunk are one (optional!) chunk per plugin where the chunk ID is the same as the plugin ID. Note that one section may contain multiple or no extension sections. An extension itself does not store any data, but rather acts as a container for additional sections.

Typically all sections from the core module can have an extension, except for the rudimentary types, such as Struct, String and Extension itself.