Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Кто и как пакует ресурсы ?   Найти похожие ветки 

 
Colt1978   (2004-10-13 19:25) [0]

Суть в следующем, пишу проект, и хотелось бы на начальном ещё этапе все ресурсы (музыку, 3D модели, текстуры) както запаковывать и во время работы проекта как то это всё извлекать. Использую при написании GLScene, в ней есть компонент запаковщик-распаковщик pak файлов. Подскажите примером как именно своему проекту говорить что ресурсы бери из этого pak-файла, внутри которого есть папка такаято? а в неё есть файл такойто... ???
Может уже кто сталкивался с этой проблеммой и решил её ? Или есть какой либо другой способ ?
А что хотел ещё спросить и сильно узнать: при создании внутри pak файла папки образуется файл temp.tmp в 12 метров, для чего, зачем, смысл или это так для примера. т.к. я их удалил пак всёравно стал открываться, изменяться без проблемм в чём подвох?


 
XProger ©   (2004-10-13 22:29) [1]

Пиши свой pak формат и не контролируй всю работу с ним...
И для какой цели запаковываешь ресурсы?


 
DeadMeat ©   (2004-10-13 23:25) [2]

Файл temp.tmp нужен для того, чтобы в паке был хотябы один файл в начале... Не знаю почему так и почему он 12 метров весит, но это факт, что всегда должен быть хотя бы один. Потом его можно грохнуть.

А проекту ничего говорить не надо. Надо везде, где загрузка указывать относительные пути. Например GLActor1.LoadFromFile ("models\actor\actor.smd"); Сам GLScene перенаправляет все вызовы загрузки прямо в модуль пака... Главное, чтобы в самом паке все пути правильные были.
Пример чуть попозжа накатаю... Щас устал очень

---
...Death Is Only The Begining...


 
DeadMeat ©   (2004-10-14 00:58) [3]

http://delphimaster.net/view/9-1073144322/&web=1
http://www.deadmeat.fatal.ru/pak.rar

---
...Death Is Only The Begining...


 
Colt1978   (2004-10-14 09:01) [4]

DeadMeat пример при компиляции выдаёт ошибку в файле GLVfsPAK в procedure TGLVfsPAK.LoadFromFile(FileName: string; Mode: word); на стоке FPakFiles.Add(FileName); - как я понимаю ошибка говорит о том что объект ещё какбы не создан в памяти, вот такая вот хрень.
может у тебя немного другой файл GLVfsPAK ?


 
NailMan ©   (2004-10-14 09:38) [5]

Я лично в свой формат загоняю. Не жмется ничего, просто все линкуется. Так меньше на винте места занимает(с учетом хвостов кластеров).

---
WBR, NailMan aka 2:5020/3337.13


 
П7   (2004-10-14 12:56) [6]

Я почти дописал простенькую сжималку. Самую простенбку. Основанную на повторяющихся байтах. Хотя игровые ресурсы она врядли будет жать. Ибо они в основном и так жутко пожаты - ogg, tga и т.д. Разве что собственные форматы файлов, вроде карт, диалогов и т.д.


 
Colt1978   (2004-10-14 14:46) [7]

Мож кто возьмёт  и выложет ?


 
NailMan ©   (2004-10-14 17:19) [8]

моя версия на моем сайте валяется в сорсах(сайт в инфо смотри)

---
WBR, NailMan aka 2:5020/3337.13


 
П7   (2004-10-14 18:08) [9]

Ну, пакер без сжатия я написал очень давно. Он с исходниками давно валяется в сети. Вот ссылка на страничку: http://tzlab.amillo.net/content.php?dir=delphi&subdir=p7gfxtools (может иногда не грузиться, главное не оставлять попыток).
Там не реализована распаковка в поток. Но это легко сделать самому, если нужно.


 
Colt1978   (2004-10-14 22:18) [10]

DeadMeat, с проблеммой разобрался (я об ошибке)


 
DeadMeat ©   (2004-10-14 22:41) [11]

Проблема была в том, что у тебя старая сборка GLScene...
Не извращайся и скачай новую... Ща я ее залью к себе.

---
...Death Is Only The Begining...


 
Darth   (2004-10-14 23:12) [12]

У меня используется архиватор, который написал мой друг. Он писал ради интереса и от нечего делать мне в помощь. Жмет все не хуже зипа.


 
П7   (2004-10-14 23:30) [13]

