Skip to main content

FourFury

FourFury is a Python library for reading, inspecting, extracting, and editing Grand Theft Auto IV data files. It provides typed APIs for the game's archives, world placements, collision resources, drawables, textures, navigation graphs, animation dictionaries, and related metadata.

[!IMPORTANT] FourFury is under active development. Read support is broader than write support, and some resource types intentionally permit only fixed-size edits.

Format support

Format Read Write Notes
RPF2 Yes Yes Search, extraction, creation, and unencrypted output
RPF3 Yes No Audio archives; hash-only names remain hexadecimal
IMG3 Yes Yes Search, extraction, creation, and resource padding handling
IDE Yes Yes Lossless definitions with explicit MLO entities, rooms, portals, and validation
IPL Yes Yes Lossless sectioned text with typed GTA IV OCCL boxes
water.dat Yes Yes Lossless water triangles and quads, runtime flags, geometry queries, and neutral mesh export
WPL Yes Yes Placements, MLO resolution, explicit LOD hierarchies, world portals, and instance flags
GTXD Yes Yes Texture-parent chains and cycle detection
NOD Yes Yes Navigation nodes, links, costs, and topology validation
WNV Yes Limited Navigation meshes, edges, cover points, and quadtrees
WBN Yes Limited Collision bounds and fixed-size edits
WBD Yes Limited Collision dictionaries and fixed-size edits
WAD Yes No Animation dictionaries, tracks, chunks, and decoded channels
WDD Yes No Hash-addressed drawable dictionaries and neutral model projection
WDR Yes No Drawables plus neutral model projection
WFT Yes No Fragment drawables, physics hierarchy, collision bounds, and complete neutral fragment projection
WTD Yes No Texture dictionaries and DDS export

See DOCUMENTATION.md for examples, field behavior, writer constraints, and current limitations.

Installation

FourFury requires Python 3.11 or newer. Install it directly from GitHub:

python -m pip install "fourfury @ git+https://github.com/Hancapo/fourfury.git"

For an editable installation:

git clone https://github.com/Hancapo/fourfury.git
cd fourfury
python -m pip install -e .

Quick start

Open an archive and read one of its entries:

from pathlib import Path

from fourfury import RpfArchive

game = Path(r"D:\Program Files (x86)\Steam\steamapps\common\Grand Theft Auto IV\GTAIV")

with RpfArchive.from_path(game / "pc/data/game.rpf") as archive:
    entry = archive.find_entry("data/taskparams.txt")
    if entry is not None:
        print(entry.read().decode("utf-8"))

Documentation

The complete documentation covers every supported format, resource APIs, neutral WDR models, editing constraints, and known limitations.

Release notes live in CHANGELOG.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fourfury-0.2.1.tar.gz (166.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fourfury-0.2.1-cp311-abi3-win_amd64.whl (156.8 kB view details)

Uploaded CPython 3.11+Windows x86-64

File details

Details for the file fourfury-0.2.1.tar.gz.

File metadata

  • Download URL: fourfury-0.2.1.tar.gz
  • Upload date:
  • Size: 166.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for fourfury-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4fffbb047ceffe4854d07a6feda40a3822a8c9ada5ad583e5c61c4dc6e2cf5de
MD5 9466146cc54c6029c84ef0d2973d4479
BLAKE2b-256 fd324e3affe26c482ada777ed9cdaaffd4a3624297f2edc38c1e8510b4d3032a

See more details on using hashes here.

File details

Details for the file fourfury-0.2.1-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: fourfury-0.2.1-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 156.8 kB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for fourfury-0.2.1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7e2978f023b0c0b7c88dcadc44c75092ca2b464f336906c3bf2182fe5b964ad6
MD5 3a91f49c33eef498ad8d2ae25715dc0c
BLAKE2b-256 05287cf98521b632aadcf4c79fdaaeca8b1fa2178cbef2de44b52c6badace10d

See more details on using hashes here.

Release history Release notifications | RSS feed

0.13.3

2 files

0.13.2

2 files

0.13.1

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

This release

0.2.1 This release

2 files

0.2.0

1 file

0.1.0

1 file

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