Skip to content

vic3: implement correct item overriding for different item types #236

@amtep

Description

@amtep

Reference: https://vic3.paradoxwikis.com/Mod_files_load_order

Probably these are the same for ck3 and imperator, with the caveat that ck3's history files are another exception to the load order. (Duplicate character entries cause duplicate characters, and duplicate title entries are appended together).

  • GUI type and template items override in reverse order (first one wins).
  • ? Don't know about GUI layer and textformat items.
  • GUI texticon items can have multiple definitions, this is already correct.
  • Vic3 only: events override in reverse order (first one wins). The game engine emits an error for any duplicates though.
  • defines can have individual defines overridden. This is already correct.
  • on_action logic is already correct.
  • localization overrides in reverse order, this part is already correct but see below.

Localization

In my experiments I've found that localization in different folders overrides erratically, where it's not clear which definition will win. Tiger goes through the folders alphabetically which is clearly not what the game engine is doing.

Currently, tiger warns if a mod defines the same localization multiple times with different content, but it does not give any warnings about localizations that will be overridden by previous mods or the base game. This should be fixes in cases where the override will be erratic or known to be in the wrong order.

Localization also has replace paths. In my experiments I didn't see a difference between localization/<language>/replace and just localization/replace so tiger accepts paths with replace anywhere in them.

Tiger doesn't warn about duplicates at all in replace paths, which is also incorrect because having a localization twice in one replace folder should be warned about, and also it's probably an error if a mod has a localization both in the normal paths and in a replace path.

dna data

Verified that character dna uses the last loaded one if there are duplicates, so this one can be handled just like the normal case as far as Tiger is concerned.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds researchSomeone needs to figure out how the game handles this issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions