I am not sure about the ingame limit,
But regarding the file:
it should be possible to create a crowd file with more then 60k seats
I v seen a crowd file from an older game (fifa 07, or fifa 11 i cant remember) wich had more then 60k seats :
So it was confirmed there that "number of seats" is stored as a 32bit value
for the crowd-placement files there is good news :
i got a look on a ea python script for crowdplacement .dat files,
and it got the full layout for 2 file types, and are 100% confirmed now :
* 0x0103 version : for games of FIFA 07 to FIFA 14
* 0x0105 version : for games of FIFA 15 or later
the 3th type wasnt included,
so is a bit more unknown :
* 0x0104 version : game FIFA WC'14
i ll share the layout here,
but i ll also update my dll !
New update of my dll,
these are the main new features:
* CrowdPlacement .dat files support -update
* Updates/fixes for rx3 stadium sections (SceneInstance, SceneLayer, Location, CollisionTriMesh, Collision)
* Updates/Fixes to Dds Files (BCnEncoder.Net dll update)
* other Fixes (see full changelog below)
ChangeLog
- Fix: error when trying get hotspot/nametable sections from memory if it is nothing
- BCnEncoder.Net
* Fix: Ddsfile - Wrong reading of BC5 textures (wrong texture size calculated)
* Updates of BCnEncoder.Shared.Ddsfile to latest version -> BCnEncoderNet45.dll has been updated !
- added DdsExtensions
RawImages from/to DdsFile now moved, as extension functions "FromRawImages", "ToRawImages" to BCnEncoder.Shared.Ddsfile
- Fix: Corrupt DdsFile being created when the texture size from RawImage is wrong - now a size-check is added
- Updates to rx3 texture-sections (from official infos)
* renamed some 'unknown' to 'pad' (padding values)
* Rx3.TextureHeader : added Enum "EDataFormat" (flags) + code updates
- Rx3.SceneInstance
* Fix: MeshDescriptors not loaded
* Fix: MeshDescriptors shouldnt be loaded when 'Status = 0'
- Rx3.SceneLayer
* Section-Updates: Instances now as array (NumInstances added, according ea docs)
- Rx3.Location
* Fix: TotalSize not auto-calculated now, because is a random value at Rx3b files (FIFA 12/13)
- Rx3.CollisionTriMesh
Section-Updates
* Spaces added (array) (NumSpaces added, according ea docs)
* Shapes added (array) (NumShapes added)
* + other updates
- CrowdPlacement .dat files
CrowdDat.CrwdFile updated according official infos
* 0x0103 version-FileType (FIFA 07 to FIFA 14) : full confirmed
* 0x0105 version-FileType (FIFA 15 or later) : full confirmed
* 0x0104 version-FileType (FIFA WC'14) : not full, some unknown values yet
Info:
-> .NET framework 4.7.2 compatible
-> Code Examples: Here
Credits also to:
* Dmitri, Beedy (research)
* Rinaldo (some small code parts)
* BCnEncoder.NET
New update of my dll,
these are the main new features:
* CrowdPlacement .dat files support -update
* Updates/fixes for rx3 stadium sections (SceneInstance, SceneLayer, Location, CollisionTriMesh, Collision)
* Updates/Fixes to Dds Files (BCnEncoder.Net dll update)
* other Fixes (see full changelog below)
ChangeLog
- Fix: error when trying get hotspot/nametable sections from memory if it is nothing
- BCnEncoder.Net
* Fix: Ddsfile - Wrong reading of BC5 textures (wrong texture size calculated)
* Updates of BCnEncoder.Shared.Ddsfile to latest version -> BCnEncoderNet45.dll has been updated !
- added DdsExtensions
RawImages from/to DdsFile now moved, as extension functions "FromRawImages", "ToRawImages" to BCnEncoder.Shared.Ddsfile
- Fix: Corrupt DdsFile being created when the texture size from RawImage is wrong - now a size-check is added
- Updates to rx3 texture-sections (from official infos)
* renamed some 'unknown' to 'pad' (padding values)
* Rx3.TextureHeader : added Enum "EDataFormat" (flags) + code updates
- Rx3.SceneInstance
* Fix: MeshDescriptors not loaded
* Fix: MeshDescriptors shouldnt be loaded when 'Status = 0'
- Rx3.SceneLayer
* Section-Updates: Instances now as array (NumInstances added, according ea docs)
- Rx3.Location
* Fix: TotalSize not auto-calculated now, because is a random value at Rx3b files (FIFA 12/13)
- Rx3.CollisionTriMesh
Section-Updates
* Spaces added (array) (NumSpaces added, according ea docs)
* Shapes added (array) (NumShapes added)
* + other updates
- CrowdPlacement .dat files
CrowdDat.CrwdFile updated according official infos
* 0x0103 version-FileType (FIFA 07 to FIFA 14) : full confirmed
* 0x0105 version-FileType (FIFA 15 or later) : full confirmed
* 0x0104 version-FileType (FIFA WC'14) : not full, some unknown values yet
Info:
-> .NET framework 4.7.2 compatible
-> Code Examples: Here
Credits also to:
* Dmitri, Beedy (research)
* Rinaldo (some small code parts)
* BCnEncoder.NET
guys im new at fifa modding and think i don't know anything about at all i found this thread and i think it contain what i have been looking for all i need to do to export model from rx3 file if it possible To any file format which i can import it to blender like .fbx .obj
New update of my dll,
with some (important) fixes (see changelog below)
ChangeLog
Code:
- Fix: reading file signatures as integer now
- Fix: mipmaps from rw4 not correctly loaded
- Fix: Values at lists not updated (List parameters at RxFile/Rx3File/Rx2File/Rx3HybridFile)
Info:
-> .NET framework 4.7.2 compatible
-> Code Examples: Here
Credits also to:
* Dmitri, Beedy (research)
* Rinaldo (some small code parts)
* BCnEncoder.NET
Hey mate, maybe you can help me here. For converting Madden and FIFA 23 stadiums I found the information of the crowd, i have the xyz positions and orientations. I need to transform that into an obj file or the dat file directly. I could make the xyz positions, but it takes a lot of work and the orientation are not correct. Could you try something? Cheers
above structure will be added to next version of this dll
FIFA 16 *.scale files are very similar to the content of FIFA 23 pc bbscale files,
i believe the values can just be 'copied'
New update of my dll,
these are the main new features:
* CrowdPlacement .dat files support -update
* Updates/fixes for rx3 stadium sections (SceneInstance, SceneLayer, Location, CollisionTriMesh, Collision)
* Updates/Fixes to Dds Files (BCnEncoder.Net dll update)
* other Fixes (see full changelog below)
ChangeLog
- Fix: error when trying get hotspot/nametable sections from memory if it is nothing
- BCnEncoder.Net
* Fix: Ddsfile - Wrong reading of BC5 textures (wrong texture size calculated)
* Updates of BCnEncoder.Shared.Ddsfile to latest version -> BCnEncoderNet45.dll has been updated !
- added DdsExtensions
RawImages from/to DdsFile now moved, as extension functions "FromRawImages", "ToRawImages" to BCnEncoder.Shared.Ddsfile
- Fix: Corrupt DdsFile being created when the texture size from RawImage is wrong - now a size-check is added
- Updates to rx3 texture-sections (from official infos)
* renamed some 'unknown' to 'pad' (padding values)
* Rx3.TextureHeader : added Enum "EDataFormat" (flags) + code updates
- Rx3.SceneInstance
* Fix: MeshDescriptors not loaded
* Fix: MeshDescriptors shouldnt be loaded when 'Status = 0'
- Rx3.SceneLayer
* Section-Updates: Instances now as array (NumInstances added, according ea docs)
- Rx3.Location
* Fix: TotalSize not auto-calculated now, because is a random value at Rx3b files (FIFA 12/13)
- Rx3.CollisionTriMesh
Section-Updates
* Spaces added (array) (NumSpaces added, according ea docs)
* Shapes added (array) (NumShapes added)
* + other updates
- CrowdPlacement .dat files
CrowdDat.CrwdFile updated according official infos
* 0x0103 version-FileType (FIFA 07 to FIFA 14) : full confirmed
* 0x0105 version-FileType (FIFA 15 or later) : full confirmed
* 0x0104 version-FileType (FIFA WC'14) : not full, some unknown values yet
Info:
-> .NET framework 4.7.2 compatible
-> Code Examples: Here
Credits also to:
* Dmitri, Beedy (research)
* Rinaldo (some small code parts)
* BCnEncoder.NET
This is great mate, not only for the convertion itself, but been able o editing a crowd data on txt and also been able to export again is a great evolution
I hope this message finds you well. I am relatively new to VB, and I have encountered an issue that I am seeking assistance with.
I am working on a VB project where I use the FIFALibrary22 this is for convert crowdplacement from FIFA WC 2014 to FIFA 15, and I consistently encounter a NullReferenceException at line 22, specifically at the call m_Crowd.Load(m_CurrentFileName) . The exception indicates a problem that it might be from the library, but I'm not quite sure if this the case.
Pointing that I used the example (EditCrowdDat.vb) and had to change some methods because of the name. Here's the code I have actually:
Imports FIFALibrary22
Imports Microsoft.DirectX
Module Module1
Sub Main()
EditCrowdDat()
End Sub
Sub EditCrowdDat()
' Create a new instance of CrwdFile
Dim m_Crowd As New CrowdDat.CrwdFile
' Load the file
Dim m_CurrentFileName As String = "Ccrowd_x_x.dat"
Dim FileType As CrowdDat.CrwdFileHeader.EVersion = CrowdDat.CrwdFileHeader.EVersion.TYPE_0104
' Attempt to load the file only if the file name is not empty
If Not String.IsNullOrEmpty(m_CurrentFileName) Then
m_Crowd.Load(m_CurrentFileName)
' Header info
Dim Signature As String = m_Crowd.Header.Magic ' = "CRWD"
Dim Version As CrowdDat.CrwdFileHeader.EVersion = m_Crowd.Header.Version
Dim NumSeats As UInteger = m_Crowd.Header.NumSeats
' Loop through the Crowd Data
For i = 0 To NumSeats - 1
Dim Vertices As Vector3 = m_Crowd.CrowdData(i).Position
Dim Rotation As Single = m_Crowd.CrowdData(i).Rotation
Dim Color As Byte() = m_Crowd.CrowdData(i).SeatColor
If FileType = CrowdDat.CrwdFileHeader.EVersion.TYPE_0103 Then
Dim m_CrowdStatus As CrowdDat.Seat0103 = CType(m_Crowd.CrowdData(i), CrowdDat.Seat0103)
Dim NumAwayCrowd As Byte = m_CrowdStatus.Attendance
' Handle other properties for TYPE_0103
ElseIf FileType = CrowdDat.CrwdFileHeader.EVersion.TYPE_0104 Then
Dim m_CrowdStatus As CrowdDat.Seat0104 = CType(m_Crowd.CrowdData(i), CrowdDat.Seat0104)
Dim m_Unknown As Byte = m_CrowdStatus.Unknown_1
' Handle other properties for TYPE_0104
ElseIf FileType = CrowdDat.CrwdFileHeader.EVersion.TYPE_0105 Then
Dim m_CrowdStatus As CrowdDat.Seat0105 = CType(m_Crowd.CrowdData(i), CrowdDat.Seat0105)
Dim NumAwayCrowd As Byte = m_CrowdStatus.Attendance
' Handle other properties for TYPE_0105
End If
Next
' Save the File
Dim MySaveLocation As String = "Ccrowd_x_x(converted).dat"
Dim FileType_save As CrowdDat.CrwdFileHeader.EVersion = CrowdDat.CrwdFileHeader.EVersion.TYPE_0105
m_Crowd.Save(MySaveLocation, FileType_save)
End If
End Sub
If there's a more appropriate way to handle this or if I should have approached it differently, I am open to suggestions and eager to learn. Thank you for such great library I really appreciate it, and of course, your time and assistance. Happy New Year!
This is great mate, not only for the convertion itself, but been able o editing a crowd data on txt and also been able to export again is a great evolution