Кучу файлов в один, или недоархиватор

Обсуждение проектов наших жителей.
Вы можете выставить проект на тест или найти помощников для его реализации.

Модератор: BV

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Кучу файлов в один, или недоархиватор

Сообщение keks-n » 24.12.2005 (Сб) 16:38

Не знаю как вы, но я часто сталкивался с такой проблемой: необходимо некоторые ресурсы программы положить в некое подобие архива, а потом с ним работать. Файл ресурсов проекта не подходил, т. к. таких "архивов" должна быть гора, какие-то используются, а какие-то нет и т. д.
Вот придумал я простенький формат для такого подобия архива (сжатие не реализовано, к сожалению :( ) и написал класс для работы с ним.
Вот поработал я с ним, поработал и понял, что вещь в хозяйстве нужная. И решил я показать это маленькое творение миру. :)
Во вложении готовый редактор таких файлов, но вам нужен clsDAT.cls, в качестве примера к нему вышеописаный редактор.
З. Ы. Жду конструктивной критики.
З. З. Ы. Надеюсь, что топик не пришибут


Отредактировал, дабы переобозвать тему.
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось keks-n 25.12.2005 (Вс) 18:26, всего редактировалось 1 раз.
Изображение

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 25.12.2005 (Вс) 1:40

Впринципе не плохо, но кое чего не хватает.Если бы была функция получения имени файла из полного пути,то необходимость переназначения имени файла отпала бы сама. :wink:
#define ROFL 0xDDDD

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 25.12.2005 (Вс) 2:17

имхо, без сжатия весчь ненужная, потому что есть с сжатием. ну а вообще молодец )
ХЎ

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 25.12.2005 (Вс) 2:55

Почему не нужная.Мне лично нравиться всё паковать.Ну конечно когда дело доходит до больших рамеров...
#define ROFL 0xDDDD

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 25.12.2005 (Вс) 13:30

Я зачем собственно писал: была у чела в начальном этапе разработки игруха, ну архитертуру решили сделать аля DooM(1,2), т .е есть некий главный файл, он распаковывается, поверх него идут add-in'ы, потом собственно уровень. На папку с распакованными файлами натравливается движок игры.

А по поводу сжатия, так оно в следующей версии появится обязательно (вот тока алгоритм пошустрее найду :D ) всместе с шифрованием.
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 25.12.2005 (Вс) 13:35

DirectXManiac писал(а):Если бы была функция получения имени файла из полного пути,то необходимость переназначения имени файла отпала бы сама. :wink:

Зачем сделано переназначение:
а) Дабы можно было создавать внутря папки.
б) Имя файла иногда нужно поменять.
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 25.12.2005 (Вс) 18:10

А вот и свежая версия! Теперь сжииимаааю :D
Алгоритм сжатия выдрал из Compress Methods, какой-то динамический Хаффман (ох и намучился же я с раздачей меременным и функчиям новых имён, дабы не мешались).
З. Ы. Вот напишу архиватор и успокоюсь :) И будет тогда архиватор на VB с открытым исходным кодом (один из немногих :) )
У вас нет доступа для просмотра вложений в этом сообщении.
Изображение

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 27.12.2005 (Вт) 1:45

keks-n писал(а):
DirectXManiac писал(а):Если бы была функция получения имени файла из полного пути,то необходимость переназначения имени файла отпала бы сама. :wink:

Зачем сделано переназначение:
а) Дабы можно было создавать внутря папки.
б) Имя файла иногда нужно поменять.


Да это да! Молодец.Я правда свой формат тоже придумал. Называеться PKG5. Тока у меня нету шифрования - только сжатие!
#define ROFL 0xDDDD

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.12.2005 (Вт) 8:33

keks-n, здесь выкладываются только завершенные и автономные фрагменты.
Выкладывай окончательный проект, все комментарии я перенесу в "Наши проекты".
Lasciate ogni speranza, voi ch'entrate.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 27.12.2005 (Вт) 11:23

alibek
Выкидывай в "Проекты", а через недельку другую будет окончательный вариант.
Изображение

