Версии:Universal ACDC

Материал из Modders-wiki - Библиотека знаний модмейкеров S.T.A.L.K.E.R.
Перейти к: навигация, поиск
Относится к страницеUniversal ACDC
Крайняя версия1.38 от 21 мая 2014 года
Первая версияот 16 сентября 2011 года

1.38 от 21 мая 2014 года

  • добавлена поддержка релизного спавна Lost Alpha
  • исправлена конвертация

1.37 от 6 апреля 2014 года

  • добавлена распаковка и запаковка спавна билда Lost Alpha
  • все нераспознаные пути при сплите теперь сваливаются в unrecognized_ways.game

1.36 от 29 декабря 2013 года

  • исправлена разбивка спавна на level.spawn и level.game
  • исправлено сканирование конфигов

1.35 от 26 августа 2013 года

  • исправлено автоназначение версии при отсутствии этого параметра в секции
  • убрано чтение game.graph при компиляции

1.34 от 9 августа 2013 года

  • исправлено обновление вертексов
  • добавлено обновление параметра distance при обновлении вертексов
  • добавлен контроль уникальности story_id при компиляции

1.33 от 7 августа 2013 года

  • исправлена распаковка спавнов некоторых билдов
  • добавлен режим обновления вертексов
  • добавлен "умный" разбор way-объектов по локациям для режима split

1.322 от 28 июня 2013 года

  • добавлено сравнение распакованных файлов

1.321 от 24 января 2013 года

  • исправлена распаковка спавнов ЗП

1.32 от 17 января 2013 года

  • guids.ltx больше не нужен без ключа -idx
  • реализована сортировка way-объектов по алфавиту
  • реализовано определение принадлежности way-секции по gvid и префиксу
  • реализована сортировка alife-объектов

1.31 от 30 августа 2012 года

  • изменен алгоритм сканирования конфигов
  • изменен приоритет запросов из clsids.ini, теперь данные из него перекрывают внутренние таблицы
  • скрипт адаптирован под новую систему отладочных сообщений
  • поправлена логика работы с пакетом actor'а в ЧН
  • добавлена возможность вынесения лога в файл
  • добавлена возможность вынесения сетов в отдельный конфиг-файл

1.30 от 5 августа 2012 года

  • теперь новая версия обработчика ошибок по-прежнему обрабатывает спавн Народной солянки
  • исправлены проблемы распаковки level.spawn некоторых билдов

1.29 от 21 июля 2012 года

  • исправлена ошибка распаковки level.spawn билдов
  • исправлена ошибка распаковки спавна ЧН
  • всякие мелкие правки

1.28 от 8 мая 2012 года

  • исправлено игнорирование парсером ключа -way в режиме split.
  • исправлена ошибка сканирования конфигов при компиляции.
  • исправлена ошибка чтения секций некоторых se-классов.
  • исправлена ошибка разбивки спавна, из-за которой генерировались левел спавны неправильного формата.
  • добавлен контроль дубликатов actor при компиляции.

1.27 от 15 января 2012 года

  • исправлена ошибка парсера, в некоторых случаях приводившая к порче логики.
  • исправлено создание папок при сохранении результата.
  • добавлена переинициализация параметров секции после смены класса при конвертации. Это расширяет диапазон версий, доступных для конвертирования.
  • добавлена поддержка маск при конвертации.
  • добавлен ключ -ini в режиме конвертации

