Иконка ресурса

Декомпилятор AI 1.5

Нет прав для скачивания
  • Fixed broken precedence & associativity (thx for feedback)
  • Recompiled AI now almost the same as original AI (at least C1, thx for feedback)
  • GF AI now decompiles without errors (no ignored classes)
  • C1 datapack by
  • GD datapack updates by
  • Datapack format changes (enums.json -> pch.json, manual_pch.txt now parsed automatically)
  • AI chronicles now detected automatically
  • Added --output, --ignore & --config options
  • --chronicle option renamed to --chronicles
Decompiled AI examples:
Your feedback & PRs are welcome.
  • Мне нравится
Реакции: Aspire и kick
  • HF Support by Eressea
  • GD Support by
  • Many NASC generator fixes
  • Split result classes to tree
  • Non-ASCII symbols support by Eressea
Command Line Arguments
Код:
--input         AI file to decompile. Default: 'ai.obj'
--chronicle     AI chronicle. Provide a directory name from the data directory. Default: 'gf'
--language      Resulting language. Provide a file name from the core/generators directory (without .php extension). Default: 'nasc'
--tree          Split result in tree structure. Provide the tree depth (0 - don't split, 1 - flat, more than 3 can cause problems on Windows). Default: 3
--join          Join split classes into one file. Provide a directory which contains the classes.txt file. Default: NULL
--utf16le       Encode output in UTF-16LE instead of UTF-8. NASC Compiler supports only UTF-16LE. Default: false
--test          Run regression tests. Provide a test file name from the tests directory (without .bin extension). Default: NULL
--generate      Generate regression tests. Provide a new test file name (without extension). Default: NULL
  • Мне нравится
Реакции: Aspire, kick и Mifesto
Пофикшены серьезные ошибки при построении AST (неверно вложенные операторы).
Также множество других мелких исправлений.
  • Мне нравится
Реакции: Aspire, kick и Mifesto
  • Декомпилирует ai.obj в AST, затем в NASC. При желании AST можно конвертировать в любой другой ЯП (Java, ...). См. core/codegen.php для написания генератора в другой ЯП.
  • Также работает с ai.obj от AdvExt. Для добавления своих типов и функций см. в папку data. Большинство адресов функций и переменных получено дизассемблированием L2NPC.exe.
  • Полученный NASC успешно компилируется обратно.
Запуск:
  1. Закинуть ai.obj в папку с декомпилятором.
  2. Запустить run.bat.
  3. Результат в ai.nasc.
Большинство классов декомпилирует адекватно, за исключением единичных случаев (см. main.php). В основном это проблемы со сложной вложенностью селектов а также с кодом, написанным вручную (без использования компилятора).
  • Мне нравится
Реакции: Aspire, kick и Mifesto
  • Декомпилирует ai.obj в AST, затем в NASC. При желании AST можно конвертировать в любой другой ЯП (Java, ...). См. core/codegen.php для написания генератора в другой ЯП.
  • Также работает с ai.obj от AdvExt. Для добавления своих типов и функций см. в папку data. Большинство адресов функций и переменных получено дизассемблированием L2NPC.exe.
  • Полученный NASC успешно компилируется обратно.
Запуск:
  1. Закинуть ai.obj в папку с декомпилятором.
  2. Запустить run.bat.
  3. Результат в ai.nasc.
Большинство классов декомпилирует адекватно, за исключением единичных случаев (см. main.php). В основном это проблемы со сложной вложенностью селектов а также с кодом, написанным вручную (без использования компилятора).
  • Мне нравится
Реакции: Aspire, kick и Mifesto
Назад
Сверху Снизу