Создание типа Pak как в Quake
Ну знаю есть заголовок, а остальные файлики?
On 2002-08-24 2310, mike wrote
Также как и в другие архивы. ZIP, RAR и т.п. Для работы с зипом сущесвует масса бесплатных компонент.
Это конечно понятно. Можно взять какие нибудь
исходники zip и посмотреть.
А как в теории, такое можно проделать.
В заголовке хранится относительный путь файла
в архиве, его размер и смещение от начала файла. Потом за заголовком идут сами данные файлов. При считывании(распаковке, просмотре)
Смотришь заголовок, и нужный файл как-бы вырезаешь из кучи данных и сохраняешь этот кусок в новый файл, имя которого есть в заголовке.
On 2002-08-26 0021, Ramzes wrote
Могу предложить такой вариант
В заголовке хранится относительный путь файла
в архиве, его размер и смещение от начала файла. Потом за заголовком идут сами данные файлов. При считывании(распаковке, просмотре)
Смотришь заголовок, и нужный файл как-бы вырезаешь из кучи данных и сохраняешь этот кусок в новый файл, имя которого есть в заголовке.
Ага именно так в Quake1/Quake2 и сделано. тока список файлов в конце/в середине пака (это следует из способа добавления файлов). А в заголовке смещение на таблицу размещения, в таблице записи имя, размер, и смещение относительно начала.
В Quake3 файл pk3 это обычный ZIP-архив.
файлы в сразу в память(правельно).
Да а каталоги как в pak запихнули?
или при распаковке создается вся структура каталогов и заспихиваются по ним файлы,
согласно их размещению?
On 2002-08-27 2315, quasar1983 wrote
Ну вроде понятно, КВАКА копирует из ПАКА
файлы в сразу в память(правельно).
Да а каталоги как в pak запихнули?
или при распаковке создается вся структура каталогов и заспихиваются по ним файлы,
согласно их размещению?
имена у файлов "/models/player/player.mdl"
ну а имея такие имена тривиально построить стуктуру каталогов всего пак'а
On 2002-08-28 1011, Arestov wrote
[quote]
On 2002-08-27 2315, quasar1983 wrote
Ну вроде понятно, КВАКА копирует из ПАКА
файлы в сразу в память(правельно).
Да а каталоги как в pak запихнули?
или при распаковке создается вся структура каталогов и заспихиваются по ним файлы,
согласно их размещению?
имена у файлов "/models/player/player.mdl"
ну а имея такие имена тривиально построить стуктуру каталогов всего пак'а
[/quote]
А какие способы добавления файлов есть?
(не только для pak)
А какие способы добавления файлов есть?
(не только для pak)
Все что можно придумать!
Это вопрос из темы "Как использовать CFrameWnd и для чего он?", ну как на такое ответить постингом???
Твори, выдумывай, пробуй!
On 2002-08-28 1615, Arestov wrote
[quote]
А какие способы добавления файлов есть?
(не только для pak)
Все что можно придумать!
Это вопрос из темы "Как использовать CFrameWnd и для чего он?", ну как на такое ответить постингом???
Твори, выдумывай, пробуй!
[/quote]
А как понять в архиве путь пишется как
ddd/fff/ddd почему не ddd\fff\ddd?
В Unix и др. принято путь записывать через /
=> Unix это круто.
=> Все хотят быть крутыми. )
2) Чтоб отличать путь внутри файла от пути на диске.
3) А еще например все кому не лень активно юзают gzip, он пришел с unix, так что опять см. п.1
Pirat
On 2002-08-29 0538, Anonymous wrote
1)
В Unix и др. принято путь записывать через /
=> Unix это круто.
=> Все хотят быть крутыми. )
2) Чтоб отличать путь внутри файла от пути на диске.
3) А еще например все кому не лень активно юзают gzip, он пришел с unix, так что опять см. п.1
Pirat
А где можно скачать исходники на Visual C++, для работы с zip или rar или др.