flashpoint493 / Charm

Destiny 2 reverse engineering tool for extracting cool things from game files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Charm - the Destiny tool that does everything

What is this?

A new, flashier, fully C# version of my previous tool Phonon. It is designed to only support the latest versions of the game. The tool focuses on providing as much access to the information in the game files as possible, ideal for artists and content preservation.

How do I install and use it?

  • You'll need .NET 6.0 x64 installed.
  • Download the latest release and run Charm.exe.
  • Set the packages and export paths first.

If you encounter any problems, take a look in the charm.log file and look at the exception.

Also take a look at the Charm wiki for more info.

Known issues

  • Unhandled Exception: System.ArgumentException: Invalid hash given: 2157969408. - delete the empty paths.cache file and try again.

Functionality

Here's a brief list of what Charm can currently do:

  • Exract entities from the game API.
  • Interoperability with DARE for extraction of higher quality textures than the API provides.
  • Extraction of static models, maps, entity models, textures, audio.
  • For entities, FK skeletons are provided where they exist.
  • All geometry can export with shaders that can be imported into Unreal Engine 5 (see tutorial).
  • All geometry can be imported into Blender with basic texture application. (see tutorial).
  • Viewing and extraction of information tied to activities.
  • Batch extraction sorted into packages.
  • Arrow keys for navigating the list of buttons easily.
  • Search bar that can search hashes and names, and when in a package view, can search recursively for names.
  • Entity names where possible.
  • Music, dialogue, directives viewing and playback.

Not yet implemented:

Source 2: Only supports S&Box at the moment

  • Generates .vfx shader files for semi-accurate game shaders (similar to UE5 shaders)
  • Generates .vmat (material) and .vmdl (model) files for statics and maps

(CS:GO Source 2 support is planned once that is released and if it supports custom content similar to S&Box) (Unlikely)

Copy files from shaders/source2 to your addons "Shaders" folder, and the .vmat, textures, and .vmdl files to "materials", "materials/textures", and "models" respectively.

To compile shaders: Drag and drop all the .shader files into your addons shaders folder while you have S&Box open, this should automatically trigger the compile process. (Not Recommended though). The better option is to locate all your .shader files and drag/drop them onto vfxcompile.exe in your "Steam\steamapps\common\sbox\bin\win64" folder, this should compile the shaders without having the game open, saving system resources. THIS WILL TAKE A LONG TIME TO DO, DUE TO COMPILE SPEEDS

Some tricks

  • Middle click tabs to close them.
  • In a packages view, you can type in any hash and it will take you to it. No need to look through all the packages.

Reporting issues

If you experience any issue, you can register an issue in this repository. If the program has crashed, it is extremely valuable to provide the charm.log file.

Learning and Contributing

To learn about how Charm works or to contribute, check out the wiki.

Sponsor

I put a sponsor on this project as some people wanted to contribute, if you want to you can help me out :)

License

The Charm source code is licensed under GPLv3. All other used code and DLLs are subject to their own licenses. Symmetry is fully copywritten.

Credits

Thanks to Alcidine, BIOS, Carson Reed, Delta, and nblock for testing, feedback, and help throughout the project's development. HighRTT for audio help (RevorbStd and librevorb).

About

Destiny 2 reverse engineering tool for extracting cool things from game files.

License:GNU General Public License v3.0


Languages

Language:C# 57.8%Language:Python 42.2%