Редактирование: *.spawn compiler/decompiler (Universal ACDC)

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

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 7: Строка 7:
 
| '''Автор'''            || K.D.
 
| '''Автор'''            || K.D.
 
|-
 
|-
| '''Последняя версия''' || [https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.38.7z 1.38 (21 мая 2014)]
+
| '''Последняя версия''' || [http://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_release_1_322.7z 1.322 (28.06.2013)]
 
|-
 
|-
| '''Написан на'''      || [https://www.activestate.com/activeperl/downloads ActivePerl 5]
+
| '''Написан на'''      || Perl 5
 
|-
 
|-
| '''Обратная связь'''  || [https://www.amk-team.ru/forum/index.php?showtopic=11568 AMK форум]
+
| '''Обратная связь'''  || [http://www.amk-team.ru/forum/index.php?showtopic=11568 AMK форум]
 
|}
 
|}
 
</div>
 
</div>
  
Утилита предназначена для распаковки и запаковки '''all.spawn/level.spawn'''
+
Утилита предназначена для распаковки и запаковки '''all.spawn/level.spawn''' от любого билда, начиная с 1265.
  
 
Основные возможности:
 
Основные возможности:
Строка 27: Строка 27:
 
* собственно, сам спавн ('''all.spawn''', '''level.spawn''')
 
* собственно, сам спавн ('''all.spawn''', '''level.spawn''')
 
* '''game.graph''' (только если распаковываете '''all.spawn'''). Если '''all.spawn''' от билда 3120, ЧН или ЗП — '''game.graph''' не нужен (он вшит в спавн).
 
* '''game.graph''' (только если распаковываете '''all.spawn'''). Если '''all.spawn''' от билда 3120, ЧН или ЗП — '''game.graph''' не нужен (он вшит в спавн).
* папка <code>config</code> или <code>configs</code> (если распаковываете мод и acdc жалуется на ''unknown section'')
+
* папка <code>configs</code> (если распаковываете мод и acdc жалуется на ''unknown section'')
  
Для корректной работы используйте с [[stkutils]] строго последней версии.
+
Для корректной работы используйте с <code>stkutils</code> строго последней версии.
  
 
= Установка =
 
= Установка =
# Установите [[ActivePerl]].
+
# Установите [http://www.activestate.com/activeperl/downloads ActivePerl].
# Распакуйте [https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.38.7z архив со скриптом] в нужную папку.
+
# Распакуйте [http://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_release_1_322.7z архив со скриптом] в нужную папку.
# Скопируйте свежую библиотеку модулей [[stkutils]] в папку с библиотеками Perl (например, <code>C:\Perl\lib</code>) или в папку со скриптом.
+
# Скопируйте [http://files.xray-engine.org/k.d./perl_scripts/stkutils/stkutils_2013-06-28.7z библиотеку модулей <code>stkutils</code>] в папку с библиотеками Perl (например, <code>C:\Perl\lib</code>) или в папку со скриптом.
  
 
= Использование =
 
= Использование =
 
== Распаковка спавна ==
 
== Распаковка спавна ==
Режим предназначен для распаковки файлов all.spawn и level.spawn
 
 
 
Команда:<br />
 
Команда:<br />
 
<syntaxhighlight lang="winbatch"> -d <spawn_file> [common_options]</syntaxhighlight>
 
<syntaxhighlight lang="winbatch"> -d <spawn_file> [common_options]</syntaxhighlight>
 
* '''-d <spawn_file>''' <br />Путь до спавна.
 
* '''-d <spawn_file>''' <br />Путь до спавна.
 
* '''common_options''' <br />Общие опции. См. ниже.
 
* '''common_options''' <br />Общие опции. См. ниже.
При распаковке спавнов от модов может возникнуть ошибка "unknown section". Это означает, что в моде используются нестандартные секции предметов/мобов. Для распаковки такого спавна необходимо использовать ключ ''-scan'', указав ему в качестве параметра путь до папки config/configs. Пример смотрите в '''acdc_decompile_scan.bat'''
 
  
 
== Запаковка спавна ==
 
== Запаковка спавна ==
Режим предназначен для запаковки распакованных текстовых файлов спавна в all.spawn или level.spawn
 
 
 
Команда:<br />
 
Команда:<br />
 
<syntaxhighlight lang="winbatch"> -compile <dir> [-idx <index_file>] [-f <flag1,flag2,...>] [common_options]</syntaxhighlight>
 
<syntaxhighlight lang="winbatch"> -compile <dir> [-idx <index_file>] [-f <flag1,flag2,...>] [common_options]</syntaxhighlight>
Строка 64: Строка 59:
 
Если раньше для нахождения нужного id объекта по имени требовалось перебрать все объекты в игре,
 
Если раньше для нахождения нужного id объекта по имени требовалось перебрать все объекты в игре,
 
теперь это можно сделать, просто считав id из нужной секции конфига.
 
теперь это можно сделать, просто считав id из нужной секции конфига.
 
Также есть кое-какие дополнительные опции:
 
* При компиляции для правильной работы необязательно проставлять всем секциям в спавне
 
параметры version и script_version. Достаточно поставить их в секции актора, acdc далее будет использовать их. Полезно, когда спавн "сборный".
 
* При компиляции контролируется уникальность параметров [[story_id]], чтобы не мучаться потом с вылетами игры.
 
  
 
== Конвертирование спавна ==
 
== Конвертирование спавна ==
Режим позволяет конвертировать спавны ТЧ, ЧН, ЗП между собой.
 
 
 
Команда:<br />
 
Команда:<br />
 
<syntaxhighlight lang="winbatch"> -convert <file> -version <new_version> [-ini <file>] [common_options]</syntaxhighlight>
 
<syntaxhighlight lang="winbatch"> -convert <file> -version <new_version> [-ini <file>] [common_options]</syntaxhighlight>
Строка 109: Строка 97:
  
 
==Массовая замена вертексов==
 
==Массовая замена вертексов==
При подключении новых локаций без перекомпиляции графа возникает необходимость одновременного
 
сдвига всех гейм-вертексов спавна новых локаций на какое-то определенное значение. Это можно сделать в данном режиме.
 
 
 
Команда:
 
Команда:
 
<syntaxhighlight lang="winbatch">acdc -parse <file> -old <old_gvid0> -new <new_gvid0> [-way] [common_options]</syntaxhighlight>
 
<syntaxhighlight lang="winbatch">acdc -parse <file> -old <old_gvid0> -new <new_gvid0> [-way] [common_options]</syntaxhighlight>
Строка 123: Строка 108:
  
 
==Разбивка all.spawn на level.spawn==
 
==Разбивка all.spawn на level.spawn==
Опция может быть полезна при одновременной правке спавна в X-Ray SDK и с помощью acdc.
 
 
 
Команда:
 
Команда:
 
<syntaxhighlight lang="winbatch">acdc -split <file> [-use_graph] [-way] [common_options]</syntaxhighlight>
 
<syntaxhighlight lang="winbatch">acdc -split <file> [-use_graph] [-way] [common_options]</syntaxhighlight>
Строка 131: Строка 114:
 
* '''-way''' <br />Генерировать '''level.game''' из спавна.
 
* '''-way''' <br />Генерировать '''level.game''' из спавна.
  
== Сравнение файлов распакованного спавна ==
+
==Сравнение файлов распакованного спавна==
В этом режиме сравниваются два текстовых файла спавна. Итоговый файл формируется на основе первого файла. Все секции, которых нет во втором файле, но есть в первом, удаляются, а те секции, которые есть во втором, но нет в первом, переносятся в итоговый файл. Параметры секций не меняются. Режим позволяет сэкономить время в случае, если надо совместить два файла, причем секции там идут вразнобой.
 
 
 
Команда:
 
 
<syntaxhighlight lang="winbatch">acdc -compare <file1,file2> [common_options]</syntaxhighlight>
 
<syntaxhighlight lang="winbatch">acdc -compare <file1,file2> [common_options]</syntaxhighlight>
 
* '''-compare <file1,file2>''' <br />Файлы для сравнения.
 
* '''-compare <file1,file2>''' <br />Файлы для сравнения.
 
== Обновление вертексов по координатам ==
 
При изменении ИИ-сетки у объектов изменяются '''game_vertex_id''' и '''level_vertex_id'''. Это влечет за собой необходимость повторного снятия данных параметров в игре. Данный режим позволяет автоматически обновить вертексы у всех секций спавна.
 
 
Команда:
 
<syntaxhighlight lang="winbatch">universal_acdc -update <spawn_name> [common_options]</syntaxhighlight>
 
* '''-update <spawn_name>'''<br />all.spawn, для которого надо обновить вертексы.
 
 
Режим update требует дополнительной настройки. В папке с acdc есть файл '''fs_vertex.ltx'''. В этот файл необходимо вписать путь до локаций с ОБНОВЛЕННОЙ аи-сеткой. Обязательно должны присутствовать файлы level.ai, level.gct для всех локаций из спавна.
 
 
{| style="background-color: #fffdee;" width="100%"
 
|<span style="color:#172172;">'''Внимание!'''</span>
 
----
 
Для нормальной отработки режима геймграф должен быть СТАРЫЙ, использовавшийся до перекомпиляции. После нормальной отработки режима спавн можно распаковывать уже с НОВЫМ геймграфом.
 
|}
 
  
 
== Общие опции ==
 
== Общие опции ==
Строка 184: Строка 149:
 
|}
 
|}
  
