Indoor Map Builder Implementation Guide - OpenKotOR/PyKotor GitHub Wiki

Indoor Map Builder — Implementation Guide

The Indoor Map Builder emits a complete module from a visual room layout: LYT, VIS, ARE, GIT, IFO, walkmeshes, and a MOD/RIM capsule. The sections below cover what files it produces, how they relate to engine formats, and where to read the code. For end-user workflow, see the Indoor Map Builder User Guide.

Outputs and formats

A typical build produces module resources consistent with engine expectations:

  • LYT — Room list, transforms, and door hooks; room index matches walkmesh transition IDs (see BWM).
  • VIS — Parent/child visibility between rooms.
  • Walkmeshes (BWM) — Per-room WOK with materials, adjacency, and transition edges.
  • GFF ARE and related module resources — Area metadata used with the layout.
  • Textures — Often emitted as TGA (and related TXI) where the pipeline expects uncompressed sources; see PyKotor and toolset texture helpers under pykotor.tools.

Packaging into a playable override or module follows normal archive conventions:

See Resource Formats and Resolution.

Kit and template layout

Authoring kits (room templates, hooks, metadata) are described in Kit Structure Documentation.

Code and tooling

  • PyKotor readers/writers: Libraries/PyKotor/src/pykotor/resource/formats/ for LYT, BWM, VIS, GFF, ERF/RIM, and related types.
  • HolocronToolset GUI: module / indoor editors under Tools/HolocronToolset/src/toolset/gui/ (e.g. layout, walkmesh, and area editors). Prefer the shipped help bundle for UI specifics.

See also