Universal Steam Extractor

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Аватара пользователя
impulse666
Полковник
Полковник
Сообщения: 7405
Зарегистрирован: 08.12.2005
Откуда: Atman
Благодарил (а): 2340 раз
Поблагодарили: 590 раз

#211 Сообщение 22.02.2011, 19:22

$t@t!c_V()1D
Да, хочу удалять так что-бы это отражалось на размере всего ГСФ файла (прерасчет). Ну и другое что описал..

По поводу идеи с архив файлом, вполне можно практиковать..
Изображение
Негласные Правила
1. Пропаганда лицензии запрещена.
2. На форуме режим многоступенчатых стандартов Ψ. То что можно одним, нельзя другим. Решается правящей партией
3. Ники членов правящей партии (impulse666, NiGHt-LEshiY, SHADOW) искажают только в случае необходимости получить БАН.

...воздержитесь от этого, изучите вот это.
Лучшая статья о моих взглядах. Настоятельно рекомендую.

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#212 Сообщение 22.02.2011, 20:44

impulse666
Тогда так: можно удалять файлы и заполнять пространство нулями. Так будет удобнее, если пользователь захочет установить какую-нибудь другую игру, использующую как раз эти недостающие файлы и их модно будет просто импортировать, при этом заполненное нулями пространоство отлично сжимается, так что размер инсталляшки в любом случае в выигрыше.

Другое дело: создать "sized GCF": такая GCF, размер которой будет варьироваться в зависимости от тех файлов, которые там физически есть (без заполнения нулями) Как пример, *.update.gcf построены по такому образу. Но тогда при установке игры придётся перезаписывать GCF или добавлять данные, но с созданием новой копии, т.к., если я не ошибаюсь, писать в недостаточное пространство, увеличивая его, Rain.dll не позволяет.

Аватара пользователя
impulse666
Полковник
Полковник
Сообщения: 7405
Зарегистрирован: 08.12.2005
Откуда: Atman
Благодарил (а): 2340 раз
Поблагодарили: 590 раз

#213 Сообщение 23.02.2011, 01:25

Первое - очевидно, вот второе...может ли, или сможет ли этот функционал воплотить andreil.. Ожидаю ответа.
Изображение
Негласные Правила
1. Пропаганда лицензии запрещена.
2. На форуме режим многоступенчатых стандартов Ψ. То что можно одним, нельзя другим. Решается правящей партией
3. Ники членов правящей партии (impulse666, NiGHt-LEshiY, SHADOW) искажают только в случае необходимости получить БАН.

...воздержитесь от этого, изучите вот это.
Лучшая статья о моих взглядах. Настоятельно рекомендую.

Аватара пользователя
andreil
Разработчик
Разработчик
Сообщения: 781
Зарегистрирован: 14.08.2006
Откуда: Светлогорск, Беларусь
Поблагодарили: 2 раза
Контактная информация:

#214 Сообщение 06.03.2011, 00:52

impulse666 писал(а):Создание архивов с нуля позволит нам, например, делать пиратки в ГСФ файлах собственной упаковки, для исключения ненужных файлов, т.е. лишнего веса. Так?
Именно ;)
impulse666 писал(а):Хм, тогда вот еще вопрос, патчинг существующих ГСФ архивов будет выглядить примерно так:
У пользователя ГСФ пиратка, он берет набор файлов (типичный патч для распака) и с помощью USE замещает уже существующие файлы в имеющемся у него Кеше (при том что размеры не совпадают), все верно?
Это вообще задумывалось изначально prankster
$t@t!c_V()1D писал(а):impulse666
Тогда так: можно удалять файлы и заполнять пространство нулями. Так будет удобнее, если пользователь захочет установить какую-нибудь другую игру, использующую как раз эти недостающие файлы и их модно будет просто импортировать, при этом заполненное нулями пространоство отлично сжимается, так что размер инсталляшки в любом случае в выигрыше.

Другое дело: создать "sized GCF": такая GCF, размер которой будет варьироваться в зависимости от тех файлов, которые там физически есть (без заполнения нулями) Как пример, *.update.gcf построены по такому образу. Но тогда при установке игры придётся перезаписывать GCF или добавлять данные, но с созданием новой копии, т.к., если я не ошибаюсь, писать в недостаточное пространство, увеличивая его, Rain.dll не позволяет.
1 подход плох тем, что сам файл на диске занимает место.
2 хорош всем, но есть один недостаток - при увеличении количества секторов необходимо изменить ВСЕ заголовки, что влечет за собой лишние затраты (на примере - CFToolBox при малейших изменениях в файле перезаписывает заголовок кэша, но куда больше времени занимает изменение заголовков при изменении размера - заметно по частоте обращений к диску, а так же по объему записанных данных). У меня в библиотеке будет опция, отключающая такое поведение, то есть заголовки будут переписаны только после закрытия файла, но никак не после каждой операции записи ;) Конечно, это опасно в случае сбоя, но зато быстрее :)

PS: Все, закидываю аниму/мангу и сажусь за проекты :blush: :blush: :blush:

PPS: По GCF-файлам пока осталось сделать сам процесс патчинга, но этот этап был невозможен, пока я не восстановил весь свой кэш (винт полетел + потом на новом ФС по оплошности слетела (запомните - ХП не понимает разделы >400Гб, научен на горьком опыте, теперь перекачиваю 130Гб утерянных сериалов... :( ))). После этого перейду к остальным форматам.
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).

Ответить Вложения 3