Find data files relative to code files rather than working directory; there's no reason to require this to be run from the containing directory
Add logic to adjust part/room counts to make sure all min/max requirements are met