[Tool/Web/Other] Работа с IMG архивами на стороне клиента
#1

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

Класс писался для библиотеки XArchiveDragon( Не является рекламой. http://www.x-squares.com/File/i/35/X...ve-Dragon.aspx )
Первоначально собирался писать работу напрямую с данной библиотекой, но автор данной библиотеки сделал уйму ненужных вещей и усложнил всё в край, потому некоторые функции были переделаны под новый лад.

Функции для работы:
  1. Open( "Путь к img архиву" ) -- Открывает IMG архив для работы

    PHP Code:
    archive.Open(@"S:\games\Grand Theft Auto\models\gta3.img"); 
  2. getItems() -- Возвращает список элементов архива в виде List<IMG_Item>
    PHP Code:
    for (int a 0archive.getItems().Counta++)
                {
                    
    Console.WriteLine("Name: " archive.getItems()[a].Name "\tSize: " archive.getItems()[a].SizeInBytes);
                } 
    // get item name and size 
  3. Add( "Путь к загружаемому файлу", "Название, с коим он сохранится в архиве") -- Добавляет файл в IMG архив

    PHP Code:
    archive.Add(@"S:\gta-o\infernus.dff""infernus.dff");
                
    archive.Add(@"S:\gta-o\infernus.txd""infernus.txd"); 
  4. Delete("Название файла") -- Удаляет файл из IMG архива

    PHP Code:
    archive.Delete("infernus.txd"); 
  5. Extract("Название файла", "Директория") -- Извлекает файл из IMG архива в указанную директорию

    PHP Code:
    archive.Extract("infernus.dff""S:\\"); 
  6. AddTempFile("Путь к файлу", "Название файла", "Папка для временного хранения файлов(Создается сама)")
  7. RemoveTempFile("Название файла", "Путь к оригиналу")
Вышеперечисленных функций хватит для создания хорошего модпака с кучей возможностей.

Пример использования класса для создания своего модпака с ВРЕМЕННОЙ заменой файлов.
Всё очень просто - запускаете приложение, оно устанавливает модпак до того момента, пока вы играете в игру. После завершения сеанса игры все данные будут восстановлены на исходные.

Ссылка на рабочий пример c полным пояснением: https://github.com/Seregamil/IMG-arc...ive/Program.cs


Ссылка на githib с проектом( Сам класс и рабочий пример консольного приложения ): https://github.com/Seregamil/IMG-archive-editor
Ссылка на класс: https://github.com/Seregamil/IMG-arc.../master/IMG.cs

Для работы класса необходимо подключать в References библиотеку XArchiveDragon: https://github.com/Seregamil/IMG-arc...n.dll?raw=true
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)