Skip to main content

flint

flint (Freelancer Intel) is a platform-independent parser and ORM for the data files of Freelancer, a 2003 space sim for Windows developed by Digital Anvil.

Freelancer is interesting in that the game world can be entirely defined in INI files, a format more usually used to hold simple configuration data. Additional content (e.g. text, icons and models) are stored in a variety of binary formats.

flint implements a parser for Freelancer-style INIs, as well as platform-independent reader implementations for every binary file format used by Freelancer - BINI, resource DLL, and UTF. All these implementations can be found in flint/formats. Additionally, resource string handling incorporates RDL (Freelancer's markup language) to HTML translation and some of the maths surrounding Freelancer's navmap has been implemented.

Taken together, this yields a simple yet powerful API that can be used to explore the game world, dump data or act as a foundation for Freelancer-related applications.

flint explicitly supports vanilla Freelancer and Discovery Freelancer, but in principle should (though it's not yet) be implemented robustly enough to work with any valid mod, no matter how esoteric.

Installation

Install the latest stable version from PyPI with pip:

pip install fl-flint

Or install the latest development version straight from this repository:

pip install https://github.com/biqqles/flint/archive/master.zip -U

Built wheels are also available under Releases, as is a changelog.

flint requires Python >= 3.6.

API documentation

The documentation has been moved to the wiki.

Ongoing work

  • Entities
    • Comprehensive classification of Zone types
  • Missions
    • Reading mbases.ini
  • Interface
    • Reading infocardmap.ini
    • Bidirectionally transforming RDL from and to XHTML without using a crude lookup table
  • Paths
    • Extracting paths from Freelancer.exe
  • Formats
    • Writer implementations for formats

Acknowledgements

Thanks to the admins, members and supporters of The Starport for hosting an invaluable source of information about modding Freelancer.

In addition, particular thanks goes to:

  • Bas Westerbaan for documenting the BINI format
  • Treewyrm for documenting UTF
  • adoxa and cshake for deciphering RDL
  • cshake and Alex for providing a cross-platform DLL parser, which facilitated early development
  • Syrus for support in the early stages of development

Metadata

Release files for fl-flint 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fl-flint 0.10.0
File Size Uploaded Provenance Actions
fl-flint-0.10.0.tar.gz 35.8 kB Without provenance Details for fl-flint-0.10.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fl-flint 0.10.0
File Interpreter ABI Platform Actions
fl_flint-0.10.0-py3-none-any.whl Python 3 none any Details for fl_flint-0.10.0-py3-none-any.whl

Total release size: 80.8 kB

Release files / fl-flint-0.10.0.tar.gz

Download URL fl-flint-0.10.0.tar.gz
Size 35.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7c1ef8ee664ed9e49fa9f6479695c0553f26f7d5e0ca96b40edaa1247089ea7c
BLAKE2b-256 checksum
How to use checksums
76a0b3a1503bc1ce5c4138c5f6eb8f5fed56cde11d528f42344ff6418dbb42c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

Release files / fl_flint-0.10.0-py3-none-any.whl

Download URL fl_flint-0.10.0-py3-none-any.whl
Size 45.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb9515f9437ef99715fcbf7f83f9d14a38860b22939164dfa5be18a774b0accb
BLAKE2b-256 checksum
How to use checksums
7d67744cdc55cce44ccd78341e6a4fedeeec729980f388de3840aab0a1b15e32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

Security for fl-flint 0.10.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page