Boîte à outils pour travailler avec les scripts utilisés par REDengine dans Cyberpunk 2077. Comprend actuellement un compilateur, un décompilateur et un désassembleur.
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
Vous pouvez créer le projet et décompiler tous les scripts en une seule commande :
cargo run --bin redscript-cli --release -- decompile -i ' /mnt/d/games/Cyberpunk 2077/r6/cache/final.redscript ' -o dump.reds
Les scripts utilisent un langage de type Swift. Vous pouvez trouver un bref aperçu de ses fonctionnalités sur le wiki officiel.
Vous pouvez également l'essayer dans votre navigateur.
Pour plus d'exemples, vous pouvez consulter certains projets utilisant redscript :
Il existe un serveur de langage dédié pour redscript, avec prise en charge des éditeurs de code :
Vous pouvez intégrer ce compilateur au jeu et lui faire compiler vos scripts au démarrage.
Pour le configurer, vous pouvez télécharger l'archive redscript-mod-{version}.zip
de la dernière version et l'extraire dans le répertoire principal du jeu. Vous devriez vous retrouver avec les fichiers suivants :
Cyberpunk 2077/engine/tools/scc.exe
Cyberpunk 2077/engine/config/base/scripts.ini
Si le compilateur est correctement configuré, il enregistrera les journaux dans Cyberpunk 2077/r6/cache/redscript.log
chaque fois que vous démarrerez le jeu.