Learning to extract content from addons is a fundamental skill for other advanced PAC-3 skills. In this tutorial, we will go over using a program called Crowbar.exe to unpack addon files, what each type of file inside of an addon does, and extracting these files for modification or use in a PAC-3. It is highly recommended you set up a work folder specifically to organize any downloaded content.
My preferred program for mucking about with addon files is called Crowbar. Source games come with the programs necessary to modify game files, but they are not user-friendly (Gmad, hlmodelviewer, etc). Crowbar provides an interface for using these tools in a user-friendly way, alongside its own unique features to further support the modification of game content. We'll only be focusing on the bits relevant to extracting information from addon files, but you'll get more familiar with this program as you go deeper down the PAC-3 rabbit hole.
Crowbar is available here for download.
To download addon files for you to modify, you have two options:
Crowbar supports directly downloading addon files using the steam workshop API. Open Crowbar, go to the "Download" tab in the top left, paste in a link to a workshop addon you want to download, select a destination (Work-folder would be best), and hit download. Crowbar will connect to the steam workshop and download the GMA file to a location of your choosing. If you haven't already, specify a work folder for all your downloaded content to reside it, otherwise it can be a bit messy as we continue.
Sometimes crowbar just doesn't like to download a certain addon, and will crash. This is OK because you can pull it from your game install instead! To do this, subscribe to the add-on and wait for it to download. While you are here, take note of the addon ID number in the workshop link, you'll need this. Then, head to the Steam library folder where you have Garry's Mod installed. Inside the "steamapps" folder, you'll find the workshop/content/4000 folder. Inside of this 4000 folder is every downloaded subscribed addon, organized by addon ID. Search for the folder with the ID of the addon you want, and open it to find the GMA file.
Once you have your GMA file, you can use Crowbar to rip it open to extract all the juicy content inside. To do this, navigate to the "Unpack" tab. In the top bar, browse to where your GMA addon is kept. On the bottom bar, browse to your work folder (Or ideally, a subfolder inside of that to hold everything you extract neatly). Crowbar will populate the content viewer with folders. We'll go over what will be inside these folders here in a second.
To extract the content of the folders to your working folder, just select what you want to move and hit "Unpack".
If you don't know what you're looking for to extract, here is a quick overview of what most of the different files do in your game, and how they are relevant to PAC-3.
Model files used by source engine games. Usually they come as a package of similarly named files and won't work by themselves. Used for custom PAC-3 models.
Valve Texture Files. This holds the actual texture for a model or part of a model. Also included here are normal maps, generally denoted with a "_n" in the filename. These purple textures are used to give depth to a texture. Used in PAC-3 for custom textures on models.
Valve Material files. These are associated with one or more VTF files and hold the settings that make up a texture, such as if it is reflective, transparent, or illuminated. Used in PAC-3 for custom textures on models.
Script files for an associated addon. Contains code for different functions of an addon. For instance, for player models, it will handle placing the new player model onto the player model list, or weapons onto the weapon list. Not relevant for PAC-3.