Набор инструментов для работы со скриптами, используемыми REDengine в Cyberpunk 2077. На данный момент включает в себя компилятор, декомпилятор и дизассемблер.
Usage:
decompile [opts]
compile [opts]
lint [opts]
Compiler options:
-s, --src SRC source file or directory
-b, --bundle BUNDLE redscript bundle file to read
-o, --output OUTPUT redscript bundle file to write
Decompiler options:
-i --input INPUT input redscripts bundle file
-o, --output OUTPUT output file or directory
-m, --mode MODE dump mode (one of: 'ast', 'bytecode' or 'code')
-f, --dump-files split into individual files (doesn't work for everything yet)
-v, --verbose verbose output (include implicit conversions)
Lint options:
-s, --src SRC source file or directory
-b, --bundle BUNDLE redscript bundle file to use, optional
Собрать проект и декомпилировать все скрипты можно одной командой:
cargo run --bin redscript-cli --release -- decompile -i ' /mnt/d/games/Cyberpunk 2077/r6/cache/final.redscript ' -o dump.reds
Скрипты используют язык, похожий на Swift. Вы можете найти краткий обзор его возможностей в официальной вики.
Вы также можете попробовать это в своем браузере.
Дополнительные примеры можно посмотреть в некоторых проектах, использующих Redscript:
Для Redscript имеется выделенный языковой сервер с поддержкой редакторов кода:
Вы можете интегрировать этот компилятор с игрой и заставить его компилировать ваши скрипты при запуске.
Чтобы настроить его, вы можете скачать архив redscript-mod-{version}.zip
из последней версии и распаковать его в основной каталог игры. В итоге у вас должны получиться следующие файлы:
Cyberpunk 2077/engine/tools/scc.exe
Cyberpunk 2077/engine/config/base/scripts.ini
Если компилятор настроен правильно, он будет сохранять логи в Cyberpunk 2077/r6/cache/redscript.log
при каждом запуске игры.