Skip to content

Automatic outfit merging #8

@focustense

Description

@focustense

There are a wide variety of mods that edit NPC outfits: that is, the DOFT - Default Outfit or SOFT - Sleep Outfit references.

and no doubt many more.

EasyNPC does "support" outfits in the sense that they are currently part of the Default/Behavior category. Installing CRF, Opulent Outfits, and the OO-CRF patch, and referencing OO-CRF as the Default, will get the outfit, along with any face edits from other overhauls, without messing up CRF. However, our goal is to eliminate thousands of compatibility patches, and we could do a lot better here.

In a similar vein to hair mods (#6), there is likely a happy-path that most modders intend on, and that less-experienced modders probably intuit should just work:

  • If an overhaul changes an NPC's outfit, then the overhaul wins.
  • If an overhaul does not change an NPC's outfit, but some outfit mod does, then the outfit mod wins.
  • In some cases explicitly specified by the player, outfit mods should take precedence over the overhaul mod.

The solution is therefore to detect, catalog, and allow users to override and prioritize "outfit changers", and incorporate these into the merge using logic similar to the above. This will eliminate the need for outfit compatibility patches, just like it already eliminates the need for overhaul compatibility patches.

Some open questions:

  • How do we reliably identify an "outfit changer mod"?
    • One way is to try to go by record types, i.e. look for just ARMR, ARMA, and NPC_, maybe also TXST and so on. But outfits can imply a lot more records - magic effects, crafting/tempering recipes, even worldspace locations containing cheat chests for those outfits.
    • A simpler, dumber but probably more stable way is to mark any mod that changes an NPCs outfit as an outfit-changer mod. This could put out a bloated list, but maybe that's OK.
  • Should the outfits be cloned into the merge, or the outfit mods be used as masters?
    • The wide variety of record types that could be used by outfit mods tend to point to the master option. Better to just add a dependency up front than to risk a half-baked implementation that copies some top-level records and still needs the master for something deep in the bowels of the mod.
    • However, this does nerf the "standalone" claim a bit.
  • If body carryover (Custom body carry-over #7) is also in use, should outfit mods be assumed to be meant for the default body and therefore incompatible and ignored? Is it even possible to define a rule that will always give the correct result here?
  • Should this be visually-integrated in any way, i.e. do we need outfit previews along with NPCs or in some other section?

Metadata

Metadata

Assignees

No one assigned

    Labels

    easynpcIssues/requests relating the EasyNPC appenhancementNew feature or request

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions