pmret / papermario

Decompilation of Paper Mario (2000)
https://papermar.io
1.35k stars 128 forks source link

Support custom mapfs.yaml in asset stack #1170

Open bates64 opened 9 months ago

bates64 commented 9 months ago

Removing an asset from mapfs.yaml breaks splitting due to the self.files.get(name) is not None assertion. Ideally asset stacks should declare mapfs.yaml that overrides this one, and the one in splat_ext is used only for splitting. It should probably be in ver, too

bates64 commented 9 months ago

So we would have an assets/us/mapfs/mapfs.yaml

bates64 commented 9 months ago

OK, implementing the above comment introduces the problem of not being able to remove things from the mapfs. But I think that's okay, if we later do more modular asset directories e.g.

assets/
  core
  us
  jp
  pal
  ique
  prologue
  chapter1
  chapter2

This is valuable for romhacks. However it will need its own separate issue because we will need some way for splat to split to multiple directories!