Mod Morrowind active
Starwind Merged Plugin Project
Reproducible Definitive Starwind builds with recursive master decoupling, audited dialogue behavior, and a validated Star_Data/Starwind split.
- Stable
- not released
- Development
- 1.01-dev.6
- Runs on
- OpenMW any version
- Package
- Single directory
Overview
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.
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
Install
Single directory · 1.01-dev.6
OpenMW, by handextract, then add these lines to openmw.cfg
- Extract the archive to a folder of its own, for example
C:/Games/OpenMW-Mods/Starwind Merged Plugin Project. - Add the lines below to
openmw.cfg. Keep them after thedata=lines of anything this mod depends on. - Open the launcher and check the load order. Content files load in the order listed here.
data="C:/Games/OpenMW-Mods/Starwind Merged Plugin Project"
Replace the folder with wherever you extracted the archive.
DreamWeave clientsCHIMERA and other tools that read the manifest
Give the tool this page's address, or the manifest directly. It finds the release for its channel, checks compatibility and dependencies, downloads from any listed source and refuses bytes whose SHA-256 does not match.
- Project id
- 5c86240d-5bf6-4095-a479-59dcaa723853
- Manifest
- https://dreamweave-mp.github.io/S3ctors-S3cret-St4sh/dreamweave/projects/5c86240d-5bf6-4095-a479-59dcaa723853.json
What is in the archive
- starwind_merged_plugin_project.zip
- the mod's filesone data directory
- starwind_merged_plugin_project-Documentation/this page and its docs, readable offline
- starwind_merged_plugin_project-dwmod.tomlthe project's mod.toml
- dreamweave.release.jsonwhat this archive is, for tools
Compatibility
Anything not listed here is untested.
Runs on
- OpenMWany version
Releases
-
1.0 stable unverified
-
0.51 stable unverified
-
0.5 stable unverified
Discussion
GitHub Discussions · sign in with GitHub to join in