For multi file based formats it would be better to use an io::Archive here to being able to directly create new write streams in the archive and not write any files. Currently a lot of cases like io::filesystem()->open(extFilename, io::FileMode::SysWrite) exists in the Format implementations.
to name a few
VXL/HVA
VXR/VXM/VXA/png
Minecraft regions for dat files
there are other formats that out sourced their screenshot or metadata or anything like that.
See e.g. VMaxFormat::loadGroupsPalette - locations like these could benefit, too
For multi file based formats it would be better to use an
io::Archive
here to being able to directly create new write streams in the archive and not write any files. Currently a lot of cases likeio::filesystem()->open(extFilename, io::FileMode::SysWrite)
exists in theFormat
implementations.to name a few
there are other formats that out sourced their screenshot or metadata or anything like that.
See e.g.
VMaxFormat::loadGroupsPalette
- locations like these could benefit, tooAlso see https://github.com/vengi-voxel/vengi/issues/434