Looking in the code, I see an enum for FloorType with the following valid values:
Factory,
FactoryDark,
FactoryRed,
FactoryPoisonGas,
MutedMachinery,
GlassRed,
GlassPurple,
There's also a FloorEdgeType:
Wires,
Pipes,
SmallRibbed,
I could add some values to those like "Custom1", 'Custom2", etc, and thus it would recognize files by those names (I'd have it ignore those values if the corresponding files were not present) and use them. I imagine that would handle the main use cases you have in mind. I could also make it no longer enum-based and just read in what's there, but that would be considerably more work.