• This is a reminder of 3 IMPORTANT RULES:

    1- External self-promotion websites or apps are NOT allowed here, like Discord/Twitter/Patreon/etc.

    2- Do NOT post in other languages. English-only.

    3- Crack/Warez/Piracy talk is NOT allowed.

    Breaking any of the above rules will result in your messages being deleted and you will be banned upon repetition.

    Please, stop by this thread SoccerGaming Forum Rules And Guidelines and make sure you read and understand our policies.

    Thank you!

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


Download
2022 version v22.11.12 available : Here


Code examples :
* Edit Rx3 model files
* Edit Rx3 Texture files
* Edit Crowd Dat files

Structure info
* Crowd data (File-structure info of crowd dat files)

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
 

tokke001

Senior Squad

News


i am rewriting large parts of the dll,
a lot of new features to come :
round up of what to expect at next version


1. New features for rx2 (old) & FIFA 11 rx3 modding:​

because i received info from a nhl11 debug-file (thx @Beedy ) ,
the renderware sections are now near complete added: almost no 'unknown values'
What s New :
- Create a custom Vertex formats: ex. hairmodels with multiple UVs
- unknown values fixed & Enums added for sections used by stadiums: this 'should make it more possible' to edit stadiums
- fully readout of RW section "Raster" : edit Depth, Dimension, ... + corrected TextureFormat-enums
- Easier to work with
* Different RW sections split in Namespaces , reviewed names, ...
* automatic links between sections (from-loading/to-saving of pointers) : for easier editing
* easier to add a new RW section
- ...

for files:
* Rx2 ( FIFA 07-09, or games like NHL11)
* Rx3 (FIFA 10 console, FIFA 11 pc, WC10, FO3 old)

2. New rx3 Texture formats :​

rx3 texture formats "BC6H_UF16" now supported
(dds support only, no bitmap)
ex. Sky-textures of FIFA 22 switch

3. General Rx3/Rx2​

* added functions for easier reading/writing textures/vertex-data/Index-data , ...
* Fix: big-endian textures wrongly loaded - Flag "Rx3Texture.Rx3TextureHeader.Flags_1_TextureEndian" was wrongly read
* Code Improvements on Endian format reading: FileReader/FileWriter introduced
* Fix for reading/writing DEC3N vertex values (normals/tangents/binormals) - wrong offsets of writing the 32bit value

4. New: support "glare.bin" files​

Reading of "glare.bin" files,
used at old games like :
nhl11, FIFA08 console, ...

5. New: support CrowdPlacement "Crowd_*_*.dat" files​

Reading/Writing of crowdplacement *.dat files,
as 'detailed as possible'
for games:
* Crowd v3 format: FIFA 07-14
* Crowd v4 format: WC14 game
* Crowd v5 format: FIFA 15 - 22


i would describe the new dll as "a more complete, and powerfull library"
wich will unlock new options for tools based on .net framework (like my FIFAConverter),
or for python scripts (like blender plugins)
 

Skoczek

Fan Favourite

News


i am rewriting large parts of the dll,
a lot of new features to come :
round up of what to expect at next version


1. New features for rx2 (old) & FIFA 11 rx3 modding:​

because i received info from a nhl11 debug-file (thx @Beedy ) ,
the renderware sections are now near complete added: almost no 'unknown values'
What s New :
- Create a custom Vertex formats: ex. hairmodels with multiple UVs
- unknown values fixed & Enums added for sections used by stadiums: this 'should make it more possible' to edit stadiums
- fully readout of RW section "Raster" : edit Depth, Dimension, ... + corrected TextureFormat-enums
- Easier to work with
* Different RW sections split in Namespaces , reviewed names, ...
* automatic links between sections (from-loading/to-saving of pointers) : for easier editing
* easier to add a new RW section
- ...

for files:
* Rx2 ( FIFA 07-09, or games like NHL11)
* Rx3 (FIFA 10 console, FIFA 11 pc, WC10, FO3 old)

2. New rx3 Texture formats :​

rx3 texture formats "BC6H_UF16" now supported
(dds support only, no bitmap)
ex. Sky-textures of FIFA 22 switch

3. General Rx3/Rx2​

* added functions for easier reading/writing textures/vertex-data/Index-data , ...
* Fix: big-endian textures wrongly loaded - Flag "Rx3Texture.Rx3TextureHeader.Flags_1_TextureEndian" was wrongly read
* Code Improvements on Endian format reading: FileReader/FileWriter introduced
* Fix for reading/writing DEC3N vertex values (normals/tangents/binormals) - wrong offsets of writing the 32bit value

4. New: support "glare.bin" files​

Reading of "glare.bin" files,
used at old games like :
nhl11, FIFA08 console, ...

5. New: support CrowdPlacement "Crowd_*_*.dat" files​

Reading/Writing of crowdplacement *.dat files,
as 'detailed as possible'
for games:
* Crowd v3 format: FIFA 07-14
* Crowd v4 format: WC14 game
* Crowd v5 format: FIFA 15 - 22


i would describe the new dll as "a more complete, and powerfull library"
wich will unlock new options for tools based on .net framework (like my FIFAConverter),
or for python scripts (like blender plugins)
Oh. That's fantastic.
Maybe we finally find a way how to convert WC 14 crowds.
I'm waiting for more calmly.
 