1.26 от 13 января 2012 года

  • поправлена распаковка спавнов ЧН.
  • добавлено автоматическое заполнение версии спавна из первой секции (если actor'а в спавне нет).
  • еще по мелочи

1.25 от 26 декабря 2011 года

  • отключен вывод пустого параметра spawned_obj при распаковке.
  • реализовано автоматическое заполнение параметров version и script_version при запаковке спавнов с секциями из разных версий игры. Версия берется из конфига actor'а.

1.24 от 20 ноября 2011 года

  • исправлена распаковка/запаковка спавна S.T.A.L.K.E.R. build 2571.
  • исправлена запись guids.ltx
  • мелкие правки

1.23b от 14 ноября 2011 года

  • убрано предупреждение state data left при распаковке спавнов ЗП, запакованных ранее с помощью acdccop.
  • исправлены ошибки split, из-за которых могли получаться кривые level.spawn
  • переделана логика чтения/записи пакетов se_stalker/se_monster
  • мелкие изменения

1.22b от 12 ноября 2011 года

  • добавлен ключ -nofatal

1.21b от 9 ноября 2011 года

  • исправлены небольшие опечатки в коде.
  • парсер теперь корректно читает значения с комментариями.

1.2b от 8 ноября 2011 года

  • небольшие правки по конвертации.
  • добавленные в модах соответствия clsid -> серверный класс теперь редактируются в отдельном конфиге (clsids.ini).
  • ошибка при встрече незнакомого clsid теперь выдается при распаковки секции спавна с таким clsid, а не при сканировании конфигов, как раньше.

1.1b от 7 ноября 2011 года

  • проверена распаковка билд-спавнов, решена проблема декомпиляции спавнов билдов 25хх
  • добавлен контроль наличия параметра version в секциях распакованного спавна.
  • исправлено исключение файла со spawn_id объектов при сканировании конфигов.

1.0b от 4 ноября 2011 года[1]

  • основательно переработан код, часть скрипта вынесена в отдельные модули.
  • исправлены все не работавшие функции.
  • увеличена скорость выполнения кода, уменьшены требования по памяти.

25 сентября 2011 года

  • исправлена проблема с sections.ini, когда при отсутствии этого файла процесс распаковки/упаковки невозможен при указании ключа -scan
  • исправлена проблема с spawn_ids.ltx, при не указании ключа -idx, в корне папки утилиты образовался с именем и расширением, но нулевой длины.
  • исправлена проблема с spawn_ids.log, при не указании ключа -scan и добавленных к отдельным секциям объектов метки :index

24 сентября 2011 года

  • исправлена проблема, когда при отсутствии файла sections.ini утилита отказывалась распаковывать и запаковывать спавн.
  • исправлена проблема, при не указании имени с ключем -idx, в корне папки утилиты создавался файл без имени (*.ltx), ранее был spawn_ids.ltx

23 сентября 2011 года

  • исправлено предупреждение при запаковке спавна без ключа -idx. Спавн собирался, как надо, просто предупреждение нервировало (нашел RedPython)
  • теперь sections.ini нулевой длины (из-за прерывания процесса сканирования) удаляется при повторном сканировании (Artos)
  • генерируемый файл с секциями теперь пропускается при сканировании (Artos)
  • переделана data_packet::unpack, так что теперь чтение будет работать быстрей. В acdc наиболее заметно на стадии "reading vertices..."
  • переделан модуль graph для будушей универсализации perl-скриптов. В распаковке графа незаметно, но со старым модулем acdc работать откажется.

20 сентября 2011 года

  • добавлена функция разбивки all.spawn на level.spawn и level.game (аналог split_spawns в aiwrapper)
  • исправлена распаковка/запаковка level.spawn, поломанная в какой-то из версий.

19 сентября 2011 года

  • конфиг, и лог теперь называются spawn_ids. Если конфигу не поставить расширение в батнике, оно добавится само.
  • в конфиге всем секциям добавлен префикс - id уровня, на котором находится объект. Принадлежность определяется по вертексу.
  • ключ -idx можно использовать без указания пути - конфиг появится в папке с acdc.
  • добавлены разделители между секциями в распакованном спавне.
  • при распаковке спавна теперь появляется файл guids.ltx, содержащий перечень локаций с их начальными вертексами. Удалять файл нельзя, иначе потом не запакуете c ключом -idx. Если без ключа - файл не нужен.

18 сентября 2011 года

  • появился ключ -idx <путь до ltx конфига>, который формирует *.ltx-конфиг с подобными секциями:
[lights_camp_fire_omni_r1_r2_0010]
id = 4197
story_id = -1

В конфиг добавляются секции для всех объектов, он предназначен для получения id и story_id объекта по его имени из игры. Делается примерно так:

function id_by_name(name)
    local idx_file = ini_file("path_to_idx.ltx")
    if idx_file:line_exist(name, 'id') then
        return idx_file:r_s32(name, 'id')
    end
    return nil
end
  • в распакованном спавне для любой секции можно задать метку index ([1276]:index). При запаковке в custom_data такой секции добавится следующее:
[fix_index]
name = id; вместо name будет имя объекта, вместо id - его текущей индекс в спавне.

С этим также можно работать из игры. При распаковке такого спавна, метка восстановится, из custom_data запись удалится. Если пользоваться метками и не использовать ключ -idx при этом, генерится лог-файл, в который записывается тоже самое, что и в custom_data помеченных секций. Сделано просто для удобства. С ключом -idx такой лог не генерируется.

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

17 сентября 2011 года

  • с целью использования возможности работы с оригинальным файлом game.graph, а не с его копией, добавлена опция для возможности указания пути до этого файла:

-g <graph_dir> - путь до game.graph. Если не задан или пуст, граф распаковывается из корневой папки утилиты.

16 сентября 2011 года[2]

  • Первая версия Universal ACDC. Использованы наработки предыдущих компиляторов/декомпиляторов *.spawn-файлов

За основу взят acdc.pl из исходников X-Ray Game Asset Tools Pack от 10 сентября 2008 года

Источники

  1. Информация из файла ReadMe.txt Universal ACDC
  2. Тема "Universal ACDC" на AMK форуме