Reading/Writing Rx3 & Rx2 Files [.dll] [All Fifas]

tokke001

Senior Squad
Hey,
i have been working on a library .dll file wich can read/write rx2/rx3 files (with all known data & sections)
i used it for making my fifa converting tool (available here), but maybe others like to have it too for their projects...

Features:
-> Load a rx2/rx3 file : with all data & sections
-> Save a rx2/rx3 file : with all data & sections
-> Rx3 File support for all fifas:
* FIFA 11 (support for renderware structures)
* FIFA 12 to FIFA 16 + later fifas (switch versions)
-> Rx2 File support :
* FIFA 08, FIFA 09, UEFA EURO 2008 console


Version 4 available : Here

Other Credits:
Thanks to research from Dmitri & Beedy (big helps, thank u !), and Rinaldo (from who s FIFALibrary i started originally from)
* Dmitri, Beedy (research)
* Rinaldo
 
Last edited:

tokke001

Senior Squad
Beta 1 version (v20.08.16b)

Here the first version for reading/writing rx3 files

Features:
- Sections

* reading/writing support
* Little or big endian format support
* Renderware 4 section- List (FIFA 11 files) :
RW4 Headers
RW4GeneralStructure
RW4SectionManifest
H20004_VERTEX_DESCRIPTOR
H20005_VERTEX_BUFFER
H20007_INDEX_BUFFER
H20009_MESH
HEF0004_SHADER
H70002_SKELETON
H70003_ANIMATION_SKIN
HEC0003_HOTSPOT (used for kit hotspots)
H20003_RASTER
HEC0010_NAME_SECTION
* Rx3 sections - List :
* SECTIONS since FIFA 11
INDEX_BUFFER_BATCH
INDEX_BUFFER
VERTEX_BUFFER
BONE_REMAP
TEXTURE_BATCH
TEXTURE
* SECTIONS since FIFA 12
NAME_TABLE
VERTEX_FORMAT
SIMPLE_MESH
ANIMATION_SKIN
HOTSPOT (used for kit hotspots)
* SECTIONS since FIFA 15
SKELETON
* SECTIONS since FIFA 16
QUAD_INDEX_BUFFER_BATCH
QUAD_INDEX_BUFFER
- Support for textures in big/little endian
- Writing with correct offset-/size- values
- ...

Use

FIFA Library can be used for your projects :
1. import the FIFALibrary.dll

2. Load an rx3 file
example:
Code:
Dim model_test As Rx3File
model_test.Load(FileName as string)

3. make your edits

4. Save rx3 file
example:
Code:
model_test.Save(FileName as string)

Downloads:
* Release version : Download
* Source Code (VS2019) : Download

Credits:
* Dmitri, Beedy (research)
* Rinaldo
 
Last edited:

tokke001

Senior Squad

Version 2 (v20.10.11)


Here a new version for reading/writing rx2/rx3 files :
* New sections added
* added Support for rx2 files (FIFA 08, FIFA 09, UEFA EURO 2008 console)
* .... (see changelog)

ChangeLog:
[V20.10.11]
* improvements: rx3/RW4 headers Endianness
* Vertexes: Support for multiples Weights/indices/Positions/tangents/normals for a vertex
* Model3D: improvements/fixes
* New Rx3 sections: ADJACENCY (ex. FIFA 16 head models)
* New Rx3 sections: Material, SceneInstance, SCENE_LAYER, LOCATION, COLLISION_TRI_MESH (ex. stadium files)
* New RW4 sections: H7000F SKIN_MATRIX_BUFFER
* Support Rx2 Files reading/writing (FIFA 08, FIFA 09, UEFA EURO 2008 console)
* Rx2 File: added function for convert Rx2 to rx3 (FIFA 11)
* RWraster: improvements (Height/width)
* Rx3Skeleton, RW4Skeleton: added function "ExportSkeletonInfos"
* Rx3AnimationSkin, RW4AnimationSkin: added function "ExportInfos"
* Rx3BoneRemap: added function "CreateFromVertexBuffer"
* RWBoneNameHash: known fnv132 hashed Bonenames added
* RW4 Section names improved (thank to Beedy' list)
* Other improvements & fixes...

Features:
- Sections

* Support for all rx3 files (all games fifa 10 to latest fifa)
* Support rx2 files (FIFA 08, FIFA 09, UEFA EURO 2008 console)
* reading/writing support
* Little or big endian format support
* Renderware 4 section- List (FIFA 11 files) :
RW4 Headers
RW4GeneralStructure
RW4SectionManifest
H20004_VERTEX_DESCRIPTOR
H20005_VERTEX_BUFFER
H20007_INDEX_BUFFER
H20009_MESH
HEF0004_SHADER
H70002_SKELETON
H70003_ANIMATION_SKIN
HEC0003_HOTSPOT (used for kit hotspots)
H20003_RASTER
HEC0010_NAME_SECTION
H7000F_SKIN_MATRIX_BUFFER
* Rx3 sections - List :
* SECTIONS since FIFA 11
INDEX_BUFFER_BATCH
INDEX_BUFFER
VERTEX_BUFFER
BONE_REMAP
TEXTURE_BATCH
TEXTURE
* SECTIONS since FIFA 12
NAME_TABLE
VERTEX_FORMAT
SIMPLE_MESH
ANIMATION_SKIN
HOTSPOT (used for kit hotspots)
MATERIAL
SCENE_INSTANCE
SCENE_LAYER
LOCATION
COLLISION_TRI_MESH
* SECTIONS since FIFA 15
SKELETON
* SECTIONS since FIFA 16
QUAD_INDEX_BUFFER_BATCH
QUAD_INDEX_BUFFER
ADJACENCY
- Support for textures in big/little endian
- Writing with correct offset-/size- values
- ...

Use

FIFA Library can be used for your projects :
1. import the FIFALibrary.dll

2. Load an rx3 file
example:
Code:
Dim model_test As Rx3File
model_test.Load(FileName as string)

3. make your edits

4. Save rx3 file
example:
Code:
model_test.Save(FileName as string)

Downloads:
* Release version : Download
* Source Code (VS2019) : Download

Credits:
* Dmitri, Beedy (research)
* Rinaldo
 
Last edited:

BrandonFlepe

Club Supporter
Thanks for all the help so far. Im sure there will be more later on...
If only the Ruby console was multi lines. Its hard to edit in the small window.
 

tokke001

Senior Squad

Version 3 (v21.11.2)


Here a new version for reading/writing rx2/rx3 files :
* New sections added: all known rx3 & RW4 sections added !
* New Texture Formats
* Many improvements & fixes
* .... (see changelog)

ChangeLog:
[v21.11.2]
* New: Bin audio file reading (and export to Xml)
* New: DDS files support
* New Rx3-Sections added (all used sections added now) : SCENE_ANIMATION, EDGE_MESH, COLLISION (beta), CLOTH_DEF
* New RW4-Sections added (all used sections added now) : EA_FxShader_ParameterBlockDescriptor, EA_FxShader_ParameterBlock, EA_FxShader_FxMaterial, RWCObjectType_Volume, RWCObjectType_SimpleMappedArray, ModelInstance_ArenaId, ModelSkeleton_ArenaId, ModelSkeletonPose_ArenaId, ModelRender_ArenaId, ModelCollision_ArenaId, Spline_ArenaId, SceneLayer_ArenaId, Location_ArenaId, CullInfo_ArenaId, Camera_ArenaId, ChannelCurve_ArenaId, AnimSeq_ArenaId
* New Texture Format support: ATI1, R8G8B8, A4R4G4B4 (loading with some bugs), R5G6B5 (Load only, not save), X1R5G5B5 (Load only, not save), A32B32G32R32F (rx2 files only, not rx3)
* New VertexFormats support: BlendWeight as USHORT4N, TextureCoordinate as SHORT2N, TextureCoordinate as FLOAT3
* New: support for Indices as uinteger values (models with more then 65535 vertices)
* Fixes/improvements: Better Big/little endian textures- support, better Tiling support, ...
* rx2/FIFA 11 : File-alignment improvements
* Fix: Texture sizes-values not saved at MIP-map 1
* Fix: section Rx3SimpleMesh formats
* Fix: RGB coloring corrected
* Fix: BC5/ATI2 textures - correct decompressing (fixing blurred image)
* Many other fixes & improvements !
[V20.10.11]
* improvements: rx3/RW4 headers Endianness
* Vertexes: Support for multiples Weights/indices/Positions/tangents/normals for a vertex
* Model3D: improvements/fixes
* New Rx3 sections: ADJACENCY (ex. FIFA 16 head models)
* New Rx3 sections: Material, SceneInstance, SCENE_LAYER, LOCATION, COLLISION_TRI_MESH (ex. stadium files)
* New RW4 sections: H7000F SKIN_MATRIX_BUFFER
* Support Rx2 Files reading/writing (FIFA 08, FIFA 09, UEFA EURO 2008 console)
* Rx2 File: added function for convert Rx2 to rx3 (FIFA 11)
* RWraster: improvements (Height/width)
* Rx3Skeleton, RW4Skeleton: added function "ExportSkeletonInfos"
* Rx3AnimationSkin, RW4AnimationSkin: added function "ExportInfos"
* Rx3BoneRemap: added function "CreateFromVertexBuffer"
* RWBoneNameHash: known fnv132 hashed Bonenames added
* RW4 Section names improved (thank to Beedy' list)
* Other improvements & fixes...

Features:
- Sections

* Support for all rx3 files (all games fifa 10 to latest fifa)
* Support rx2 files (FIFA 07, 08, 09, UEFA EURO 2008 console)
* reading/writing support
* Little or big endian format support
* Renderware 4 section- List (FIFA 11 rx3/older rx2 files) :
RW4 Headers
RW4GeneralStructure
RW4SectionManifest
H20004_VERTEX_DESCRIPTOR
H20005_VERTEX_BUFFER
H20007_INDEX_BUFFER
H20009_MESH
HEF0004_SHADER
H70002_SKELETON
H70003_ANIMATION_SKIN
HEC0003_HOTSPOT (used for kit hotspots)
H20003_RASTER
HEC0010_NAME_SECTION
H7000F_SKIN_MATRIX_BUFFER
EA_FxShader_ParameterBlockDescriptor
EA_FxShader_ParameterBlock, EA_FxShader_FxMateria
RWCObjectType_Volume
RWCObjectType_SimpleMappedArray
ModelInstance_ArenaId
ModelSkeleton_ArenaId
ModelSkeletonPose_ArenaId
ModelRender_ArenaId
ModelCollision_ArenaId
Spline_ArenaId
SceneLayer_ArenaId
Location_ArenaId
CullInfo_ArenaId
Camera_ArenaId
ChannelCurve_ArenaId
AnimSeq_ArenaId
* Rx3 sections - List :
* SECTIONS since FIFA 11
INDEX_BUFFER_BATCH
INDEX_BUFFER
VERTEX_BUFFER
BONE_REMAP
TEXTURE_BATCH
TEXTURE
* SECTIONS since FIFA 12
NAME_TABLE
VERTEX_FORMAT
SIMPLE_MESH
ANIMATION_SKIN
HOTSPOT (used for kit hotspots)
MATERIAL
SCENE_INSTANCE
SCENE_LAYER
LOCATION
COLLISION_TRI_MESH
SCENE_ANIMATION
EDGE_MESH
COLLISION (beta)
* SECTIONS since FIFA 15
SKELETON
CLOTH_DEF
* SECTIONS since FIFA 16
QUAD_INDEX_BUFFER_BATCH
QUAD_INDEX_BUFFER
ADJACENCY
- Support for textures in big/little endian
- Writing with correct offset-/size- values
- ...

Use

FIFA Library can be used for your projects :
1. import the FIFALibrary.dll

2. Load an rx3 file
example:
Code:
Dim model_test As Rx3File
model_test.Load(FileName as string)

3. make your edits

4. Save rx3 file
example:
Code:
model_test.Save(FileName as string)

Downloads:
* Release version : Download

Credits also to:
* Dmitri, Beedy (research)
* Rinaldo
 
Last edited:

Death GOD 7

Club Supporter

Version 3 (v21.11.2)


Here a new version for reading/writing rx2/rx3 files :
* New sections added: all known rx3 & RW4 sections added !
* New Texture Formats
* Many improvements & fixes
* .... (see changelog)

ChangeLog:
[v21.11.2]
* New: Bin audio file reading (and export to Xml)
* New: DDS files support
* New Rx3-Sections added (all used sections added now) : SCENE_ANIMATION, EDGE_MESH, COLLISION (beta), CLOTH_DEF
* New RW4-Sections added (all used sections added now) : EA_FxShader_ParameterBlockDescriptor, EA_FxShader_ParameterBlock, EA_FxShader_FxMaterial, RWCObjectType_Volume, RWCObjectType_SimpleMappedArray, ModelInstance_ArenaId, ModelSkeleton_ArenaId, ModelSkeletonPose_ArenaId, ModelRender_ArenaId, ModelCollision_ArenaId, Spline_ArenaId, SceneLayer_ArenaId, Location_ArenaId, CullInfo_ArenaId, Camera_ArenaId, ChannelCurve_ArenaId, AnimSeq_ArenaId
* New Texture Format support: ATI1, R8G8B8, A4R4G4B4 (loading with some bugs), R5G6B5 (Load only, not save), X1R5G5B5 (Load only, not save), A32B32G32R32F (rx2 files only, not rx3)
* New VertexFormats support: BlendWeight as USHORT4N, TextureCoordinate as SHORT2N, TextureCoordinate as FLOAT3
* New: support for Indices as uinteger values (models with more then 65535 vertices)
* Fixes/improvements: Better Big/little endian textures- support, better Tiling support, ...
* rx2/FIFA 11 : File-alignment improvements
* Fix: Texture sizes-values not saved at MIP-map 1
* Fix: section Rx3SimpleMesh formats
* Fix: RGB coloring corrected
* Fix: BC5/ATI2 textures - correct decompressing (fixing blurred image)
* Many other fixes & improvements !
[V20.10.11]
* improvements: rx3/RW4 headers Endianness
* Vertexes: Support for multiples Weights/indices/Positions/tangents/normals for a vertex
* Model3D: improvements/fixes
* New Rx3 sections: ADJACENCY (ex. FIFA 16 head models)
* New Rx3 sections: Material, SceneInstance, SCENE_LAYER, LOCATION, COLLISION_TRI_MESH (ex. stadium files)
* New RW4 sections: H7000F SKIN_MATRIX_BUFFER
* Support Rx2 Files reading/writing (FIFA 08, FIFA 09, UEFA EURO 2008 console)
* Rx2 File: added function for convert Rx2 to rx3 (FIFA 11)
* RWraster: improvements (Height/width)
* Rx3Skeleton, RW4Skeleton: added function "ExportSkeletonInfos"
* Rx3AnimationSkin, RW4AnimationSkin: added function "ExportInfos"
* Rx3BoneRemap: added function "CreateFromVertexBuffer"
* RWBoneNameHash: known fnv132 hashed Bonenames added
* RW4 Section names improved (thank to Beedy' list)
* Other improvements & fixes...

Features:
- Sections

* Support for all rx3 files (all games fifa 10 to latest fifa)
* Support rx2 files (FIFA 07, 08, 09, UEFA EURO 2008 console)
* reading/writing support
* Little or big endian format support
* Renderware 4 section- List (FIFA 11 rx3/older rx2 files) :
RW4 Headers
RW4GeneralStructure
RW4SectionManifest
H20004_VERTEX_DESCRIPTOR
H20005_VERTEX_BUFFER
H20007_INDEX_BUFFER
H20009_MESH
HEF0004_SHADER
H70002_SKELETON
H70003_ANIMATION_SKIN
HEC0003_HOTSPOT (used for kit hotspots)
H20003_RASTER
HEC0010_NAME_SECTION
H7000F_SKIN_MATRIX_BUFFER
EA_FxShader_ParameterBlockDescriptor
EA_FxShader_ParameterBlock, EA_FxShader_FxMateria
RWCObjectType_Volume
RWCObjectType_SimpleMappedArray
ModelInstance_ArenaId
ModelSkeleton_ArenaId
ModelSkeletonPose_ArenaId
ModelRender_ArenaId
ModelCollision_ArenaId
Spline_ArenaId
SceneLayer_ArenaId
Location_ArenaId
CullInfo_ArenaId
Camera_ArenaId
ChannelCurve_ArenaId
AnimSeq_ArenaId
* Rx3 sections - List :
* SECTIONS since FIFA 11
INDEX_BUFFER_BATCH
INDEX_BUFFER
VERTEX_BUFFER
BONE_REMAP
TEXTURE_BATCH
TEXTURE
* SECTIONS since FIFA 12
NAME_TABLE
VERTEX_FORMAT
SIMPLE_MESH
ANIMATION_SKIN
HOTSPOT (used for kit hotspots)
MATERIAL
SCENE_INSTANCE
SCENE_LAYER
LOCATION
COLLISION_TRI_MESH
SCENE_ANIMATION
EDGE_MESH
COLLISION (beta)
* SECTIONS since FIFA 15
SKELETON
CLOTH_DEF
* SECTIONS since FIFA 16
QUAD_INDEX_BUFFER_BATCH
QUAD_INDEX_BUFFER
ADJACENCY
- Support for textures in big/little endian
- Writing with correct offset-/size- values
- ...

Use

FIFA Library can be used for your projects :
1. import the FIFALibrary.dll

2. Load an rx3 file
example:
Code:
Dim model_test As Rx3File
model_test.Load(FileName as string)

3. make your edits

4. Save rx3 file
example:
Code:
model_test.Save(FileName as string)

Downloads:
* Release version : Download

Credits also to:
* Dmitri, Beedy (research)
* Rinaldo
Ay ay... thanks for the dll. You could also release it in nuget-packages.
 

tokke001

Senior Squad

Version 4 (v21.11.28)


Here a new (small update) version for reading/writing rx2/rx3 files :
* improvements: for writing file end (rx3file)
* Sections Rx3AnimationSkin & ObjectType_AnimationSkin : different reading of BoneMatrices
* DEC3N: added support for reading/writing of DEC3N (Normals, Binormals, Tangents)
* .... (see changelog)

x86 & x64 versions included now !



ChangeLog:
[v21.11.28]
* improvements: for writing file end (rx3file)
* New properties: Rx3File.NumMeshes , Rx3File.NumTextures
* Sections Rx3AnimationSkin & ObjectType_AnimationSkin : different reading of BoneMatrices
* DEC3N: added support for reading/writing of DEC3N (Normals, Binormals, Tangents)
-> at loading a vertex, float values will be loaded from DEC3N automaticly (not at writing)
-> Read DEC3N to floats: FifaUtil.DEC3NtoFloats
-> Write floats to DEC3N: FifaUtil.FloatsToDEC3N
[v21.11.2]
* New: Bin audio file reading (and export to Xml)
* New: DDS files support
* New Rx3-Sections added (all used sections added now) : SCENE_ANIMATION, EDGE_MESH, COLLISION (beta), CLOTH_DEF
* New RW4-Sections added (all used sections added now) : EA_FxShader_ParameterBlockDescriptor, EA_FxShader_ParameterBlock, EA_FxShader_FxMaterial, RWCObjectType_Volume, RWCObjectType_SimpleMappedArray, ModelInstance_ArenaId, ModelSkeleton_ArenaId, ModelSkeletonPose_ArenaId, ModelRender_ArenaId, ModelCollision_ArenaId, Spline_ArenaId, SceneLayer_ArenaId, Location_ArenaId, CullInfo_ArenaId, Camera_ArenaId, ChannelCurve_ArenaId, AnimSeq_ArenaId
* New Texture Format support: ATI1, R8G8B8, A4R4G4B4 (loading with some bugs), R5G6B5 (Load only, not save), X1R5G5B5 (Load only, not save), A32B32G32R32F (rx2 files only, not rx3)
* New VertexFormats support: BlendWeight as USHORT4N, TextureCoordinate as SHORT2N, TextureCoordinate as FLOAT3
* New: support for Indices as uinteger values (models with more then 65535 vertices)
* Fixes/improvements: Better Big/little endian textures- support, better Tiling support, ...
* rx2/FIFA 11 : File-alignment improvements
* Fix: Texture sizes-values not saved at MIP-map 1
* Fix: section Rx3SimpleMesh formats
* Fix: RGB coloring corrected
* Fix: BC5/ATI2 textures - correct decompressing (fixing blurred image)
* Many other fixes & improvements !
[V20.10.11]
* improvements: rx3/RW4 headers Endianness
* Vertexes: Support for multiples Weights/indices/Positions/tangents/normals for a vertex
* Model3D: improvements/fixes
* New Rx3 sections: ADJACENCY (ex. FIFA 16 head models)
* New Rx3 sections: Material, SceneInstance, SCENE_LAYER, LOCATION, COLLISION_TRI_MESH (ex. stadium files)
* New RW4 sections: H7000F SKIN_MATRIX_BUFFER
* Support Rx2 Files reading/writing (FIFA 08, FIFA 09, UEFA EURO 2008 console)
* Rx2 File: added function for convert Rx2 to rx3 (FIFA 11)
* RWraster: improvements (Height/width)
* Rx3Skeleton, RW4Skeleton: added function "ExportSkeletonInfos"
* Rx3AnimationSkin, RW4AnimationSkin: added function "ExportInfos"
* Rx3BoneRemap: added function "CreateFromVertexBuffer"
* RWBoneNameHash: known fnv132 hashed Bonenames added
* RW4 Section names improved (thank to Beedy' list)
* Other improvements & fixes...

Features:
- Sections

* Support for all rx3 files (all games fifa 10 to latest fifa)
* Support rx2 files (FIFA 07, 08, 09, UEFA EURO 2008 console)
* reading/writing support
* Little or big endian format support
* Renderware 4 section- List (FIFA 11 rx3/older rx2 files) :
RW4 Headers
RW4GeneralStructure
RW4SectionManifest
H20004_VERTEX_DESCRIPTOR
H20005_VERTEX_BUFFER
H20007_INDEX_BUFFER
H20009_MESH
HEF0004_SHADER
H70002_SKELETON
H70003_ANIMATION_SKIN
HEC0003_HOTSPOT (used for kit hotspots)
H20003_RASTER
HEC0010_NAME_SECTION
H7000F_SKIN_MATRIX_BUFFER
EA_FxShader_ParameterBlockDescriptor
EA_FxShader_ParameterBlock, EA_FxShader_FxMateria
RWCObjectType_Volume
RWCObjectType_SimpleMappedArray
ModelInstance_ArenaId
ModelSkeleton_ArenaId
ModelSkeletonPose_ArenaId
ModelRender_ArenaId
ModelCollision_ArenaId
Spline_ArenaId
SceneLayer_ArenaId
Location_ArenaId
CullInfo_ArenaId
Camera_ArenaId
ChannelCurve_ArenaId
AnimSeq_ArenaId
* Rx3 sections - List :
* SECTIONS since FIFA 11
INDEX_BUFFER_BATCH
INDEX_BUFFER
VERTEX_BUFFER
BONE_REMAP
TEXTURE_BATCH
TEXTURE
* SECTIONS since FIFA 12
NAME_TABLE
VERTEX_FORMAT
SIMPLE_MESH
ANIMATION_SKIN
HOTSPOT (used for kit hotspots)
MATERIAL
SCENE_INSTANCE
SCENE_LAYER
LOCATION
COLLISION_TRI_MESH
SCENE_ANIMATION
EDGE_MESH
COLLISION (beta)
* SECTIONS since FIFA 15
SKELETON
CLOTH_DEF
* SECTIONS since FIFA 16
QUAD_INDEX_BUFFER_BATCH
QUAD_INDEX_BUFFER
ADJACENCY
- Support for textures in big/little endian
- Writing with correct offset-/size- values
- ...

Use

FIFA Library can be used for your projects :
1. import the FIFALibrary.dll

2. Load an rx3 file
example:
Code:
Dim model_test As Rx3File
model_test.Load(FileName as string)

3. make your edits

4. Save rx3 file
example:
Code:
model_test.Save(FileName as string)

Downloads:
* Release version : Download

Credits also to:
* Dmitri, Beedy (research)
* Rinaldo
 

Death GOD 7

Club Supporter

Version 4 (v21.11.28)


Here a new (small update) version for reading/writing rx2/rx3 files :
* improvements: for writing file end (rx3file)
* Sections Rx3AnimationSkin & ObjectType_AnimationSkin : different reading of BoneMatrices
* DEC3N: added support for reading/writing of DEC3N (Normals, Binormals, Tangents)
* .... (see changelog)

x86 & x64 versions included now !


ChangeLog:
[v21.11.28]
* improvements: for writing file end (rx3file)
* New properties: Rx3File.NumMeshes , Rx3File.NumTextures
* Sections Rx3AnimationSkin & ObjectType_AnimationSkin : different reading of BoneMatrices
* DEC3N: added support for reading/writing of DEC3N (Normals, Binormals, Tangents)
-> at loading a vertex, float values will be loaded from DEC3N automaticly (not at writing)
-> Read DEC3N to floats: FifaUtil.DEC3NtoFloats
-> Write floats to DEC3N: FifaUtil.FloatsToDEC3N
[v21.11.2]
* New: Bin audio file reading (and export to Xml)
* New: DDS files support
* New Rx3-Sections added (all used sections added now) : SCENE_ANIMATION, EDGE_MESH, COLLISION (beta), CLOTH_DEF
* New RW4-Sections added (all used sections added now) : EA_FxShader_ParameterBlockDescriptor, EA_FxShader_ParameterBlock, EA_FxShader_FxMaterial, RWCObjectType_Volume, RWCObjectType_SimpleMappedArray, ModelInstance_ArenaId, ModelSkeleton_ArenaId, ModelSkeletonPose_ArenaId, ModelRender_ArenaId, ModelCollision_ArenaId, Spline_ArenaId, SceneLayer_ArenaId, Location_ArenaId, CullInfo_ArenaId, Camera_ArenaId, ChannelCurve_ArenaId, AnimSeq_ArenaId
* New Texture Format support: ATI1, R8G8B8, A4R4G4B4 (loading with some bugs), R5G6B5 (Load only, not save), X1R5G5B5 (Load only, not save), A32B32G32R32F (rx2 files only, not rx3)
* New VertexFormats support: BlendWeight as USHORT4N, TextureCoordinate as SHORT2N, TextureCoordinate as FLOAT3
* New: support for Indices as uinteger values (models with more then 65535 vertices)
* Fixes/improvements: Better Big/little endian textures- support, better Tiling support, ...
* rx2/FIFA 11 : File-alignment improvements
* Fix: Texture sizes-values not saved at MIP-map 1
* Fix: section Rx3SimpleMesh formats
* Fix: RGB coloring corrected
* Fix: BC5/ATI2 textures - correct decompressing (fixing blurred image)
* Many other fixes & improvements !
[V20.10.11]
* improvements: rx3/RW4 headers Endianness
* Vertexes: Support for multiples Weights/indices/Positions/tangents/normals for a vertex
* Model3D: improvements/fixes
* New Rx3 sections: ADJACENCY (ex. FIFA 16 head models)
* New Rx3 sections: Material, SceneInstance, SCENE_LAYER, LOCATION, COLLISION_TRI_MESH (ex. stadium files)
* New RW4 sections: H7000F SKIN_MATRIX_BUFFER
* Support Rx2 Files reading/writing (FIFA 08, FIFA 09, UEFA EURO 2008 console)
* Rx2 File: added function for convert Rx2 to rx3 (FIFA 11)
* RWraster: improvements (Height/width)
* Rx3Skeleton, RW4Skeleton: added function "ExportSkeletonInfos"
* Rx3AnimationSkin, RW4AnimationSkin: added function "ExportInfos"
* Rx3BoneRemap: added function "CreateFromVertexBuffer"
* RWBoneNameHash: known fnv132 hashed Bonenames added
* RW4 Section names improved (thank to Beedy' list)
* Other improvements & fixes...

Features:
- Sections

* Support for all rx3 files (all games fifa 10 to latest fifa)
* Support rx2 files (FIFA 07, 08, 09, UEFA EURO 2008 console)
* reading/writing support
* Little or big endian format support
* Renderware 4 section- List (FIFA 11 rx3/older rx2 files) :
RW4 Headers
RW4GeneralStructure
RW4SectionManifest
H20004_VERTEX_DESCRIPTOR
H20005_VERTEX_BUFFER
H20007_INDEX_BUFFER
H20009_MESH
HEF0004_SHADER
H70002_SKELETON
H70003_ANIMATION_SKIN
HEC0003_HOTSPOT (used for kit hotspots)
H20003_RASTER
HEC0010_NAME_SECTION
H7000F_SKIN_MATRIX_BUFFER
EA_FxShader_ParameterBlockDescriptor
EA_FxShader_ParameterBlock, EA_FxShader_FxMateria
RWCObjectType_Volume
RWCObjectType_SimpleMappedArray
ModelInstance_ArenaId
ModelSkeleton_ArenaId
ModelSkeletonPose_ArenaId
ModelRender_ArenaId
ModelCollision_ArenaId
Spline_ArenaId
SceneLayer_ArenaId
Location_ArenaId
CullInfo_ArenaId
Camera_ArenaId
ChannelCurve_ArenaId
AnimSeq_ArenaId
* Rx3 sections - List :
* SECTIONS since FIFA 11
INDEX_BUFFER_BATCH
INDEX_BUFFER
VERTEX_BUFFER
BONE_REMAP
TEXTURE_BATCH
TEXTURE
* SECTIONS since FIFA 12
NAME_TABLE
VERTEX_FORMAT
SIMPLE_MESH
ANIMATION_SKIN
HOTSPOT (used for kit hotspots)
MATERIAL
SCENE_INSTANCE
SCENE_LAYER
LOCATION
COLLISION_TRI_MESH
SCENE_ANIMATION
EDGE_MESH
COLLISION (beta)
* SECTIONS since FIFA 15
SKELETON
CLOTH_DEF
* SECTIONS since FIFA 16
QUAD_INDEX_BUFFER_BATCH
QUAD_INDEX_BUFFER
ADJACENCY
- Support for textures in big/little endian
- Writing with correct offset-/size- values
- ...

Use

FIFA Library can be used for your projects :
1. import the FIFALibrary.dll

2. Load an rx3 file
example:
Code:
Dim model_test As Rx3File
model_test.Load(FileName as string)

3. make your edits

4. Save rx3 file
example:
Code:
model_test.Save(FileName as string)

Downloads:
* Release version : Download

Credits also to:
* Dmitri, Beedy (research)
* Rinaldo
Master tokke001 with requested feature changes, :D
 


Top