Skip to main content

KitGenerator - Extract kit resources from KOTOR module files (RIM/ERF)

Project description

KitGenerator

Extract kit resources from KOTOR module files (RIM/ERF) for use with the Holocron Toolset.

Description

KitGenerator is a command-line tool that extracts kit resources (MDL, MDX, WOK, TGA, TXI, UTD files) from KOTOR module files and generates a kit structure that can be used by the Holocron Toolset.

Features

  • Supports both RIM and ERF file formats (.rim, .erf, .mod, .hak, .sav)
  • Extracts components (room models with walkmeshes)
  • Extracts textures and lightmaps with TXI metadata
  • Extracts doors with automatic dimension calculation
  • Generates minimap images from walkmeshes
  • Extracts doorhook positions from walkmesh transitions
  • Interactive CLI with helpful prompts
  • Comprehensive logging

Installation

KitGenerator is part of the PyKotor project. To use it:

  1. Clone the PyKotor repository
  2. Install dependencies (see main README)
  3. Run from the Tools/KitGenerator directory

Usage

Interactive Mode

Simply run the tool without arguments for interactive prompts:

python -m kitgenerator

Command-Line Arguments

You can also provide arguments directly:

python -m kitgenerator --installation "C:\Program Files (x86)\Steam\steamapps\common\swkotor" --module danm13 --output ./output --kit-id jedienclave

Arguments

  • --installation: Path to KOTOR installation directory
  • --module: Module name (e.g., danm13). Extension and path will be automatically stripped
  • --output: Output directory for the generated kit
  • --kit-id: Kit identifier (defaults to module name)
  • --log-level: Logging level (debug, info, warning, error, critical)

Examples

Extract from RIM files

python -m kitgenerator --module danm13

This will search for danm13.rim and danm13_s.rim in the installation's modules directory.

Extract from ERF file

python -m kitgenerator --module mymodule.mod

This will search for mymodule.mod in the installation's modules directory.

Extract with custom kit ID

python -m kitgenerator --module danm13 --kit-id jedienclave

Output Structure

The generated kit will have the following structure:

output/
├── {kit_id}/
│   ├── {component_id}.mdl
│   ├── {component_id}.mdx
│   ├── {component_id}.wok
│   ├── {component_id}.png
│   ├── textures/
│   │   ├── {texture_name}.tga
│   │   └── {texture_name}.txi
│   ├── lightmaps/
│   │   ├── {lightmap_name}.tga
│   │   └── {lightmap_name}.txi
│   ├── doors/
│   │   ├── {door_name}_k1.utd
│   │   └── {door_name}_k2.utd
│   └── skyboxes/
│       ├── {skybox_name}.mdl
│       └── {skybox_name}.mdx
└── {kit_id}.json

References

License

LGPL-3.0-or-later

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

kit_generator-1.0.0.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

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

kit_generator-1.0.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file kit_generator-1.0.0.tar.gz.

File metadata

  • Download URL: kit_generator-1.0.0.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kit_generator-1.0.0.tar.gz
Algorithm Hash digest
SHA256 38772928522df208281914e4c8a4a856f16b53e699a49dc9f72583a7236cebf2
MD5 64e49789fed80c6d6f9b6919b214eeb0
BLAKE2b-256 9d43a3d7e87af47bf1176bcd7080aecf8e5a32c9017fbd3d5c0388d086f0778c

See more details on using hashes here.

File details

Details for the file kit_generator-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: kit_generator-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kit_generator-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbd48e9dc523db0f7b828d6dffd64d3da5c6884a5fa295d88ef96bdb02b2f579
MD5 36384913dfa1a09ff089b7f6b25c6dc9
BLAKE2b-256 78c2fdf4b0e8159b71fe158c3b833fbbaa1f54ed8c232d2cd59769bd18807e82

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