I am by no means a professional when it comes to skinning a model. It has taken me a good while to figure everything out that I needed to in order to get just this little bit done and I really commend the people who do this for a living and I hope to some day be one of them.
All right, to start off, this tutorial is going to be for anyone who has access to Photoshop ( 7 and up) and is a supplement to Japer's Skinning Tutorial. Go through that first before reading on please as it will help and is actually where I started.
Now then, go and download Nvidias Normal Map Filter for Photoshop here. This is not going to make true professional grade Normal's, for that, there is a lot more work that is far beyond the scope of this tutorial that involves a high resolution model and a 3D rendering program like 3ds Max. This will how ever make respectable and nice normals and is really the only way I have experience with thus far.
The NNMF is very straight forward so take a moment to get that installed.
If you haven't done Japer's Skinning Tutorial, then from this point on you will be lost.
Japer was editing zoey_color.vtf. I on the other hand will be working with zoey_head.vtf, zoey_head_compress.vtf and zoey_head_normal.vtf to give you even more experience with the hex editor Japer recommends.
Go into the teenangst folder you created and make a backup of zoey_head.vtf, zoey_head_compress and zoey_head_normal.vtf. You always want to have a copy of the original just in case you screw up.
Now you need to rename zoey_head, I called mine goey_head.vtf.
Open Photoshop and make some changes to the texture, things you will be able to easily tell the difference between the original texture and your new texture, now save it.

As you can see I added the running mascara, scrapes, bruises and cuts.
The compress file is the exact same as the normal zoey_head except that it is only 512x512 pixels in size. Change the image size of it in Photoshop and then save it as goey_head_compress.vtf. Now you have a nifty new texture for Zoey's face but now comes the fun part of making the Normal Map match up.
Close the goey_head_compress.vtf and reopen goey_head.vtf. Click on Filter and at the bottom of the list is NVIDIA Tools > NormalMapFilter... This will open up the filter options. Keep everything default, it should be fine for you first attempt, after that it will be just a series of trial and error to get things to look right. I recommend working with layers in order to have certain parts of the normal be more drastic in detail then others.

Here you can see I have a good few layers going, it really comes down to trying till you get what you want. Keep in mind, when making a normal map, the parts that look like they are sticking out the farthest are actually going to look like they are deep once rendered on the character model. So cuts, wrinkles and various textures are created this way.
Eventually you will end up with a final Normal Map.

Once you are done creating the normal map, click on Channels and make sure that the Alpha is set to black...

...or else you will have an annoying glare all over the Normal Map in game, much like this.

Save this as goey_head_normal.vtf. Close Photoshop cause now its on to the hex editor!
WARNING, make sure you have a backup of your pak01_dir.vpk!
Open up the hex editor and press 'ctrl + f' to open the search function. Search for 'zoey_head_normal'. The first result you want to leave alone. Search again and the second result, change to 'goey_head_normal'. Use the following image as a reference.

Scroll all the way back up to the top and now do a search for 'zoey_head_compress'. Scroll up just a smidgen so you can see all the entries in the following picture.
Make all the entries you see underlined say 'goey'.

Save the vpk an there ya go, you should now have a nice new Normal Map and Texture for Zoey.
Use VTFEdit to open both zoey_head.vmt and zoey_head_it.vmt. Change every instance of zoey to goey.
Load up your game and you should have your own new texture edit going, congratulations.


Enjoy!


