Skip to main content

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

Metadata

Release files for kit-generator 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kit-generator 1.0.0
File Size Uploaded Provenance
kit_generator-1.0.0.tar.gz 12.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for kit-generator 1.0.0
File Interpreter ABI Platform
kit_generator-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 25.8 kB

Release files / kit_generator-1.0.0.tar.gz

Download URL kit_generator-1.0.0.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
38772928522df208281914e4c8a4a856f16b53e699a49dc9f72583a7236cebf2
BLAKE2b-256 checksum
How to use checksums
9d43a3d7e87af47bf1176bcd7080aecf8e5a32c9017fbd3d5c0388d086f0778c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / kit_generator-1.0.0-py3-none-any.whl

Download URL kit_generator-1.0.0-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cbd48e9dc523db0f7b828d6dffd64d3da5c6884a5fa295d88ef96bdb02b2f579
BLAKE2b-256 checksum
How to use checksums
78c2fdf4b0e8159b71fe158c3b833fbbaa1f54ed8c232d2cd59769bd18807e82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for kit-generator 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page