Starwind Merged Plugin Project
Version: 1.0
- Current status
- Build it
- What is included
- What the builder does
- Deep reference
- Generated outputs
- Compatibility and warnings
- History
- Credits
Brought to you by the Starwind Team and all the players on The Starwind Initiative
The Starwind Merged Plugin Project builds one maintained, masterless Definitive Starwind edition for OpenMW.
The release is split into two plugins:
Star_Data.omwaddon— stable definitions, reusable resources, shared records, and the long-term foundation for Starwind mods.Starwind.omwaddon— world content, actors, quests, dialogue, legacy MWScript, and other content expected to keep changing during modernization.
Starwind.omwaddon depends only on Star_Data.omwaddon. Load both, with
Starwind.omwaddon after Star_Data.omwaddon.
- Download the mod from Here
- Extract the zip to a location of your choosing.
- Paste the location you extracted it to into the form below, hit
Generate Config, and paste the result into openmw.cfg.
Where would you like to install this mod?
# Starwind Merged Plugin Project Data Directories
data=C:/Games/OpenMW-Mods/Starwind Merged Plugin Project/.
# Starwind Merged Plugin Project Content Files
content=Star_Data.omwaddon
content=Starwind.omwaddon
This pair is the supported merged Starwind product. Do not load an older merged Starwind plugin alongside it.
OpenMW is the compatibility target. Morrowind.exe compatibility is not a goal of the masterless Definitive build.
Current status
The current pipeline builds the complete approved Definitive corpus, decouples
it from Bethesda masters, canonicalizes dialogue, and validates the final
Star_Data / Starwind partition.
| Invariant | Current result |
|---|---|
| Monolith records, excluding header | 30,548 |
| Header masters | 0 |
| Hard unresolved dependencies | 0 |
| Expected / actual DIALs | 591 / 591 |
| Missing / extra live INFOs | 0 / 0 |
| OpenMW engine-order mismatches | 0 |
| Physical-order mismatches | 0 |
| Serialized-link mismatches | 0 |
| Dialogue payload mismatches | 0 |
Star_Data -> Starwind dependencies | 0 |
| Split reconstruction | exact |
The generated split currently contains 13,330 non-header records in
Star_Data.omwaddon and 17,218 in Starwind.omwaddon.
Build it
./build_starwind.py --strict
Keep the temporary work tree and forensic logs when investigating a build:
./build_starwind.py --strict --keep-work
The build always follows one fixed source graph. There are no Solo, Standalone, or TSI modes in the Definitive builder.
What is included
The approved source corpus is:
- Morrowind, Tribunal, Bloodmoon, and Minimal as dependency/reference inputs;
- Starwind Remastered V1.15 and Remastered Patch;
- Bing's Race Pack;
- Starwind Enhanced;
- PlanExp;
- Alt Start;
- Starwind Community Patch Project;
- Naboo;
- PartyHats.
StarwindMPRecords and StarwindVvardenfell are explicitly excluded from the
Definitive product.
What the builder does
At a high level:
approved source corpus
-> compile + source hygiene
-> reviewed Definitive preprocessing
-> canonical merge
-> master decoupling + dependency closure
-> OpenMW dialogue canonicalization
-> final tombstone cleanup
-> closure/dialogue/MQ validation
-> Star_Data / Starwind split
-> exact reconstruction validation
The builder intentionally preserves the main Starwind quest, does not run
the old multiplayer-specific TSI surgery, and retains a small set of deliberate
Definitive design policies such as the 375 equipment enchantment-capacity
normalization.
Deep reference
The project history became too detailed for a useful landing page. The full implementation and archaeology are maintained as a navigable reference under Definitive Build API & Wiki.
Start with:
- Build pipeline — exact source graph, merge order, generated tree, and stage-by-stage behavior.
- Source corpus & preprocessing — every included/excluded source, reviewed cleanup policy, MQ preservation, and old TSI operations that are intentionally not run.
- Master decoupling & dependency closure —
Minimal,addVanillaRefs, staged vanilla surgery, recursive closure, tombstone handling, and dependency rules. - Dialogue canonicalization — the full OpenMW dialogue reconstruction story, TESCS dirt cleanup, liveness model, and why the final chain is physically canonical.
- Star_Data / Starwind split — record placement policy, dependency-direction rules, script/Lua exceptions, and exact split validation.
- Validation & reports — every validator, hard-failure contract, report path, and current invariants.
- Historical cleanup ledger — specific records/classes of records removed or changed, why they were changed, and where the decision came from.
- Design decisions — OpenMW-only target, Lua migration boundaries, no reachability-pruning of foundational GMST/MGEF/SKIL data, manual FACT/REGN/CLAS review, and player-customization policy.
- Tools & commands —
tes3conv,tes3cmd,merge_to_master, motherJungle, audit scripts, and useful forensic commands.
Generated outputs
.swbuild/definitive/
├── work/
├── out/
│ ├── Starwind-Definitive.omwaddon
│ ├── Star_Data.omwaddon
│ └── Starwind.omwaddon
├── reports/
└── build-manifest.json
Starwind-Definitive.omwaddon is the masterless canonical monolith used as the
split oracle. The supported release is the Star_Data.omwaddon +
Starwind.omwaddon pair.
Compatibility and warnings
- Do not combine the Definitive pair with an older merged Starwind plugin.
- OpenMW is the release oracle; Morrowind.exe-specific behavior is not preserved merely for compatibility.
- Same editor-ID text in different TES3 namespaces does not imply the same dependency (
RACE "Argonian"is notDIAL "argonian"). - Generated
.swbuildfiles are disposable. Canonical source edits belong inplugins/*.jsonand the upstream source repositories. - Legacy MWScript generally remains in
Starwind.omwaddonbecause much of it is expected to be replaced with OpenMW Lua.Star_Datais intended to remain the more stable dependency surface.
History
This project grew out of years of Starwind and TSI maintenance. Multiplayer operation exposed a large number of broken assumptions in the original data, and that history became useful source archaeology for the modern Definitive build. The current pipeline keeps reviewed fixes and intentional design choices while discarding the old deployment-mode architecture.
For the exhaustive history, including the old dialogue strategies that were tried and rejected, see the historical cleanup ledger and dialogue canonicalization reference.
Principal upstream references:
Credits
Credits
All code in this repository was generated by Dave Corley under the GPL3 License.
Please enjoy my content, hack away as you please, and respect the freedoms of your fellow creators in the meantime.
Most of the changes and fixes in here were drawn from bug reports and other errata discovered by the Starwind community. Thanks to all of you, as well <3.
- Special Thanks to:
Ignatious
SkoomaBreath
RymanTheGreat
VidiAquam