Help with Compiling

What does this mean? - MountAppFilesystem() failed: SteamMountAppFilesystem(4294967295,4294967295,0xaf9fd54) failed with error 4: Bad launch configuration

I’m using GUIStudiomdl to compile a simple TF2 hat for pyro with no self illumination or anything like that, just a simple hat.

I’m a complete source newbie, so i’d seriously appreciate some help.

Here’s my (presumably wrong) qc. file:

$modelname “player/Screammask.mdl”

$body shell “Mask.smd”

$cdmaterials “C:/Program Files/Steam/SteamApps/galligus/team fortress 2/tf/materials”

$sequence idle “Mask.smd”

-Thanks, i greatly appreciate ANY help, especially with the upcoming Halloween update, for which i hope to make the deadline.

Sadly, GuiStudioMDL has been broken since steampipe. In the bin folder (Steamapps/common/TeamFortress2/Bin) there’s a program called StudioMDL. Drag your qc onto it. :slight_smile:

I’m pretty sure it’s giving you the mounting error because TF2 is no longer in that location (the SteamPipe update moved it to Steam/Steamapps/Common/). As for the only immediate thing I see wrong with your .qc, your $cdmaterials line has unnecessary info included. The way $cdmaterials used to work, it’s automatically reading from the materials folder in your game’s install directory, so all you really need to do is include is anything after the materials folder. The SteamPipe setup still reads it as such; the only real difference is that everything will be in the Custom folder instead; if you pack them as a .VPK, then it will sit directly in the Custom folder. Leaving them as loose files would require placing the materials and models folder for your hat in a subfolder of your name choice (an example would by my_custom_pyro_hat).

Now, let’s just say you had the textures stored in a specific location and that Team Fortress 2 hadn’t received the SteamPipe update. Your textures are stored in the following location:


C:/Program Files/Steam/SteamApps/-username here-/team fortress 2/tf/materials/models/randompyrohat

Instead of what you currently have the .qc showing, you would put this in place of what you already have listed:


$cdmaterials "models/randompyrohat"

It’s still working just fine for me. Then again, I also remade the old directories.

aaah, this clears some stuff up. I knew SDK was screwed over after Steampipe, but i never realized GUIStudiomdl was broken too! Valve need to fix that kind of stuff.

Thanks Pope for telling me that, i could have spent a long time in GUI.

Thanks Katra for the examples and explanation, it’s INCREDIBLY helpful. I’ll make some amendments.

Thanks guys.

Okay, i think i’m getting a better understanding of stuff. But i’m running into a few problems.

Firstly, Studiomdl won’t run at all. It just flashes up and then closes straight away, without even a warning, meaning i can’t set my VPROJECT so easily.

Secondly, should my qc file refer to where my custom SMD is? Or should it say where the mdl etc. should be placed?

For example: $modelname “player/Screammask.mdl” meaning the mdl will be compiled out to the “player” folder in “materials”… If this is the case, then how does studiomdl know where my SMD is? Is it because the qc. file is in the same folder?

I think i need to get a better understanding of this sort of stuff so that i can use it more effectively.

And does Cannonfodders StudioCompiler still work?

The $modelname line refers to the folder that it will compile to within the “Models” folder, not the “Materials” folder. That line is mainly for what you want to name your model when it’s compiled, as well as where you want it to compile to within the “Models” folder. Here’s an example from one of my old weapon compiles:


$modelname "Ganryu\weapons\w_rif_m16a4eotech.mdl"

By proxy, the compiler would first look in the “Models” folder for another folder named “Ganryu”, and then it would look for another folder named “weapons”. If a folder doesn’t exist, the compiler will simply refuse to compile the model since it can’t find the appropriate directory. If it does find that folder in the location it’s pointed to however, it will compile the model (unless something else is causing a problem - that’s usually something involving one or more of the .SMD files being used for the compile) with the name that you gave it.

Your .QC requires that you state what file is going to be your “reference” for the compile itself. Without stating what the reference file is, your compiler might not be able to actually compile the model. Here’s another example from the same compile I mentioned before:


$model "studio" "w_rif_m16a4EOTech.smd"

Because of the $model line, the .QC is telling the compiler that it’s looking for that specific .SMD when it goes to compile the model. Again, without this line, your compiler might not be able to compile the model. I’ve heard of a few people that still managed to compile without the $model line included, but no names were actually given. It’s just generally safer to make sure you have this line, for the most part.

Cannonfodder’s StudioCompiler does still work. However, if I am remembering this correctly, you have to type out the directory and file name of your .QC when you go to compile the model. The same goes for if you are decompiling another model. The reason for this is mainly due to a bug in the program that has yet to be fixed, but it’s not likely to be fixed any time soon since Cannonfodder doesn’t work on the program anymore (at least. not from what I’ve seen).

You are one of the single most helpful human beings i’ve ever come across, along with SergerantJoe. Thanks, that really helps me loads!

Btw, Cannonfodders software is the only one out of all other compilers that works for me, so i’ll stick with that, even if i have to enter the directory manually, that shouldn’t be too hard.

Again thank you for your help, expect to see some items from me on the workshop (and probably some more HELP threads :L )

Depends on the compiler. Ep1 will yell at you, TF2 will simply create the necessary folders.

You can omit the $model line if you have an animation-only mdl.