What would you like?
Summary
When playing with your own game files (?src=local), let the loader respect an
openmw.cfg found in (or supplied alongside) the picked folder, instead of
synthesizing the load order itself.
Current behavior
The local-folder flow ignores any openmw.cfg in the picked directory and builds
the load order heuristically: official masters in canonical order
(Morrowind.esm → Tribunal.esm → Bloodmoon.esm), then any extra mod
.esm/.esp files alphabetically. That works for "I dropped a few mods in
Data Files", but anyone with a curated desktop setup (OpenMW launcher, Mod
Organizer, mlox-sorted list) loses their load order — and load order matters for
mods that patch each other.
Proposed behavior
v1 (load order only): if the picked folder contains an openmw.cfg (or the
user provides one), use its content=, fallback-archive=, and fallback=
lines to build the load order — matching entries against the files actually
present in the picked folder. Fall back to the current alphabetical heuristic
when no cfg is found. ?nomods=1 keeps working as an escape hatch.
Later (multiple data dirs): optionally resolve multiple data= entries by
letting the user pick a parent folder (e.g. a whole OpenMW/MO2 tree) and mapping
each data= path to a subfolder by suffix match.
Constraints / notes
- A desktop
openmw.cfg contains absolute native paths in data= lines
(C:\Games\..., /home/...). Browsers cannot open arbitrary paths — the File
System Access API only grants the directory tree the user explicitly picks —
so data= paths must be remapped into the granted folder rather than followed
literally. Paths outside the picked root can't be honored.
- The plumbing mostly exists: the loader already rewrites
/openmw.cfg at boot;
this changes where the content=/fallback-archive= lines come from.
- Separate from self-hosting a custom game: baked/packaged games already boot
from their own openmw.cfg (that's how the bundled demo works). This FR is
only about the player-side ?src=local flow.
Why it matters
Lets modded desktop setups carry over 1:1, and is a step toward treating the web
build as a real OpenMW target (game jams, total conversions) rather than a
vanilla-only player.
What would you like?
Summary
When playing with your own game files (
?src=local), let the loader respect anopenmw.cfgfound in (or supplied alongside) the picked folder, instead ofsynthesizing the load order itself.
Current behavior
The local-folder flow ignores any
openmw.cfgin the picked directory and buildsthe load order heuristically: official masters in canonical order
(
Morrowind.esm→Tribunal.esm→Bloodmoon.esm), then any extra mod.esm/.espfiles alphabetically. That works for "I dropped a few mods inData Files", but anyone with a curated desktop setup (OpenMW launcher, Mod
Organizer, mlox-sorted list) loses their load order — and load order matters for
mods that patch each other.
Proposed behavior
v1 (load order only): if the picked folder contains an
openmw.cfg(or theuser provides one), use its
content=,fallback-archive=, andfallback=lines to build the load order — matching entries against the files actually
present in the picked folder. Fall back to the current alphabetical heuristic
when no cfg is found.
?nomods=1keeps working as an escape hatch.Later (multiple data dirs): optionally resolve multiple
data=entries byletting the user pick a parent folder (e.g. a whole OpenMW/MO2 tree) and mapping
each
data=path to a subfolder by suffix match.Constraints / notes
openmw.cfgcontains absolute native paths indata=lines(
C:\Games\...,/home/...). Browsers cannot open arbitrary paths — the FileSystem Access API only grants the directory tree the user explicitly picks —
so
data=paths must be remapped into the granted folder rather than followedliterally. Paths outside the picked root can't be honored.
/openmw.cfgat boot;this changes where the
content=/fallback-archive=lines come from.from their own
openmw.cfg(that's how the bundled demo works). This FR isonly about the player-side
?src=localflow.Why it matters
Lets modded desktop setups carry over 1:1, and is a step toward treating the web
build as a real OpenMW target (game jams, total conversions) rather than a
vanilla-only player.