Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание типа Pak как в Quake

452
25 августа 2002 года
quasar1983
38 / / 20.04.2000
Как суют всякие файлы в 1 и читают из него.
Ну знаю есть заголовок, а остальные файлики?
4
25 августа 2002 года
mike
3.7K / / 01.10.2002
Также как и в другие архивы. ZIP, RAR и т.п. Для работы с зипом сущесвует масса бесплатных компонент.
452
25 августа 2002 года
quasar1983
38 / / 20.04.2000
Цитата:

On 2002-08-24 2310, mike wrote
Также как и в другие архивы. ZIP, RAR и т.п. Для работы с зипом сущесвует масса бесплатных компонент.


Это конечно понятно. Можно взять какие нибудь
исходники zip и посмотреть.
А как в теории, такое можно проделать.

409
26 августа 2002 года
Ramzes
163 / / 20.09.2000
Могу предложить такой вариант:
В заголовке хранится относительный путь файла
в архиве, его размер и смещение от начала файла. Потом за заголовком идут сами данные файлов. При считывании(распаковке, просмотре)
Смотришь заголовок, и нужный файл как-бы вырезаешь из кучи данных и сохраняешь этот кусок в новый файл, имя которого есть в заголовке.
380
26 августа 2002 года
Arestov
285 / / 20.09.2000
Цитата:

On 2002-08-26 0021, Ramzes wrote
Могу предложить такой вариант
В заголовке хранится относительный путь файла
в архиве, его размер и смещение от начала файла. Потом за заголовком идут сами данные файлов. При считывании(распаковке, просмотре)
Смотришь заголовок, и нужный файл как-бы вырезаешь из кучи данных и сохраняешь этот кусок в новый файл, имя которого есть в заголовке.



Ага именно так в Quake1/Quake2 и сделано. тока список файлов в конце/в середине пака (это следует из способа добавления файлов). А в заголовке смещение на таблицу размещения, в таблице записи имя, размер, и смещение относительно начала.
В Quake3 файл pk3 это обычный ZIP-архив.

452
28 августа 2002 года
quasar1983
38 / / 20.04.2000
Ну вроде понятно, КВАКА копирует из ПАКА
файлы в сразу в память(правельно).
Да а каталоги как в pak запихнули?
или при распаковке создается вся структура каталогов и заспихиваются по ним файлы,
согласно их размещению?
380
28 августа 2002 года
Arestov
285 / / 20.09.2000
Цитата:

On 2002-08-27 2315, quasar1983 wrote
Ну вроде понятно, КВАКА копирует из ПАКА
файлы в сразу в память(правельно).
Да а каталоги как в pak запихнули?
или при распаковке создается вся структура каталогов и заспихиваются по ним файлы,
согласно их размещению?



имена у файлов "/models/player/player.mdl"

ну а имея такие имена тривиально построить стуктуру каталогов всего пак'а

452
28 августа 2002 года
quasar1983
38 / / 20.04.2000
Цитата:

On 2002-08-28 1011, Arestov wrote
[quote]
On 2002-08-27 2315, quasar1983 wrote
Ну вроде понятно, КВАКА копирует из ПАКА
файлы в сразу в память(правельно).
Да а каталоги как в pak запихнули?
или при распаковке создается вся структура каталогов и заспихиваются по ним файлы,
согласно их размещению?



имена у файлов "/models/player/player.mdl"

ну а имея такие имена тривиально построить стуктуру каталогов всего пак'а

[/quote]
А какие способы добавления файлов есть?
(не только для pak)

380
28 августа 2002 года
Arestov
285 / / 20.09.2000
Цитата:

А какие способы добавления файлов есть?
(не только для pak)



Все что можно придумать!

Это вопрос из темы "Как использовать CFrameWnd и для чего он?", ну как на такое ответить постингом???

Твори, выдумывай, пробуй!

Аноним
Цитата:

On 2002-08-28 1615, Arestov wrote
[quote]
А какие способы добавления файлов есть?
(не только для pak)



Все что можно придумать!

Это вопрос из темы "Как использовать CFrameWnd и для чего он?", ну как на такое ответить постингом???

Твори, выдумывай, пробуй!
[/quote]

А как понять в архиве путь пишется как
ddd/fff/ddd почему не ddd\fff\ddd?

Аноним
1)
В 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 или др.

1.7K
31 августа 2002 года
Pirat
3 / / 20.09.2000
ИМХО очевидно там где и все остальное свободное ПО
http//www.sourceforge.net
452
01 сентября 2002 года
quasar1983
38 / / 20.04.2000
Пример маленький есть у кого?
Аноним
Господа, а не подскажете пару линков, где можно взять исходники создания таких PAK'ов?
Аноним
Господа, а не подскажете пару линков, где можно взять исходники создания таких PAK'ов?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог