A parser for Freelancer and its formats
Project description
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
- Comprehensive classification of
- Missions
- Reading
mbases.ini
- Reading
- Interface
- Reading
infocardmap.ini
- Bidirectionally transforming RDL from and to XHTML without using a crude lookup table
- Reading
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fl-flint-0.10.0.tar.gz
.
File metadata
- Download URL: fl-flint-0.10.0.tar.gz
- Upload date:
- Size: 35.8 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c1ef8ee664ed9e49fa9f6479695c0553f26f7d5e0ca96b40edaa1247089ea7c |
|
MD5 | 0e555994222efe2949646e85ddb69945 |
|
BLAKE2b-256 | 76a0b3a1503bc1ce5c4138c5f6eb8f5fed56cde11d528f42344ff6418dbb42c7 |
File details
Details for the file fl_flint-0.10.0-py3-none-any.whl
.
File metadata
- Download URL: fl_flint-0.10.0-py3-none-any.whl
- Upload date:
- Size: 45.0 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb9515f9437ef99715fcbf7f83f9d14a38860b22939164dfa5be18a774b0accb |
|
MD5 | 9ecad0d157e5501ed043f67ff48b78ae |
|
BLAKE2b-256 | 7d67744cdc55cce44ccd78341e6a4fedeeec729980f388de3840aab0a1b15e32 |