Вверх ↑
Этот топик читают: Гость
Ответов: 23
Рейтинг: 0
#1: 2012-09-28 11:29:49 ЛС | профиль | цитата
Доброго времени суток!
Имеется IMG архив от игры GTA SA (содержит файлы с типом DFF, TXD) Строение архива следующие:

Заголовок:

4 байта - CHAR[4] - всегда имеет значение "VER2"
4 байта - DWORD - число файлов (n)

Содержимое: (повторяется n раз)

4 байта - DWORD - смещение файла от начала архива
4 байта - DWORD - размер файла в архиве
24 байта - CHAR[24] - имя файла

Имеется пример на Delphi: http://gtamaps.net/forum/index.php?s=ab1d4ea66e2eca764587dbd5d0ae180d&act=attach&type=post&id=293683

Суть вопроса заключается в следующем, возможно ли в HiAsm реализовать открытие IMG архива через в совокупности с компонентом (Вставка кода - InlineCode) c Delphi? Заранее благодарен.
карма: 0

0
Ответов: 4672
Рейтинг: 768
#2: 2012-09-28 11:34:11 ЛС | профиль | цитата
[offtop]GroZID, а что, для этого нужно было ещё одну тему создавать?[/offtop]
карма: 26

0
Ответов: 23
Рейтинг: 0
#3: 2012-09-28 11:39:02 ЛС | профиль | цитата
ОЙ, сори забыл совсем
------------ Дoбавленo в 11.38:
Netspirit, Вы не подскажите по моему вопросу?
карма: 0

0
Ответов: 5446
Рейтинг: 323
#4: 2012-09-28 11:46:35 ЛС | профиль | цитата
GroZID, есть подозрение, что и без IC (InlineCode) можно - вкладка Типы. Однако я с ней не работал, так что подробнее сказать не могу.
карма: 1

0
Ответов: 4672
Рейтинг: 768
#5: 2012-09-28 11:53:13 ЛС | профиль | цитата
GroZID писал(а):
Вы не подскажите по моему вопросу?

К сожалению нет, так как не имею ни архива, ни возможности заниматься этим на работе. Так там вроде ничего сложного - компонент FileStream -> установка позиции -> компонент DataToFile -> чтение. Запись, возможно, сложнее.
карма: 26

0
Ответов: 5446
Рейтинг: 323
#6: 2012-09-28 12:28:44 ЛС | профиль | цитата
Netspirit, запись точно будет сложнее - особенно если размер исходного и заменяемого файлов не совпадают.
карма: 1

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#7: 2012-09-28 12:34:58 ЛС | профиль | цитата
Тут на IC проще сделать, чем на схеме, да и быстрее работать будет
карма: 22

0
Ответов: 23
Рейтинг: 0
#8: 2012-09-28 12:59:19 ЛС | профиль | цитата
Попытался но что то не получается, кстати вот облеченный IMG архив в 564 кб (http://narod.ru/disk/61690395001.a4bafa5d66601a6f5f2ab9e64f3b03a5/gta3.img.html), Оригинал весит 2 гб

code_29195.txt

Что то не так делаю...
карма: 0

0
файлы: 1code_29195.txt [780B] [90]
Гость
Ответов: 17029
Рейтинг: 0
#9: 2012-09-28 13:07:43 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2025-01-17 15:32:27
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#10: 2012-09-28 13:09:20 ЛС | профиль | цитата
GroZID писал(а):
Что то не так делаю...

Вот потому я и спросил в прошлом топике -- не рановато ли взялись за такую задачу
Ведь совершенно не изучены компоненты и принципы их работы

карма: 22

0
Ответов: 23
Рейтинг: 0
#11: 2012-09-28 13:10:38 ЛС | профиль | цитата
151.10.201.161, не переживайте операция прошла успешно
осложнения не появятся
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#12: 2012-09-28 13:11:14 ЛС | профиль | цитата
151.10.201.161 писал(а):
не отказалась работать с файлом в 2 гб

С 2Гб файлом должна работать, с большим -- уже не будет.
карма: 22

0
Ответов: 23
Рейтинг: 0
#13: 2012-09-28 13:13:12 ЛС | профиль | цитата
nesco, частично Вы правы, но все же возможно реализовать или нет. Есть возможность перекинуть тему в раздел Куплю/Продам.... Кто нибудь возьмется
карма: 0

0
Ответов: 4672
Рейтинг: 768
#14: 2012-09-28 13:18:51 ЛС | профиль | цитата
GroZID, чтение списка файлов сейчас пробую, остальное - сам.
карма: 26

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#15: 2012-09-28 13:22:26 ЛС | профиль | цитата
GroZID писал(а):
но все же возможно реализовать или нет

Возможно. Чтение -- простое. Запись -- сложнее, тк применяется система динамического каталога, если я правильно понял структуру файла.

------------ Дoбавленo в 13.21:
Netspirit писал(а):
остальное - сам

Он не потянет запись вообще. Это не так просто, как кажется -- нужно иметь две части -- каталог и хранилище с отдельным списком смещений, которые при склейке должны добавиться к структуре файлов в каталоге с учетом длины самого каталога. И учитывать надо еще то, что суммарный файл не может быть больше 2Гб, иначе, обычные компоненты не покатят, только SharedStream, понять который обычному пользователю не под силу или крайне сложно, не говоря уже про начинающего
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)