Resource copier

Материал из xrWiki
Перейти к: навигация, поиск

Resource copier


Тип Служебный скрипт
Автор K.D.
Последняя версия 0.6 (9.09.2012)
Написан на Perl 5
Обратная связь AMK форум

Скрипт предназначается для полуавтоматического копирования исходников локации из SDK в произвольную директорию для последующей отправки на компиляцию или доработку другому мапперу.

Копирует:

  • уровень из X:\rawdata\levels
  • объекты уровня из X:\rawdata\objects\levels
  • текстуры (.dds/.tga, _bump и _bump#), файлы описания текстур (.thm)
  • звуки (.ogg)

Ведется запись лог-файла (X:\logs\copy.log) со списком копируемых текстур, звуков и объектов вместе со статусом копирования (скопировано или нет; если нет, то почему).


Установка[править]

  1. Установите ActivePerl.
  2. Распакуйте архив со скриптом в нужную папку.
  3. Скопируйте библиотеку модулей stkutils в папку с библиотеками Perl (например, C:\Perl\lib) или в папку со скриптом.


Использование[править]

Для начала нужно загрузить карту в LevelEditor и "полетать" по ней мышкой, чтобы редактор подгрузил все используемые текстуры и записал их список в лог-файл. После этого можно свернуть LE и перейти к копированию ресурсов.

Команда:

perl rc.pl -c <level_name> -o <out_dir> [-tga] [-soc]

Описание параметров:

  • -c <level_name>
    Имя копируемого уровня.
  • -o <out_dir>
    Целевая папка для копируемого уровня.
  • -tga
    Копировать также tga-текстуры.
  • -soc
    Режим работы с локациями ТЧ.
  • -mtime <yyyy:mm:dd:hr:mn:sc>
    Фильтрация по дате последнего изменения файла. Будут копироваться только текстуры, измененные позднее.

В файле ignore.ini можно указать игнорируемые объекты, звуки и текстуры. Формат записи:

[objects]
editor\artefakt_ah

[game_textures]
act\act_corp_military

[game_sounds]
ambient\air_2

Важные замечания

  • Должен быть смонтирован диск X: для SDK.
  • В папке X:\logs должен быть лог от LevelEditor, причем только текущего пользователя. Если в папке лежат логи разных пользователей LE, скрипт будет читать имена текстур из всех логов.
  • Указывая путь для копирования локации, не забывайте ставить обратную косую черту, например:
perl rc.pl -c имя_уровня -o X:\buld_copy\имя_уровня\


История версий[править]

v.0.6

  • [+] Добавлена фильтрация копируемых текстур по дате последнего изменения.

v.0.5

  • [f] Выкинут лишний код.
  • [+] Адаптирован новый отладочный модуль.

v.0.4

  • [f] Исправлено копирование файла .level
  • [+] Добавлена возможность игнорирования объектов из rawdata\objects.
  • [+] Добавлен вывод игнорируемых объектов в лог скрипта.
  • [+] Добавлено копирование *.thm для объектов, если таковые thm присутствуют.
  • [m] Отключение копирования стандартных текстур переделано на ignore.ini.
  • [m] Имена текстур и прочего в ignore.ini теперь можно вводить без расширений.
  • [m] Изменены названия секций в ignore.ini.

0.3

  • [+] Добавлена поддержка scene_object.part ТЧ.
  • [+] Добавлено копирование звуков, список звуков берется из sound_src.part.
  • [+] Отключено копирование стандартных текстур и объектов SDK (rawdata/objects/editor и gamedata/textures/ed).
  • [+] Добавлен конфиг-файл, в который можно добавлять игнорируемые файлы.

0.2

  • [+] Из rawdata\objects копируются только те объекты, которые есть в scene_object.part (только для ЧН/ЗП).

0.1

  • Первый релиз.