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 |
| 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, and collision bounds |
| 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 Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fourfury-0.2.0-cp311-abi3-win_amd64.whl.
File metadata
- Download URL: fourfury-0.2.0-cp311-abi3-win_amd64.whl
- Upload date:
- Size: 144.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f17e06eee91976c4d5bcb10ec5428ecfcaf524059a48cf3c3dad6f65236f7e9
|
|
| MD5 |
eb080533a8297c9ec553ba5ecf7bf1bf
|
|
| BLAKE2b-256 |
b90af0f0565af503b16b7b033995a246182fb73a0302525bb5a27a448f397932
|