HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Поддержка unzip (zlib) (https://hlfx.ru/forum/showthread.php?threadid=3261)
Отправлено avegamer 13-02-2012 в 15:21:
Поддержка unzip (zlib)
Помогите добавить поддержку unzip (zlib) в half-life. Прочитал статью http://www.gamedev.ru/articles/?id=70122, но не могу понять где взять unzip.lib
Отправлено Дядя Миша 13-02-2012 в 15:35:
Цитата:
avegamer писал:
Помогите добавить поддержку unzip (zlib) в half-life
в Half-Life уже есть поддержка zip. Реализована при помощи bzip.
Используется для сжатия файлов, которые клиент скачивает с сервера (недостающие файлы).__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 13-02-2012 в 16:00:
avegamer
Раздел для темы наугад выбрал, или ты таки бот?
__________________
Отправлено avegamer 13-02-2012 в 16:12:
Случайно тему не в том разделе создал.
Мне нужно, чтобы все ресурсы, например спрайты или wav-файлы хранились в архивах .zip или .gz и чтобы можно было их использовать в функциях, напимер, PrecacheModel, PrecacheOther и тому подобные.
Отправлено Дядя Миша 13-02-2012 в 17:35:
Цитата:
avegamer писал:
Мне нужно, чтобы все ресурсы, например спрайты или wav-файлы хранились в архивах .zip или .gz и чтобы можно было их использовать в функциях, напимер, PrecacheModel, PrecacheOther и тому подобные.
зачем?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено PunkPaToB 15-02-2012 в 01:17:
Дядя Миша
Чтоб вес был не 5 мегобОйт, а 4.8 
__________________
А что нет?
Отправлено Government-Man 15-02-2012 в 03:22:
PunkPaToB ага... и время загрузки увеличивалось в несколько раз. 
Отправлено HAWK0044 15-02-2012 в 06:39:
Government-Man
c таким подходом оно только уменьшиться =)
Отправлено marikcool 15-02-2012 в 09:15:
avegamer юзай *.pak и будет счастье, или *.gcf но тут на лицензии не сделаешь вроже.
Отправлено fire64 15-02-2012 в 09:16:
Ну не знаю, чего там сложного.
Ладно, держите код, который я использовал при разработке VampireSDK
C++ Source Code:
1 | int UnCommpressBuff( unsigned char *destbuff, unsigned long *destbufflen, unsigned char *sourcebuff, unsigned int sourcebufflen ) |
3 | int res = uncompress( destbuff, destbufflen, sourcebuff, sourcebufflen ); |
C++ Source Code:
2 | memset(pTtzFileName, 0, sizeof(pTtzFileName) ); |
3 | sprintf(pTtzFileName, "%s.ttz", pBaseFileName ); |
5 | FileHandle_t fileTtzHandle = g_pFileSystem->Open( pTtzFileName, "rb" ); |
9 | Warning( "\"%s\": cached version doesn't exist\n", pTtzFileName ); |
17 | pTtzFileSize = g_pFileSystem->Size(fileTtzHandle); |
19 | ttzbuf = (char *)malloc(pTtzFileSize); |
20 | memset(ttzbuf, 0, pTtzFileSize); |
22 | g_pFileSystem->Read( ttzbuf, pTtzFileSize, fileTtzHandle ); |
23 | g_pFileSystem->Close( fileTtzHandle ); |
25 | uncompbuf = (char *)malloc(pTth->infLength() - pVtfHdrSize); |
26 | memset(uncompbuf, 0, pTth->infLength() - pVtfHdrSize); |
28 | unsigned long ressize = pTth->infLength() - pVtfHdrSize; |
30 | int res = UnCommpressBuff( (unsigned char *)uncompbuf, &ressize, (unsigned char *)ttzbuf, pTtzFileSize ); |
34 | // Warning( "Error extracted: %d, in file: %s\n", res, pTtzFileName); |
45 | // Warning( "Good extracted: %d, in file: %s\n", res, pTtzFileName); |
48 | pEndVtfSize = pTth->infLength(); |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено avegamer 15-02-2012 в 13:56:
А я вот подумал, может быть создать свою версию WAD (есть наработка на tmt pascal) и хранить в нем файлы сжатые например zlib
Отправлено Дядя Миша 15-02-2012 в 14:25:
Цитата:
avegamer писал:
А я вот подумал, может быть создать свою версию WAD
зачем же создавать? Оригинальный формат вада отлично подойдет.
Там в структурке есть и переменная для типа компрессии и переменная под сжатый размер. Больше скажу - я уже делал вады, в которых лумпы были сжаты зипом. И прекрасно получалось.
Правда редакторы эти текстуры зачитать не могли, конечно же.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено avegamer 15-02-2012 в 14:58:
WAD для хранения не только текстур, но и любых других файлов как в doom или zdaemon
Отправлено Дядя Миша 15-02-2012 в 15:01:
WAD для хранения только текстур. Любые другие файлы удобнее хранить в паке. У вада даже расширения файлов не предусмотрены.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено avegamer 15-02-2012 в 15:27:
Я не имел в виду wad из doom, а свою версию, где могут храниться файлы с любыми расширениями, и можно его назвать, например, .gwad, .apk, .gpk и т.п.