Death GOD 7

Club Supporter

News


i am rewriting large parts of the dll,
a lot of new features to come :
round up of what to expect at next version


1. New features for rx2 (old) & FIFA 11 rx3 modding:​

because i received info from a nhl11 debug-file (thx @Beedy ) ,
the renderware sections are now near complete added: almost no 'unknown values'
What s New :
- Create a custom Vertex formats: ex. hairmodels with multiple UVs
- unknown values fixed & Enums added for sections used by stadiums: this 'should make it more possible' to edit stadiums
- fully readout of RW section "Raster" : edit Depth, Dimension, ... + corrected TextureFormat-enums
- Easier to work with
* Different RW sections split in Namespaces , reviewed names, ...
* automatic links between sections (from-loading/to-saving of pointers) : for easier editing
* easier to add a new RW section
- ...

for files:
* Rx2 ( FIFA 07-09, or games like NHL11)
* Rx3 (FIFA 10 console, FIFA 11 pc, WC10, FO3 old)

2. New rx3 Texture formats :​

rx3 texture formats "BC6H_UF16" now supported
(dds support only, no bitmap)
ex. Sky-textures of FIFA 22 switch

3. General Rx3/Rx2​

* added functions for easier reading/writing textures/vertex-data/Index-data , ...
* Fix: big-endian textures wrongly loaded - Flag "Rx3Texture.Rx3TextureHeader.Flags_1_TextureEndian" was wrongly read
* Code Improvements on Endian format reading: FileReader/FileWriter introduced
* Fix for reading/writing DEC3N vertex values (normals/tangents/binormals) - wrong offsets of writing the 32bit value

4. New: support "glare.bin" files​

Reading of "glare.bin" files,
used at old games like :
nhl11, FIFA08 console, ...

5. New: support CrowdPlacement "Crowd_*_*.dat" files​

Reading/Writing of crowdplacement *.dat files,
as 'detailed as possible'
for games:
* Crowd v3 format: FIFA 07-14
* Crowd v4 format: WC14 game
* Crowd v5 format: FIFA 15 - 22


i would describe the new dll as "a more complete, and powerfull library"
wich will unlock new options for tools based on .net framework (like my FIFAConverter),
or for python scripts (like blender plugins)
Another lightning is going to strike in this community again that will shock all people. Nice seeing improvements of the dll.
 

SimIT!

Club Supporter

News


i am rewriting large parts of the dll,
a lot of new features to come :
round up of what to expect at next version


1. New features for rx2 (old) & FIFA 11 rx3 modding:​

because i received info from a nhl11 debug-file (thx @Beedy ) ,
the renderware sections are now near complete added: almost no 'unknown values'
What s New :
- Create a custom Vertex formats: ex. hairmodels with multiple UVs
- unknown values fixed & Enums added for sections used by stadiums: this 'should make it more possible' to edit stadiums
- fully readout of RW section "Raster" : edit Depth, Dimension, ... + corrected TextureFormat-enums
- Easier to work with
* Different RW sections split in Namespaces , reviewed names, ...
* automatic links between sections (from-loading/to-saving of pointers) : for easier editing
* easier to add a new RW section
- ...

for files:
* Rx2 ( FIFA 07-09, or games like NHL11)
* Rx3 (FIFA 10 console, FIFA 11 pc, WC10, FO3 old)

2. New rx3 Texture formats :​

rx3 texture formats "BC6H_UF16" now supported
(dds support only, no bitmap)
ex. Sky-textures of FIFA 22 switch

3. General Rx3/Rx2​

* added functions for easier reading/writing textures/vertex-data/Index-data , ...
* Fix: big-endian textures wrongly loaded - Flag "Rx3Texture.Rx3TextureHeader.Flags_1_TextureEndian" was wrongly read
* Code Improvements on Endian format reading: FileReader/FileWriter introduced
* Fix for reading/writing DEC3N vertex values (normals/tangents/binormals) - wrong offsets of writing the 32bit value

4. New: support "glare.bin" files​

Reading of "glare.bin" files,
used at old games like :
nhl11, FIFA08 console, ...

5. New: support CrowdPlacement "Crowd_*_*.dat" files​

Reading/Writing of crowdplacement *.dat files,
as 'detailed as possible'
for games:
* Crowd v3 format: FIFA 07-14
* Crowd v4 format: WC14 game
* Crowd v5 format: FIFA 15 - 22


i would describe the new dll as "a more complete, and powerfull library"
wich will unlock new options for tools based on .net framework (like my FIFAConverter),
or for python scripts (like blender plugins)
Is this means that we can use the crowd files of WC 2014 now? Because that was a problem to convert the stadiums.
 

tokke001

Senior Squad
I hope so
but u know the brazil wc14 stadiums also existed at FIFA online 3 ?
those crowd files are compatible with FIFA 14

there are still unknown values for the WC'14 crowd data file :
but i ll try compare the WC'14 with FO3 crowd files, to check the similarities
 

Skoczek

Fan Favourite
but u know the brazil wc14 stadiums also existed at FIFA online 3 ?
those crowd files are compatible with FIFA 14

there are still unknown values for the WC'14 crowd data file :
but i ll try compare the WC'14 with FO3 crowd files, to check the similarities
Generic stadiums were as well?
 


Top