• 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!

OTools - import/export O/FSH files

Dmitri

Reserves
Otools is a tool for importing/exporting EA model format (.o).
O is a file extension in EA Sports games which is used for model and animation files. The file may contain model data, skeleton information, animations, rendering information and shaders.
O files were used mostly in games developed by EA Vancouver, between 1999 and 2009.



Features:
Full support for FIFA games, from FIFA 2003 to FIFA 10.
Full support for skeleton and skinning
FSH packing/unpacking
Stadium extras import/export
Bone Remap feature
Vertex Color Merging feature

How to download:
Go to https://bitbucket.org/fifam/otools/downloads/
And download latest release (otools-release-XXXX.zip)

Additional requirements:
- this tool can be installed on Windows 7/8/10, 32-bit or 64-bit.
- install Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 (if you have 64-bit system, install both x64 and x86 versions)
- install DirectX 9.0c End-User Runtimes (June 2010)

How to use:
README.md

Guides
Scene setup

Documentation
O Files
FSH Files
 
Last edited:

IidaMods2K1

Club Supporter
Otools is a tool for importing/exporting EA model format (.o).
O is a file extension in EA Sports games which is used for model and animation files. The file may contain model data, skeleton information, animations, rendering information and shaders.
O files were used mostly in games developed by EA Vancouver, between 1999 and 2009.



Features:
Full support for FIFA games, from FIFA 2003 to FIFA 10.
Full support for skeleton and skinning
FSH packing/unpacking
Stadium extras import/export
Bone Remap feature
Vertex Color Merging feature

How to download:
Go to https://bitbucket.org/fifam/otools/downloads/
And download latest release (otools-release-XXXX.zip)

How to use:
README.md

Guides
Scene setup

Documentation
O Files
FSH Files
I can't download this from bitbucket
 

andersf

Club Supporter
Last edited:

Dmitri

Reserves
I'm working on a feature which allows to define vertex/bone connection (skinning) in 2D textures.
1677534086998.png

1677534521027.png

1677535213566.png


This is useful for:
-conversion of complex skinned models (like kit or body model), where the result of simple bone remapping is not precise.
-conversion of unskinned models which always use the same UV mapping (for example models which are generated in FaceBuilder)
 
Last edited:

Skoczek

Fan Favourite
I'm working on a feature which allows to define vertex/bone connection (skinning) in 2D textures.
View attachment 118659
View attachment 118660
View attachment 118661

This is useful for:
-conversion of complex skinned models (like kit or body model), where the result of simple bone remapping is not precise.
-conversion of unskinned models which always use the same UV mapping (for example models which are generated in FaceBuilder)
this looks like a thing useful for modding all sorts of FIFA
 

Dmitri

Reserves
New verion 0.177 is uploaded on BitBucket.

image (1).png image.png nfshp2_2.PNG nfshp2-1.png

Release notes
Finally added support for NBA Live games. For NBA Live 2003 and 2004 we have export and import, but exporting/importing morph meshes (player body and faces) is not possible. In .O format the morph implementation is very uncommon - you can apply morphing to any vertex attribute, even including bone weights. I think such morphing was never used anywhere, but in NBA Live 2004 we have morphing of texture coordinates, for example. And in most 3D applications (including Blender) and 3D formats, only morphing of positions and normals is expected. So there must be some special way to deal with it. I think morph export/import might be added in future OTools version.
We also can export Need for Speed Hot Pursuit 2 models, but import is not implemented. Also the export of some models is still not possible because they store meshes in some uncommon way. Cars in Need for Speed Hot Pursuit 2 use skeleton, but it's stored in a separate file. To export the model with this skeleton, "-skeleton" command is needed (-skeleton skeleton.o).
There's a new feature which allows to define vertex/bone connection (skinning) in 2D textures.
1677534086998.png
More about this feature: https://bitbucket.org/fifam/otools/wiki/Texture to skin feature

Changelog

0.177

Code:
- fixed crash when trying to import a very large skinned mesh (mesh splitting didn't work correctly with skinned meshes)
- fixed crash in 0.176 on export, when output path was specified directly
- fixed import of bone weights in non-float format from glTF files
- option list for materials with very long name is now exported to a special .mato file
- "skeleton" option now can search for the model in the same folder with .o
- new feature: define vertex/bone connection (skinning) in 2D textures
- added import/export for NBA Live 2003 and NBA Live 2004 (editing morph models is still not possible)
- added export for Need for Speed Hot Pursuit 2 (some models still can't be exported because of different mesh storage in the file)

0.176
Code:
- fixed export of compressed textures with non-power-of-two dimensions (such textures will be exported to non-compressed format) - thanks @jefcam
- fixed crash on batch fsh export
- improved fsh packing - now alignment and sections structure in most cases are identical to original fsh files
- added possibility to define output folder for FSH packing/unpacking
- added possibility to define output format for models (experimental at this moment; it's recommended to use GLTF as output format)
- possibility to define output formats in GUI tool

0.175
Code:
- palette image format (-fshFormat pal8)
- removed dithering on 16-bit textures
- new options -flipNormals and -flipFaces (for import/export)
- new option -sortFaces (might help when mesh consists of many semi-transparent faces which overlap)
- new options for specific fsh packing, -fshKits,  -fshShoes, -fshBalls, -fshPatterns, -fshJNumbers, fshSNumbers
 
Last edited:

Dmitri

Reserves
New verion 0.178 is uploaded on BitBucket.

Changelog

0.178

Code:
- fixed a bug when OTools was not able to create D3D device in order to work with FSH textures
- fixed problem with collision geometry node name during export-import
- light positions are now correctly exported/imported for FIFA stadiums
- new option -preferDxt3 (forces using of DXT3 instead of DXT5)
- new option -tangents (stores tangents to vertex colors)
- small improvement for texture names for -head option
- added .Hair shaders for CL0405
 

Chuny

Chairman
Staff member
Administrator
Super Moderator
New verion 0.178 is uploaded on BitBucket.

Changelog

0.178

Code:
- fixed a bug when OTools was not able to create D3D device in order to work with FSH textures
- fixed problem with collision geometry node name during export-import
- light positions are now correctly exported/imported for FIFA stadiums
- new option -preferDxt3 (forces using of DXT3 instead of DXT5)
- new option -tangents (stores tangents to vertex colors)
- small improvement for texture names for -head option
- added .Hair shaders for CL0405


Great work mate! Very impressive.
 

EN9ne

Club Supporter
New verion 0.178 is uploaded on BitBucket.

Changelog

0.178

Code:
- fixed a bug when OTools was not able to create D3D device in order to work with FSH textures
- fixed problem with collision geometry node name during export-import
- light positions are now correctly exported/imported for FIFA stadiums
- new option -preferDxt3 (forces using of DXT3 instead of DXT5)
- new option -tangents (stores tangents to vertex colors)
- small improvement for texture names for -head option
- added .Hair shaders for CL0405
Hi Dmitri, I’ve converted head models through otools, when viewing in blender and while zooming out, it seems the texture starts to split open at the seam top of head. Adjusting the UV somewhat improves it. Have you seen or experienced this issue before?
 


Top