Skip to main content

Module composite_module

Module composite_module 

Source
Expand description

Composite module composition and deterministic per-module resolution. Composite module resource resolution.

KotOR module content is commonly split across up to three archive files:

<root>.rim       (base module resources)
<root>_a.rim     (area replacement base resources; replaces <root>.rim)
<root>_adx.rim   (extended area replacement base resources; fallback when _a is absent)
<root>_s.rim     (supplemental module resources)
<root>_dlg.erf   (K2 dialog resources)
<root>.mod       (single-file module ERF archive)

This module provides an idiomatic Rust abstraction for composing those sources and resolving (resref, type) lookups with deterministic precedence.

§Default Precedence

1. <root>_dlg.erf
2. <root>_s.rim
3. <root>_a.rim (if present) else <root>_adx.rim (if present) else <root>.rim
4. <root>.mod

This matches the project’s current canonical precedence candidate and keeps conflict behavior explicit and testable.

Structs§

CompositeModule
In-memory composite module made of optional RIM/ERF parts.
ResolvedResource
One resolved resource view returned by CompositeModule queries.

Enums§

CompositeModuleError
Errors returned by CompositeModule constructors and lookups.
CompositeModuleSource
Source archive kind inside a composite module.