AlexBlack
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 18.07.2005 (Пн) 19:14
Откуда: Киефф, Юкрейн...

Сообщение AlexBlack » 27.12.2005 (Вт) 15:29

keks-n писал(а):alibek
Выкидывай в "Проекты", а через недельку другую будет окончательный вариант.


А может сразу в "кирпичи"?
Красный, но студийный.

http://www.rs-creative.com
Alex_Black@rs-creative.com

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 27.12.2005 (Вт) 16:20

Так он там и был! Тока его доделать надо немножко, вот когда доделаю, тогда в кирпичах и будет.
Изображение

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 27.12.2005 (Вт) 17:54

Да, прикольно :) Я в своем игровом проекте решал ту же задачу - создание ресурсов с неограниченным вложением папок, шифрованием и контрольными суммами для защиты от кряков. Только вот архивирование не стал делать дабы не тормозить процесс запуска игры и подчитки инфы... Видимо мысли витают в воздухе и приходят разным людям независимо друг от друга :D
То, что для одних константа, для других только переменная...

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 28.12.2005 (Ср) 8:54

А я своей игрушке, просто заюзал rar или zip. Тут и скорость, сжатие, контрольная сумма, шифрование и т.д.
الفيجوال بيسك الرابح

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 28.12.2005 (Ср) 12:46

GM писал(а):А я своей игрушке, просто заюзал rar или zip. Тут и скорость, сжатие, контрольная сумма, шифрование и т.д.

К ним DLL'ка нужна. Я тоже хотел так сделать, сначала. А потом решил свой формат заделать :)
Изображение

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 28.12.2005 (Ср) 21:57

Unrar.dll можна засунуть в ресурсы 24 кб для игры не помеха
الفيجوال بيسك الرابح

Tarantul
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 13.12.2004 (Пн) 16:39
Откуда: IUnknown

Сообщение Tarantul » 29.12.2005 (Чт) 0:05

Как по мне, так лучше создавать свой мини-архиватор. Потому как если использовать rar или zip, надо решать много ненужных проблем. А свой ты можешь полностью подогнать под текущюю ситуацию.

Я, например, сейчас в игре делаю один большой (30M +) файл с данными игры. Они не сжаты, но зато воссоздана структура папок. Обращяться к файлам не сложнее, чем к тем, что на диске, но зато все компактно и элегантно :) Формат - PAK( самое первое, что придумал). Единственное замечание - что игра делается на C++ (и упаковщик тоже).

Tarantul
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 13.12.2004 (Пн) 16:39
Откуда: IUnknown

Сообщение Tarantul » 29.12.2005 (Чт) 0:15

А вообще прикольно было б сделать такой проект полностью..

То есть, придумать универсальный формат (с сжатием, с структурой папок,с шифровкой и т.д.), сделать для него IDE типа проводника, и библиотеку времени выполнения (native). Была б очень полезная штука.

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 29.12.2005 (Чт) 3:48

Как по мне, так лучше создавать свой мини-архиватор. Потому как если использовать rar или zip, надо решать много ненужных проблем.

Например?
То есть, придумать универсальный формат (с сжатием, с структурой папок,с шифровкой и т.д.), сделать для него IDE типа проводника, и библиотеку времени выполнения (native). Была б очень полезная штука.

C rar, есть и cжатие, и структура папок, и шифровка, и ide, библиотеку времени выполнения (native). Не понимаю чем не подходит :roll:
الفيجوال بيسك الرابح

Tarantul
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 13.12.2004 (Пн) 16:39
Откуда: IUnknown

Сообщение Tarantul » 29.12.2005 (Чт) 11:49

rar будет еще разархивировать во временный файл. А в своем упаковщике можно сделать так, чтоб возвращался дескриптор открытого PAK - файла (HANDLE), где будет храниться текущий байт. Можно еще сделать так, чтоб возвращалась длинна байтового потока. Правда придеться обойтись без зжатия :( А зачем оно вообще надо? Что большая сейчас разница, будет файл на диске занимать 30M или 10M? Другое дело установочный пакет - так там применить WinRar с максимальным сжатием.
Зато без зжатия скорость работы программы будет намного больше.


Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList