Government-Man он наверно имел в виду уменьшится скорость. А вообще сколько этих архивов не придумали, я всегда распаковываю, если есть возможность. В том же чистом небе это дает небольшой, но ощутимый прирост фпс (с 25 до 30 на максимальном рендере).
avegamer писал: Я хотел использовать в своей версии wad распаковку в память, а не на диск.
да то понятно что в память. Но смысл такого вада?
Повторюсь, я уже такое делал. Разумеется кроме движка сжатые текстуры не мог прочитать ни один редактор карт и ресурсов. Какой практический смысл?
Для меня например удобней чтобы все файлы хранились в одном архиве в сжатом виде и хотелось бы как-то это использовать для сетевой игры.
Вот кстати наброски для моей версии wad.
Перевожу с tmt pascal
// заголовок wad
Struct WadHeader
{
char[4] signature; //gwad // сигнатура wad
int file_number; // количество файлов в wad
// может стоит сменить ”int” на что-то другое
long int header_size_table;
}
// заголовок для чтения фаловых данных
struct FileHeader
{
char *file_name;
long int file_address
}
то не хидер сайз-табле, а оффсет до LUT - Lump Allocation Table.
Она пишется в конец вада, поскольку мы заранее не знаем сколько места зарезервировать в начале для нее, т.к. это зависит от кол-ва лумпов, которое нам неизвестно.
в чем смысл? если нужны архивы и удобные патчи пакуйте pak0.pak .. pak1.pak и т.д по нарастающей, система используется во всех кваках и очень удобно.
в крайняк пилите все в один большой как в старом халфе(pak0.pak) или в новом халфе (half-life.gcf) и делайте диф патчи.
и назаметку небольшой факт, ресурсы которые в pk3/pk4 (он же zip) я в свое время специально распаковывал дабы заметно ускорить загрузку ресурсов в игре.