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.
- 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.
Unhandled Exception: System.ArgumentException: Invalid hash given: 2157969408.
- delete the empty paths.cache file and try again.
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:
- audio exporting MontagueM#5
- string exporting MontagueM#1
- game version checking MontagueM#3
- parallelise batch extraction MontagueM#6
- enable nanite for maps in UE5 MontagueM#7
- use HLODs for maps in UE5 MontagueM#8
- add more UE5 shader controls MontagueM#9
- terrain for maps MontagueM#20
- better crash management MontagueM#43
- animations MontagueM#45
- 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
- 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.
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.
To learn about how Charm works or to contribute, check out the wiki.
I put a sponsor on this project as some people wanted to contribute, if you want to you can help me out :)
The Charm source code is licensed under GPLv3. All other used code and DLLs are subject to their own licenses. Symmetry is fully copywritten.
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).