HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 29 сообщений этой темы на одной странице

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:

Question Поддержка 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
Раздел для темы наугад выбрал, или ты таки бот?

__________________

xaerox on Vivino


Отправлено 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 )
2
{
3
  int res = uncompress( destbuff, destbufflen, sourcebuff, sourcebufflen );
4
 
5
  return res;
6
}


C++ Source Code:
1
char pTtzFileName[256];
2
memset(pTtzFileName, 0, sizeof(pTtzFileName) );
3
sprintf(pTtzFileName, "%s.ttz", pBaseFileName );
4
 
5
FileHandle_t fileTtzHandle = g_pFileSystem->Open( pTtzFileName, "rb" );
6
 
7
if( !fileTtzHandle )
8
{
9
  Warning( "\"%s\": cached version doesn't exist\n", pTtzFileName );
10
 
11
  delete tthbuf;
12
  delete vtfhdr;
13
 
14
  return NULL;
15
}
16
 
17
pTtzFileSize = g_pFileSystem->Size(fileTtzHandle);
18
 
19
ttzbuf = (char *)malloc(pTtzFileSize);
20
memset(ttzbuf, 0, pTtzFileSize);
21
 
22
g_pFileSystem->Read( ttzbuf, pTtzFileSize, fileTtzHandle );
23
g_pFileSystem->Close( fileTtzHandle );
24
 
25
uncompbuf = (char *)malloc(pTth->infLength() - pVtfHdrSize);
26
memset(uncompbuf, 0, pTth->infLength() - pVtfHdrSize);
27
 
28
unsigned long ressize = pTth->infLength() - pVtfHdrSize;
29
 
30
int res = UnCommpressBuff( (unsigned char *)uncompbuf, &ressize, (unsigned char *)ttzbuf, pTtzFileSize );
31
 
32
if(res)
33
{
34
  //		Warning( "Error extracted: %d, in file: %s\n", res, pTtzFileName);
35
 
36
  delete tthbuf;
37
  delete vtfhdr;
38
  delete ttzbuf;
39
  delete uncompbuf;
40
 
41
  return NULL;
42
}
43
else
44
{
45
  //		Warning( "Good extracted: %d, in file: %s\n", res, pTtzFileName);
46
}
47
 
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 и т.п.


Временная зона GMT. Текущее время 13:42. Страницы (2): [1] 2 »
Показать все 29 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024