![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где хранить ресурсы? [Delphi, Windows]
DDS © (2004-01-03 18:38:00)У меня в игрухе много фалов ресурсов (картинок, звуков и прочего) как бы мне это все запаковать в архив что ли а при запуске игры достать и чтоб все работало. Ведь так делают во многих играх.
WandR (2004-11-25 10:54:00) [1]TButton ©
очень дельный совет, только не по теме
TButton (2004-11-25 10:50:00) [2]ресурсы нужно хранить в складе .
WandR (2004-11-25 10:26:00) [3]хм, создан в плане GLVfsPAK1.Create(); ??
если да то там пораметром служит компонент, но вот какой?
Colt1978 (2004-11-24 06:34:00) [4]
> WandR (23.11.04 10:49) [51]
> Решил попробовать упаковать все текстуры в паки, скачал
> PakExplorer
> Сделал простой пак, 1 папка в ней 2 файла
> Кидаю на форму GLVfsPAK1
> Пишу GLVfsPAK1.LoadFromFile('data.pak',fmOpenRead);
> Типа загрузил пак, но дальше в процесе работы сплошные баги=(
> Например если хочу извлеч файл
> GLVfsPAK1.Extract('dir\pic1.jpg','f:\pic1.jpg');
> GLVfsPAK1.Extract('dir\pic2.jpg','f:\pic2.jpg');
> Первый файл pic1.jpg вообще не извлекается, говорит такого
> нету, второй извлекает но содержимое это чето непонятное
> из первого файла
> Смотрю количество файлов
> GLVfsPAK1.FileCount
> Если в паке 2 файла скажет 1, если в паке 3 файла всеравно
> 1
> Если будет 4 то 2, Кароче 2 файла для него это 1
> Вот и незнаю че делать, компонент удобный вроде в теории
> но вот работать не хочет а с другими возится не прет тут
> же как я понял открыл пак и указывай на загрузку относительные
> пути к файлам(относительно пака)
> У когонить, чтонить подобное было??? Юзаю GLScene_SnapShot_100604
Незнаю всё у меня работает. А вообще трабл наблюдается только при распаковке пака с использованием *.jpeg. Когда суёшь *.bmp никаких косяков. У меня пак выглядел так:
\
\data
\textures
\textures\World
\textures\map
\Models\
\Models\world
\Models\map
\sound
\fonts
Я делал так:
glvfspak1.LoadFromFile('data.pak',fmOpenRead);
Причём заметь у тебя может быть ошибка если glvfspak1 ещё не создан в памяти.
WandR (2004-11-23 10:49:00) [5]Решил попробовать упаковать все текстуры в паки, скачал PakExplorer
Сделал простой пак, 1 папка в ней 2 файла
Кидаю на форму GLVfsPAK1
Пишу GLVfsPAK1.LoadFromFile('data.pak',fmOpenRead);
Типа загрузил пак, но дальше в процесе работы сплошные баги=(
Например если хочу извлеч файл
GLVfsPAK1.Extract('dir\pic1.jpg','f:\pic1.jpg');
GLVfsPAK1.Extract('dir\pic2.jpg','f:\pic2.jpg');
Первый файл pic1.jpg вообще не извлекается, говорит такого нету, второй извлекает но содержимое это чето непонятное из первого файла
Смотрю количество файлов
GLVfsPAK1.FileCount
Если в паке 2 файла скажет 1, если в паке 3 файла всеравно 1
Если будет 4 то 2, Кароче 2 файла для него это 1
Вот и незнаю че делать, компонент удобный вроде в теории но вот работать не хочет а с другими возится не прет тут же как я понял открыл пак и указывай на загрузку относительные пути к файлам(относительно пака)
У когонить, чтонить подобное было??? Юзаю GLScene_SnapShot_100604
Zer0_no_pass (2004-08-08 21:50:00) [6]<offtop>
2Ландграф Павел: *достает значОк ночного дозора* >8-E
Abbrevia - зачем платить больше, если уже и так бесплатно?
</offtop>
до кучи, вдруг никто не знает... http://www.zeitungsjunge.de/delphi/ucl/index.htm
DIUcl is the Borland Delphi port of the popular UCL Compression Library.
DIUcl achieves an excellent compression ratio (up tp Zip and BZip!) with the following features:
* Decompression is extremely fast, and requires no memory
* The assembler optimized decompressor fits into less than 200 bytes of code
* Supports in-place compression and decompression
* Real-time decompression should be possible for any application
Ландграф Павел (2004-08-08 20:26:00) [7]>PS: ZipTv не бесплатный компонент
Разве в России есть что-то не бесплатное=)) (подмигивает)
kas-t (2004-08-08 17:20:00) [8][47] Micah'GF
Спасибо, разъяснил... :)
Micah'GF (2004-08-07 12:45:00) [9][46] kas-t
нет, скорость почти не изменится (ну просто ты этого не заметишь). Архив в заголовке хранит смещение данных в файле и архиватор просто позиционирует указатель и считывает нужные данные, а не перебирает все записи в архиве, как ты подумал.
kas-t (2004-08-06 18:18:00) [10]Вот возник вопрос почти в тему. Зависит ли размер архива на скорость работы с ним. Допустим, у меня есть архив, а в нем 150 файлов. Нужно выдернуть от туда один файл, знаю его имя. Будет ли выдергивание одного файла из архива в 150 файлов медленнее, чем, если бы я выдергивал из архива с 50 файлами один файл?
В общем, как рациональнее, хранить ресурсы в нескольких архивах, или лучше в одном? Как будет быстрее осуществляться работа с архивом?
Извиняюсь если оффтоп.
PS: ZipTv не бесплатный компонент, и наверное самый дорогой из всех подобных ему. Хотя может он того и стоит.
Xerx (2004-08-05 04:59:00) [11]Если речь о компоненте, то моно использовать ZipTV Compression Components for Delphi 4, 5, 6 & C++ Builder 4, 5 and 6. Поддерживает МНОГО форматов, даже весьма экзотические. По-мойму такие: BH, ACE, ARC, ARJ, CAB, GZIP, LHA, RAR, TAR, ZIP, ZOO. Рекомендую BlakHole и ZOO. Первый я смог открыть только своей же программой. А ещё есть перекодировщик из формата в формат, мейкер SFX и т.д. Если б я делал не без VCL, то использовал бы только это! www.ziptv.com
DeadMeat (2004-07-26 20:17:00) [12]> Zer0
> http://www.xarka.com/prog/delphi.html
Надо будет глянуть...
А я сам использую UCL в PAK-ах у GLScene... Они там не сжимаются, пришлось доработать. Кстати разжимает в секунды (даже в миллисекунды)...
---
...Death Is Only The Begining...
Micah'GF (2004-07-26 15:49:00) [13]а ктонить юзает gz ?! он же насколько я знаю free и исходники к нему должны быть
зы. Не бить если сказал глупость..!
Zer0 (2004-07-26 15:14:00) [14]пара неплохих компонентов сжатия данных, которые я использую в своих проэктах:
http://tpabbrevia.sourceforge.net/- бывший коммерческий проэкт, теперь поставляется с полными исходными кодами. pure delphi, никаких dll`ек (больше устойчивость к взлому)
http://www.xarka.com/prog/delphi.html
[HKStreams is a component that enables you to easily save and load many streams into one file. The streams can be stored with LHA compression if wanted, and can also be encrypted with blowfish. THKStreams is also smart, if you load afterwards an encrypted or compressed (or both) file, it will know how to read it, and can also call your event that asks the user for a password if needed.Can also handle wrong passwords or corrupt files.]
оч. полезный компонет, постоянно использую.
p.s. есть желание скооперироваться и сделать полноценный менеджер ресурсов на основе zlib и быстрого шифровальшика.
xShadow (2004-07-26 09:06:00) [15]Для своих проэктов стал использовать компанент сжатие собственного производства с алгоритмом LZH и все проблемы улетучились!
Katleta (2004-07-25 21:03:00) [16]Вот вот !
Так что свою графику и тд надо прятать в архивы !
Есть этот компонент TResManager но у меня он чето глючит :(
Ландграф Павел (2004-07-25 17:35:00) [17]wiz> после того как у меня диким образом украли титульную картинку мне стало обидно... вот и сделал свой формат (вернее переправил существующий для служебной инфы. и анимации)... незнаю, я рисую на бумаге карандашиком, поэтому это МОЕ, и я хочу чтоб все так и осталось...=)
wiz (2004-07-25 16:15:00) [18]Ребята, я конечно извиняюсь, но imho у вас паранойя (у тех, кто криптует данные)... как было однажды (или даже не однажды) замечено - если вашу графику хотят вскрыть, значит ваша игра понравилась :))) Зачем заморачиваться с кодированием и прочее??? Нормальные дизайнеры _не_ будут пользоваться чужим креативом, т.к. для них это всё равно что поставить жирную роспись, что они нулёвки в творчестве.
А всякие кены пусть пользуются - жалко что-ли?
С другой стороны, если вдруг кто-то захотел что-то изменить (сделать красивее, по-другому, по-своему) и лезет в ресурсы - значит он в какой-то мере фанатеет от вашейигры...
А фанатов надо всеми силами ублажать :) т.к. именно они питают наше самолюбие :)))
Ландграф Павел (2004-07-24 23:09:00) [19]Ну скажу свое мнение что хранить ресурсы в dll это верх тупизма!!! минус один и самый главный: чтоб графику добавить/изменить нужно перекомпилить dll`ку... да и вообще это глупо... а хранить правельно народ говорит, в стандартных архивах (zip, rar и тд.) но граф. файлы либо своего формата, либо кодировать... иначе любой ламак вскроет... а так: вскрывайте кто хотите, но вот графику не сопрете... или изрядно попотеете))
kas-t (2004-07-24 18:04:00) [20]Довольно познавательно:
http://delphigfx.mastak.ru/2d/015/2d_15.htm