= История версий =
+
== История правок ==
'''[https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.38.7z 1.38]'''
+
'''1.322'''
* [!] добавлена поддержка релизного спавна Lost Alpha
 
* [!] исправлена конвертация и запаковка
 
 
 
'''[https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.37.7z 1.37]'''
 
* [+] добавлена распаковка и запаковка спавна [http://www.gameru.net/forum/index.php?showforum=320 билда Lost Alpha]
 
* [!] все нераспознаные пути при сплите теперь сваливаются в unrecognized_ways.game
 
 
 
'''[https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.36.rar 1.36]'''
 
* [!] исправлена разбивка спавна на level.spawn и level.game
 
* [!] исправлено сканирование конфигов
 
 
 
'''[https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.35.7z 1.35]'''
 
* [!] исправлено автоназначение версии при отсутствии этого параметра в секции
 
* [!] убрано чтение game.graph при компиляции
 
 
 
'''[https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.34.7z 1.34]'''
 
* [!] исправлено обновление вертексов
 
* [+] добавлено обновление параметра distance при обновлении вертексов
 
* [+] добавлен контроль уникальности story_id при компиляции
 
 
 
'''[https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.33.7z 1.33]'''
 
* [!] исправлена распаковка спавнов нектороых билдов
 
* [+] добавлен режим обновления вертексов
 
* [+] добавлен "умный" разбор way-объектов по локациям для режима split
 
 
 
'''[https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.322.7z 1.322]'''
 
 
* [+] добавлено сравнение распакованных файлов
 
* [+] добавлено сравнение распакованных файлов
  
'''[https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.321.7z 1.321]'''
+
'''1.321'''
 
* [!] исправлена распаковка спавнов ЗП
 
* [!] исправлена распаковка спавнов ЗП
  
Строка 223: Строка 162:
 
* [+] реализована сортировка alife-объектов
 
* [+] реализована сортировка alife-объектов
  
'''[https://files.xray-engine.org/k.d./perl_scripts/spawn_unpackers/universal_acdc_v.1.31.rar 1.31]'''
+
'''1.31'''
 
* [!] изменен алгоритм сканирования конфигов
 
* [!] изменен алгоритм сканирования конфигов
 
* [!] изменен приоритет запросов из clsids.ini, теперь данные из него перекрывают внутренние таблицы
 
* [!] изменен приоритет запросов из clsids.ini, теперь данные из него перекрывают внутренние таблицы
Строка 300: Строка 239:
 
Используйте/выкладывайте где и как хотите, с указанием авторов.
 
Используйте/выкладывайте где и как хотите, с указанием авторов.
  
[[Категория:Perl]]
+
[[Категория:Скрипты на Perl]]

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии GNU Free Documentation License 1.3 или более поздняя (см. xrWiki:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)