Our site is generously sponsored by:

The best landscaping service Austin and lawn service company in Austin Texas and Cedar Park is Lawn Service Cedar Park.

Lawn Care Service of Cedar Park
100 E Whitestone Blvd
Ste 148, #166
Cedar Park, TX 78613
(512) 595-0884

The best landscaping service leander and lawn service provider in Leander TX is Leander Landscaping Pros.

Leander Lawn and Landscaping Pros
1800 Montana Ct
Leander, TX 78641
USA
(512) 468-2670
Please give them a visit!
  • This is a reminder of 3 IMPORTANT RULES:

    1- This is an English forum. Please post only in English.

    2- This is NOT a commercial or advertising forum. All content must be shared for FREE.

    3- No invites or links to Discord, Telegram, WhatsApp, or similar platforms.

    Please take a moment to review our forum rules and guidelines here: SoccerGaming Rules and Guidelines.

    Thank you!

  • This is a quick notice about an upcoming SITE UPDATE:

    Our new main website will be launching soon. During this transition, there may be brief periods of downtime.

    The SoccerGaming forums will remain accessible directly at:

    https://soccergaming.com/forums

    We appreciate your patience and support as we work on improving the platform for everyone.

    Thank you!

OTools - import/export O/FSH files

Dmitri

Manager
Staff member
Moderator
Messages
872
Reactions
2,168
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.

WtbqZAwm.png
tzKCIWkm.png


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:
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.

WtbqZAwm.png
tzKCIWkm.png


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
 
Last edited:
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:
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
 
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:
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
 
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.
 
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?
 
Hey @Dmitri I've been trying to extract PNG images from FSH files (NHL 2001), but the files aren't being extracted, even though the program says "Successfully done" in less than a second. The folder where the PNGs should be extracted to is empty. Is it a problem with the game because it's not supported?? I'm attaching a few of these FSH files just in case. Please help, I really need to extract these. I would do it manually, but there are almost 1000 files.
 

Attachments

  • 1.png
    1.png
    121.1 KB · Views: 57
  • fsh.zip
    69.2 KB · Views: 28
Hey @Dmitri I've been trying to extract PNG images from FSH files (NHL 2001), but the files aren't being extracted, even though the program says "Successfully done" in less than a second. The folder where the PNGs should be extracted to is empty. Is it a problem with the game because it's not supported?? I'm attaching a few of these FSH files just in case. Please help, I really need to extract these. I would do it manually, but there are almost 1000 files.
These files are compressed with EA's RefPack compression. OTools can work only with uncompressed files.
If you extract such files from .big, find a tool which can additionaly decompress files during extraction (QuickBMS for example).
 
These files are compressed with EA's RefPack compression. OTools can work only with uncompressed files.
If you extract such files from .big, find a tool which can additionaly decompress files during extraction (QuickBMS for example).
I tried many different scripts, and on about the 6th attempt, I managed to correctly extract the FSH files using quickbms (I did this with the ea_big4.bms script). Otools also did its job, but the problem is that all the extracted images have the wrong palette. P.S. If I open the extracted FSH file in the program EA Graphics Editor and it displays correctly (to my surprise), so quickbms extracted the files correctly, but why is Otools give blue images?
 

Attachments

  • 2.png
    2.png
    391.2 KB · Views: 65
  • 4.png
    4.png
    48.7 KB · Views: 68
  • extracted_fsh.zip
    62.4 KB · Views: 27
Last edited:
I tried many different scripts, and on about the 6th attempt, I managed to correctly extract the FSH files using quickbms (I did this with the ea_big4.bms script). Otools also did its job, but the problem is that all the extracted images have the wrong palette. P.S. If I open the extracted FSH file in the program EA Graphics Editor and it displays correctly (to my surprise), so quickbms extracted the files correctly, but why is Otools give blue images?
The image format of this fsh is P_8 and palette format is CLUT_ARGB_8888. While otools supports palettized images, this feature was never properly tested so there might be mistakes.
 
Back
Top