vengi-voxel / vengi

free and open source voxel art tools - editor, thumbnailer and format converter
http://vengi-voxel.github.io/vengi/
Other
1.05k stars 87 forks source link

VOXELFORMAT: change the interface for the Format class to use Archives and not Streams #460

Closed mgerhardy closed 1 month ago

mgerhardy commented 1 month ago

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

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

Also see https://github.com/vengi-voxel/vengi/issues/434