rhelmot / CelesteRandomizer

Celeste mod to produce randomized maps from existing level data
MIT License
35 stars 14 forks source link

Metadata config files in the same path structure conflict #94

Closed bigkahuna443 closed 3 years ago

bigkahuna443 commented 3 years ago

Noticed this while adding campaign support. If you have a rando.yaml file in the same path structure as another mod, the two files will conflict and only one will be loaded into the randomizer. I got around this for testing by placing them in different folders.

Log example: (09/17/2020 10:54:31) [Everest] [Verbose] [loader] Loading mod directory: C:\Users\JLL\Downloads\Celeste\Mods\dsides-randomizer (09/17/2020 10:54:31) [Everest] [Info] [core] Module _dir_dsides-randomizer 0.0.0 registered. (09/17/2020 10:54:31) [Everest] [Verbose] [loader] Loading mod directory: C:\Users\JLL\Downloads\Celeste\Mods\Monika's D-Sides (09/17/2020 10:54:31) [Everest] [Verbose] [loader] Loading mod directory: C:\Users\JLL\Downloads\Celeste\Mods\sc2020-randomizer (09/17/2020 10:54:31) [Everest] [Warn] [content] CONFLICT for asset path rando (_dir_dsides-randomizer vs _dir_sc2020-randomizer) (09/17/2020 10:54:31) [Everest] [Info] [core] Module _dir_sc2020-randomizer 0.0.0 registered. [...] (09/17/2020 10:54:53) [Everest] [Verbose] [randomizer] Found metadata Config/Celeste/rando in Randomizer (09/17/2020 10:54:53) [Everest] [Verbose] [randomizer] Found metadata rando in _dir_sc2020-randomizer (09/17/2020 10:54:53) [Everest] [Verbose] [randomizer] Processing level data...

rhelmot commented 3 years ago

Hm... strictly speaking we could work around this by having the metadata also be of the form *.rando.yaml and having the generic metadata and the map metadata be the same format that we autoload via scraping instead of explicitly picking them up via SID->path lookup

but that sounds like a lot. I think we should just consider this a limitation of Everest and give unique resource names to each metadata file.

bigkahuna443 commented 3 years ago

That makes sense, especially considering a mod/etc with a Config directory can have sections for multiple mods, meaning the metadata shouldn't be at the top level anyway. Closed.