Open & edit .img files for GTA III / VC / SA (+GUI)
Project description
Universal IMG
Universal IMG is a Python library and a graphical user interface (GUI) application designed for opening and editing
.img archive files used in Grand Theft Auto III, Vice City, and San Andreas.
The core of the library acts as a Python API wrapper for freimgedcs, while the optional GUI provides a user-friendly
desktop application built with Kivy and KivyMD.
Installation
You can install the package via PyPI depending on your needs.
To use the Desktop GUI application:
pip install UniversalIMG[gui]
To use only the Python API (No GUI dependencies):
pip install UniversalIMG
Python API Usage
The library provides a convenient interface to manipulate .img files programmatically.
from pyimgedit import IMGArchive
# Initialize the archive
archive = IMGArchive('models/gta3.img')
# List contents
header, info, files = archive.list()
for file in files:
print(file.name, file.size, file.offset)
# Add or replace a file
archive.add('player.dff')
# Extract a file
archive.extract('player.dff', 'extracted/player.dff')
# Rebuild archive
archive.rebuild()
GUI Application Features
If you installed the package with the [gui] extra, you can launch the application from the terminal or create a
desktop shortcut to the executable.
Interface Overview
The graphical interface supports seamless file browsing, sorting, adding, extracting, and deleting operations with visual progress indicators and operation logs.
Hotkeys & Navigation
The application supports quick keyboard operations for power users:
- F2 / Ctrl+O - Open Archive
- F3 / Ctrl+E - Extract Selected
- Ctrl+A - Add Files
- Ctrl+Shift+A - Select All
- F4 / Ctrl+D - Delete Selected
- F5 / Ctrl+R - Reload Archive
- F6 / Ctrl+Shift+R - Rebuild Archive
- F7 / Ctrl+L - Toggle Theme
Theming
Universal IMG includes Light, Dark, and Auto (System) themes. Click the lightbulb icon in the top right corner to cycle through modes.
Sorting & File Management
Click on column headers to sort files by Name, Size, or Offset. Click on a file name directly to rename it within the archive. Use the pagination bar at the bottom to navigate through large archives and filter files by search query.
Troubleshooting
-
If you encounter permission issues while editing archives (especially those located in
Program Files), ensure you run the application with Administrator privileges or move your.imgand executable files to the same non-system drive. -
If suddenly you encounter an OpenGL error:
[INFO ] [GL] OpenGL parsed version: 1, 1 [CRITICAL] [GL] Minimum required OpenGL version (2.0) NOT found!You can change the backend by setting the
KIVY_GL_BACKEND=angle_sdl2environment variable in your system.
License
MIT License. Copyright (c) 2022 Nikita Denissov.
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
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 universalimg-1.3.0.tar.gz.
File metadata
- Download URL: universalimg-1.3.0.tar.gz
- Upload date:
- Size: 72.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.13.14 Linux/7.1.3-zen2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2655d676c1dedac1538534700cb6c65ea0afada2b250a10393af7200784dccb9
|
|
| MD5 |
5cc323fdcd0696555906334c005b9c00
|
|
| BLAKE2b-256 |
ab50189408613e20f6a16a9aeacc163d1307d4f835c6d6881bba28a8de63fb12
|
File details
Details for the file universalimg-1.3.0-py3-none-any.whl.
File metadata
- Download URL: universalimg-1.3.0-py3-none-any.whl
- Upload date:
- Size: 72.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.13.14 Linux/7.1.3-zen2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fc0a047182f5e06d02e436b1e9f889030226814cf634605fb543e4059f7bd64
|
|
| MD5 |
eb507053bf8a94490fdfeb8719d54e59
|
|
| BLAKE2b-256 |
5654edd49ba4ed43ec337c92d8d8e39b70d0780a4f108b8efac0aaa4e6aa17aa
|