Quote: "Matuka, .vtm isnt the texture format for Source, that's .vtf."
I know that, I said its a "format" used in the source engine, and not a "texture format", read properly next time.
Also the VTM format, otherwise known as "Valve Material Type" is a small piece of code compiled into a small type of notepad form to determine what type of maps the used texture should have and shaders and other rubbish.
A simple example;
LightmappedGeneric
{
$basetexture coastshingle_01
$surfaceprop gravel
}
This is a very basic shingle beach material.
1. The LightmappedGeneric shader is used, which means that the material is for use on surfaces with lightmaps - i.e. brushes.
2. The { character opens a set of parameters
3. The $basetexture parameter is given with coastshingle_01 (a texture). This is what will be drawn on the screen.
4. $surfaceprop gives the material the physical properties of gravel.
5. The } character closes a set of parameters
It's important to remember that this material can only be used on brushes. If it needed to be used on models, for instance, another version would need to be created using the VertexLitGeneric shader.
Most of the time switching materials from one shader to another is as simple as changing their first line, since a great number of parameters are shared between them. But some params only work with certain shaders - for instance, Phong effects are only available with VertexLitGeneric. The good news is that you won't encounter any critical errors if a param isn't understood by the shader.

"Your greatest teacher is your harshest critic"-'Butterfingers'