Skip to main content

Reverse engineering tools for 'Project IGI' game

Project description

IGI Tools

igipy is a Python CLI tool for converting game files from Project I.G.I: I'm Going In (IGI 1) into standard, widely supported formats. It is a direct successor and refactor of the tool published at https://github.com/NEWME0/Project-IGI/.

Features

  • Convert .res files to .zip or .json (depending on whether it's an archive or translation file)
  • Convert .qvm files to .qsc
  • Convert .wav files to standard Waveform .wav including ADPCM-encoded sound files.
  • Convert .tex, .spr, and .pic files to .tga

Installation

Requires Python 3.13.

To install:

python -m pip install --upgrade igipy

Quickstart

  1. Create a folder where you want to extract or convert game files.

  2. Open PowerShell (or terminal) and verify the installation:

    python -m igipy --version
    

    You should see output like Version: 0.2.1 or higher.

  3. To see available modules:

    python -m igipy --help
    
  4. Generate the configuration file:

    python -m igipy
    

    This will create igipy.json in the current directory. Open it and set the "source_dir" to your IGI 1 installation path, for example:

    {
      "igi1": {
        "source_dir": "C:/Games/ProjectIGI",
        "unpack_dir": "./unpack",
        "target_dir": "./target"
      }
    }
    
  5. Verify configuration:

    python -m igipy
    

    If everything is configured correctly, you should see no warnings below the help message.

User Guide

Extract IGI 1 .res Files

python -m igipy igi1 convert-all-res
  • Converts archive .res files to .zip (in unpack_dir)
  • Converts text .res files to .json (in target_dir)

Convert IGI 1 .wav Files

python -m igipy igi1 convert-all-wav

Converts all .wav files (from source_dir and .zip archives) to standard .wav in target_dir.

Convert IGI 1 .qvm Files

python -m igipy igi1 convert-all-qvm

Converts .qvm files in source_dir to .qsc format in target_dir.

Convert IGI 1 .tex, .spr, and .pic Files

python -m igipy igi1 convert-all-tex

Converts .tex, .spr, and .pic files (from source_dir and archives) to .tga in target_dir.

Supported Game File Formats

Below is a summary of the file formats in Project I.G.I, including their locations and conversion support:

Extension In Game Dir In .res Convertible
.olm - 25,337 ❌ No
.tex 26 7,199 ✅ Yes
.mef - 6,794 ❌ No
.qvm 997 - ✅ Yes
.wav 394 346 ✅ Yes
.dat (graph) 300 - ❌ No
.spr - 158 ✅ Yes
.res 92 - ✅ Yes
.dat (mtp) 17 - ❌ No
.mtp 17 - ❌ No
.bit 14 - ❌ No
.cmd 14 - ❌ No
.ctr 14 - ❌ No
.lmp 14 - ❌ No
.fnt 2 9 ❌ No
.hmp 6 - ❌ No
.rtf 6 - ⚠️ Regular file
.txt 6 - ⚠️ Regular file
.iff 6 - ❌ No
.pic - 5 ✅ Yes
.url 5 - ⚠️ Regular file
.avi 5 - ⚠️ Regular file
.AFP 3 - ⚠️ Regular file
.exe 2 - ⚠️ Regular file

Project details


Download files

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

Source Distribution

igipy-0.2.1.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

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

igipy-0.2.1-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: igipy-0.2.1.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for igipy-0.2.1.tar.gz
Algorithm Hash digest
SHA256 7084db40995ef3857a2a471dbce67cde190b17dfd82a7fa69639eb17f83f1089
MD5 94f5eae87e593d1a8d680741dae7097e
BLAKE2b-256 dda474847a88f2746fed877d862061f5e1bcea1e358188afdd2030892b5c62e6

See more details on using hashes here.

File details

Details for the file igipy-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: igipy-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for igipy-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e89ab579279d442c93082800932c572486fe5c9edb4acf1fa6d19a9843c090da
MD5 b9529d2d30c85f57a16a5f03d09fc9db
BLAKE2b-256 675a04cba80c3918978a0a563beacba81223721668b322d57561b3f7611ebf64

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page