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 Total Source Unpack Support
.olm 25337 0 25337 📆 Not now
.tex 7225 26 7199 ✅ Yes
.mef 6794 0 6794 📆 Not now
.qvm 997 997 0 ✅ Yes
.wav 740 394 346 ✅ Yes
.dat (graph) 300 300 0 📆 Not now
.spr 158 0 158 ✅ Yes
.res 92 92 0 ✅ Yes
.dat (mtp) 17 17 0 📆 Not now
.mtp 17 17 0 📆 Not now
.bit 14 14 0 📆 Not now
.cmd 14 14 0 📆 Not now
.ctr 14 14 0 📆 Not now
.lmp 14 14 0 📆 Not now
.fnt 11 2 9 📆 Not now
.hmp 6 6 0 📆 Not now
.rtf 6 6 0 ❌ Not
.txt 6 6 0 ❌ Not
.iff 6 6 0 📆 Not now
.url 5 5 0 ❌ Not
.avi 5 5 0 ❌ Not
.pic 5 0 5 ✅ Yes
.AFP 3 3 0 ❌ Not
.exe 2 2 0 ❌ Not

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.2.tar.gz (319.0 kB 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.2-py3-none-any.whl (310.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for igipy-0.2.2.tar.gz
Algorithm Hash digest
SHA256 88f7bc8b919bca46ce494e8d8415d37d1b32a5bc35017fe77fcc0454e69f24ee
MD5 2f340d8b32683a0e0da31b15a5e77b55
BLAKE2b-256 aa925aaa256116bb74f9e5a886924044547aa27d815e865d305174d625ab555a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for igipy-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 919a171c5a06f7d72f20a0a00ba76351cc290f1f2e45fd17834ac9c5fb08baec
MD5 bd01287dcdb6ce1fcc0690abc9fd8e32
BLAKE2b-256 bef0537ac291d77998364dad4dc15749375cfdd53e3a9326a82fbea4e35f152c

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