Kit de ferramentas para trabalhar com scripts usados pelo REDengine no Cyberpunk 2077. Atualmente inclui um compilador, um descompilador e um desmontador.
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
Você pode construir o projeto e descompilar todos os scripts em um comando:
cargo run --bin redscript-cli --release -- decompile -i ' /mnt/d/games/Cyberpunk 2077/r6/cache/final.redscript ' -o dump.reds
Os scripts usam uma linguagem semelhante ao Swift. Você pode encontrar uma breve visão geral de seus recursos no wiki oficial.
Você também pode experimentá-lo em seu navegador.
Para mais exemplos, você pode dar uma olhada em alguns projetos usando redscript:
Existe um servidor de linguagem dedicado para redscript, com suporte para editores de código:
Você pode integrar este compilador ao jogo e fazer com que ele compile seus scripts na inicialização.
Para configurá-lo, você pode baixar o arquivo redscript-mod-{version}.zip
da versão mais recente e extraí-lo no diretório principal do jogo. Você deve acabar com os seguintes arquivos:
Cyberpunk 2077/engine/tools/scc.exe
Cyberpunk 2077/engine/config/base/scripts.ini
Se o compilador estiver configurado corretamente, ele salvará os logs em Cyberpunk 2077/r6/cache/redscript.log
sempre que você iniciar o jogo.