Skip to content

Latest commit

 

History

History
54 lines (43 loc) · 2.49 KB

README.md

File metadata and controls

54 lines (43 loc) · 2.49 KB

fcecodec

fcecodec is a Python extension module that decodes, encodes, and operates on FCE data. FCE is a geometry definition file format. The Python extension module is based on a dependency-free, header-only library written in C89. Python bindings are written in C++ (pybind11). Supported on Windows and Linux. Tested on macOS.

The intended usage is for transparent pre- and post-processing tasks specific to FCE. Exporting OBJ is supported in library, importing OBJ is fully supported via script.

Blender Import/Export Add-on: fcecodec_blender

Installation / Documentation

Python extension module: /python/README.md
FCE format documentation: /src/fcelib/fcelib_fcetypes.h

Usage

/scripts contains ready-to-use scripts (Obj2Fce, Fce2Obj, etc.)
/scripts/doc_Obj2Fce.md is an OBJ/MTL to FCE conversion tutorial

fcecodec-example.ipynb fcecodec-example.ipynb

Key features

  • Io: full FCE implementation (FCE3, FCE4, FCE4M) with validation
  • Io: decodes/encodes transparently
  • Io: exports to Wavefront OBJ
  • Scripts: provides Python API
  • Get/Set: exposes raw geometry data (vertices, normals, triangles, texcoords)
  • Get/Set: exposes attributes (triangle flags, texpages, vert animation flags, colors, dummies, etc.)
  • Op: inserts part from another mesh
  • Op: changes part order, copies part, merges parts, deletes part
  • Op: deletes triangles, vertices
  • Stats: print stats

References

FCE3 specifications taken from [1]. FCE4 specifications are loosely adapted from [1] and [2]. [2] was apparently based on [3]. FCE4M specifications own work.

[1] D. Auroux et al. The unofficial Need For Speed III file format specifications - Version 1.0 [1998]
[2] A. Sadhra NFS4Loader.h via OpenNFS [2015]
[3] Addict NFS4 FCE file format specifications [1999]

Information

fcecodec License: GNU General Public License v2.0+
Website: https://github.com/bfut/fcecodec

Third party licenses

sclpython.h: zlib License
fcecodec scripts: zlib License