А я давно уже всякого накачал по этой теме. Вот только руки мои кривые пока не доберуться туда. Вот со звуком разгребу - займусь архиватором. Чтоб шустро мог в поток разархивировать... (:
Доберусь - поделюсь! (:


 
Colt1978   (2004-10-15 06:01) [14]

DeadMeat, да вроде всё новое, всё что ты мне давал....


 
DeadMeat ©   (2004-10-15 12:28) [15]

У них много изменений появилось недавно... Вчера блин залить не смог, инет пропал... Попробую сегодня. Но только вечером...


 
WondeRu ©   (2004-10-15 12:59) [16]

а почему ZLib не пользуете?


 
cyborg ©   (2004-10-15 13:23) [17]

Я никак не пакую, в инсталляторе всё запаковывается, а во время игры только дополнительные тормоза будут при распаковке данных.


 
Colt1978   (2004-10-15 14:16) [18]

cyborg? нескажи... у меня к примеру 3DS модели в папке maps текстуры в другой папке, звук будет к примеру тоже в другой, и я могу создать несколько запакованных файлов но с разной степенью компрессии например зачем маяться и максимально сживать файлы текстур в jpeg формате, а вот к примеру 3ds модели хорошо и быстро жмутся и разжимаются также... тут поиграть можно с той или иной степенью компрессии....
А инсталлятором ты можешь потом замутить инсталяшку своего проекта с запакованными файликами и прочими ресурсами..
DeadMeat, ок буду ждать....


 
cyborg ©   (2004-10-15 14:21) [19]


>  [18] Colt1978   (15.10.04 14:16)

Все эти сжатия только увеличивают время на их разжатие, что меня раздражает в современных играх, загрузки сцен иногда до нескольких минут идут. Такие игры в компьютере не задерживаются, только нервы портить. А большой размер установленной игры для меня не важен, диски сейчас огромные и дешёвые. Главное чтобы игра была хорошая и немаловажно, чтобы пре переходе сцен грузилось всё быстро.


 
Sapersky   (2004-10-15 16:13) [20]

а почему ZLib не пользуете?

Или вот UCL. Минимальна по размеру кода и оптимизирована на распаковку - вроде действительно побыстрее, чем zlib, хотя сжимает медленнее.

Все эти сжатия только увеличивают время на их разжатие, что меня раздражает в современных играх, загрузки сцен иногда до нескольких минут идут

Это да. Особенно если умники-программисты полностью всё перегружают даже в quickload :(
Можно попробовать распараллелить распаковку и загрузку. Грузим асинхронно (ReadFileEx), и пока оно грузится (теоретически - через DMA, без участия процессора), распаковываем предыдущий загруженный блок.


 
Colt1978   (2004-10-15 18:41) [21]

cyborg Все эти сжатия только увеличивают время на их разжатие, что меня раздражает в современных играх, загрузки сцен иногда до нескольких минут идут. Такие игры в компьютере не задерживаются, только нервы портить. А большой размер установленной игры для меня не важен, диски сейчас огромные и дешёвые. Главное чтобы игра была хорошая и немаловажно, чтобы пре переходе сцен грузилось всё быстро.
Интересно а кто будет выкачивать с инета такой проект ???
Я тут на днях видел почти аналогию того что пишу я, но там прилагался обязательный патч в 12 метров, и сама гамесав архиве на 93 мега !!!
Ни у каждого выделенка и денег вагон на такую скачку.... Темболее что за гамеса я по скриншотам понял только 50 на 50...


 
Sapersky   (2004-10-15 18:55) [22]

Интересно а кто будет выкачивать с инета такой проект ???

Проекты все нормальные люди выкладывают в архиве. И вряд ли "на коленке" получится сжать лучше, чем непрерывный rar-архив или даже zip. Более того, ранее сжатые файлы часто архивируются хуже (т.е. финальный размер сжатого два раза файла больше).


 
cyborg ©   (2004-10-15 21:23) [23]


> [21] Colt1978   (15.10.04 18:41)

Нормальные инсталяторы пакуют данные.


 
DeadMeat ©   (2004-10-15 22:08) [24]


> [16] WondeRu ©   (15.10.04 12:59)

В GLScene он и используется...


> [20] Sapersky   (15.10.04 16:13)

Во во... Я тоже хотел UCL предложить вчера, да блин связь пропала. Я по нему переделывал както этот PAK в GLScene. Неплохо вышло...

---
...Death Is Only The Begining...


 
DeadMeat ©   (2004-10-15 22:38) [25]

http://www.deadmeat.programist.ru/Source.rar
http://www.deadmeat.programist.ru/Demos.rar

---
...Death Is Only The Begining...


 
DeadMeat ©   (2004-10-15 22:46) [26]

Пардон за [24] насчет ZLib... Обшибся. Он был там раньше... Сейчас LZRW...
http://www.deadmeat.programist.ru/tlzrw.zip
На всякий случай...

---
...Death Is Only The Begining...


 
FRick ©   (2004-11-03 22:18) [27]

TResManager


 
Colt1978   (2004-11-07 11:03) [28]

Что это ?


 
FRick ©   (2004-11-07 11:37) [29]

> Что это ?
Если хочеш я выложу это на сайте www.limgroup.narod.ru
это менеджер ресурсов для делфи очень удобный в применение
когда все ресурсы готовы ты их пакуеш в файл любого разрещения
ставиш пароль и из программы получаеш содержимое!
В комплект идет паковшик ресурсов и компонент для Delphi
автор этого компонента Константин Артемев!


 
Домовенок   (2004-11-07 11:44) [30]

> DeadMeat (15.10.04 22:38) [25]

Скажи пожалуйста, приведенные тобой ссылки в посте [5] на исходники и демки GLScene от какого числа? Спасибо.


 
FRick ©   (2004-11-07 12:28) [31]

Всё я выложил на
http://www.limgroup.narod.ru


 
DeadMeat ©   (2004-11-07 13:22) [32]

Точно не помню, поэтому сегодня залил еще раз... Пока только Source, потом и Demos залью... На всякий случай, это не те снэпшоты, которые выкладываются ими... Это с CVS обновления...

---
...Death Is Only The Begining...


 
Zer0 ©   (2004-11-09 13:24) [33]

раньше юзал zlib (помойму эта тема уже светилась в форуме)
теперь ppms - гораздо быстрее рара почти с той же степеню сжатия.

---
как вырубить эту подпись???


 
NikeOLD ©   (2004-11-09 14:08) [34]


> Colt1978   (15.10.04 18:41) [21]
> Интересно а кто будет выкачивать с инета такой проект ???
> Я тут на днях видел почти аналогию того что пишу я, но там
> прилагался обязательный патч в 12 метров, и сама гамесав
> архиве на 93 мега !!!
> Ни у каждого выделенка и денег вагон на такую скачку....
> Темболее что за гамеса я по скриншотам понял только 50 на
> 50...


Господа, если разговор идет о распаковщиках, значит игра будет не под себя  и не для России. А на Западе и в Европе анлим на ADSL всего за 24-30 долларов (евро) в месяц + телефон + кабельное ТВ. Это копейки и по их и по нашим меркам.
Так что я в некотором роде cyborg"a поддерживаю. А длительная загрузка особенно в простых играх и впрямь достает хуже тещи.


 
П7   (2004-11-09 16:44) [35]

Всё-таки пришёл к выводу, что нафиг ничего паковать не нужно вообще.
Пусть всё лежит в открытом виде и чем проще\быстрее будет идти загрузка тем лучше. Так или иначе качать будут инсталатор, который всё пожмёт гараздо лучше...

Поэтому нафиг файлы ресурсов, да здраствует свобода файлов! (:


 
Zer0 ©   (2004-11-09 21:08) [36]

Тут есть некоторые нюансы.
Например если простая игруха имеет 100000 файлов (спрайтики одтельно или каждый кадр анимации отдельно) то ставится и удалаться такая громадина будет крайне долго. Свой эмулятор FAT, который еще к тому-же оптимизирован для поиска (например хешированием) даст нехилый такой прирост. (аналог tar ball)

---
как вырубить эту подпись??? юзаю DMClient


 
NikeOLD ©   (2004-11-10 09:25) [37]

to [35], [36]
Паковать может и не обязательно, но свой формат сделать не плохо было бы по следующим причинам:
1. Описано в посте [36]
2. Описано еще где-то: сильная кластеризация из-за маленьких файлов
3. Открытую графику украсть или заменить на свою проще. А оно надо?

Поэтому если с паковку и не делать, то свой формат должен быть. Оно и приятнее, и защиту повесить можно, и все ресурсы в пару файлов запихнуть тоже.


 
П7   (2004-11-10 12:59) [38]


> Zer0 ©   (09.11.04 21:08) [36]

Ну, это вопрос не паковки ресурсов, а грамотной организации оных. Анимированный спрайт логичнее собрать в один файл, иначе грузиться он будет дольше, чем запакованый объединённый...


 
Colt1978   (2004-11-11 13:49) [39]

Я за запаковку ресурсов и их сокрытие.
Мои творенья в 3D Maxe я не хочу чтоб кто-то себе присвоил. Хотя честно по правде несколько сторонних разработак я использовал сам в своём проекте, но совесть не гложет, они фриварные были....


 
П7   (2004-11-11 14:39) [40]

Никто на твоих ТВОРЕНИЯХ денег себе не срубит, ибо это будет плагиат! Пойми, те кто будет продавать игру за деньги - наймут себе моделеров, чтобы затем никаких проблем с копирайтами не было. А те кто просто плодит бесплатные игрушки - да и фиг с ними... Жалко чтоли...



Страницы: 1 2 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.057 c
1-1107715358
Владимир Кладов
2005-02-06 21:42
2005.02.20
помогите "чайнику"


3-1105704607
Blackmind
2005-01-14 15:10
2005.02.20
Crystal Report 9 - необходимые DLL ?!


11-1091002852
M5
2004-07-28 12:20
2005.02.20
Как в МСК/КОЛ узнать, что нажата нужная клавиша и отреагировать?


14-1107266227
AlexG
2005-02-01 16:57
2005.02.20
Что мне добавить и нравится ли структура?


1-1107091565
GrayZeeCat
2005-01-30 16:26
2005.02.20
Как научить консоль говорить по русски в XP?