Почитал. Это формат архива, то есть там внутри в конечном счёте после распаковки и расшифровки будут файлы в различных форматах, которые MPQ рассматривает как чёрный ящик и то, как трактовать их решает приложение на основе его типа.
Я продумываю такой формат, который не содержит никаких чёрных ящиков и знает, какие данные он содержит вплоть до каждого пикселя изображения и вершины 3D модели и т.п.. Допустим, если файл хранит все данные игры, то можно будет подгрузить его, а потом написать
DataVoln::OpenFile("game.bdv").DeserializeExpr<Color>("Levels.MyLevelName.Textures.Metal.Pixels[42][42]");
И это выражение прочитает цвет пикселя текстуры с именем Metal, находящейся в уровне с именем MyLevelName в позиции x = 42, y = 42. И будет выполнен ровно тот объём вычислений, который нужен. То есть весь файл не будет расжиматься и декодироваться, если его структура позволяет прочитать данные пикселя без распаковки всего.
То есть никаких вложенных JPG/PNG/DDS, всё делается средствами одного формата.