Skip to content

Feature request: honor a user-supplied openmw.cfg in the bring-your-own-data flow (?src=local) #1

Description

@dumpster-TechOps

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.esmTribunal.esmBloodmoon.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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions