Modding Skins and Textures for Stronghold 2 and Legends
Texture files and Alpha Channels.
.DDS (direct draw surface) are the main skin or texture file type used throughout Stronghold 2 and Stronghold Legends. .DDS files are one file type that supports what is called the Alpha Channel. (.PNG, .TGA, and uncompressed .TIF files also support an alpha channel but other common file types do not.)
There are several types of .DDS files, including; DXT1, DXT1a, DXT3 and DXT5. Each one has an increasingly complex alpha channel.
- DXT1 is opaque and ignored.
- DXTa is black (read as transparent) or white (visible).
- DXT3 is grey scale.
- DXT5 twice as detailed grey scale.
SH2 uses DXT3 .DDS files. In some files, like the tree skins, the alpha channel is used to dictate the transparency of the image, while for units it is used to create reflectivity on armor and metal weapons.
To change any skins in SH2 or SHL you need to be able to open these .DDS files or convert them to a file type that you can work with. Photoshop or Paint Shop Pro users can download the nVida .DDS plugin. Paint Shop Pro users will additionally have to get the following .dll files and put them in their \WINDOWS\system folder.
With the nVida .DDS plugin, Photoshop or Paint Shop Pro will load and save .DDS files in various forms directly.
The other route is conversion. Using the DDS Converter 2.1 available here, or DXTbmp available here, you can change a .DDS file to an easily manipulable, more common file type that any graphics program can deal with. Don’t have a graphics program? Try free Gimp 2.6.
Once you can open a file into your graphics program, changing the look is as simple as painting down new colors, of course getting it to look perfect takes allot of patients and practice. You must restart Stronghold with each edit to see any changes take effect.
When you open a .DDS file, you might be queried if you would like to display ‘mipmaps’. Mip maps are smaller less detailed copies of the main file used to render figures in less detail when you are zoomed out a little or a lot. There are usually eight. When you open a file, you want to select ‘no’ if the program asks if you want to ‘display mipmaps’. If you view them and then try to save, it will generate mipmaps of your mipmaps.
Changing any textures in Stronghold 2 and Legends is simply a matter of using the old texture as a guide. The placement of the parts of the image are mapped out as part of the .GR2 file and can not be changed. Some areas will be obvious where they are applied. Sometimes it is necessary to place bright contrasting marks on the skin just to see where that part is used in play. A word of warning, don’t try and reskin the Jester for your first project, his layout is a nightmare! Another warning, .DDS files are stored upside-down compared to other file types and in the way they are sometimes stretched on the model. If you draw a symbol on the lords cape, for instance, it will appear backwards in play when you are zoomed in, but not if you are zoomed out some. If your using DXTbmp, the whole image might need to be mirrored before saving.
A common method of making new skins is to start with a grey scale palette. That way you are not distracted by getting colors right and can work on the shading. Once the shading is done, you then add a layer of transparent colors over the shading work. This can work for modifying existing skins. You can convert the image to grey scale and then add a new layer of transparent colors to tint the existing shading.
There are also the areas that show the player color. These can be changed slightly with shading but they will always try and show the lords colors through in certain areas. These are white areas on the .DDS images. Any colors placed here will be blended with the team color, creating a dark muddy hue.
.Normalmap.dds is a special .DDS file that is used as a filter by DirectX for bump mapping. It effects how the lighting is calculated, creating the illusion of shadows on the model. This way you can draw the model with far fewer polygons yet still retain a high level of detail. Wikipedia’s images on bump mapping illustrate this marvelously. If you open one up you will be greeted with a psychedelic rendering in blue purple and pink. If you attempt to modify the normalmap, I recommend you stick to the colors already in use. Only a few units use .normalmaps.
More on the Alpha Channel.
An alpha channel is saved as part of the image file. It is not a layer in the image. Think of it as a completely different image stored with the regular color data. As stated earlier, alpha channels are shown in grey scale colors. White makes things very reflective looking while black eliminates reflections on units that use the alpha channel. I am not sure if every unit considers the alpha, the armored units like Knight and Lord certainly do.
In these images of Lord Matthew I first had shaded all the armor darker with a semi transparent dark grey. The effects of three different alpha channels are shown. On the left is the original alpha. Center is almost black. To the right is an opaque white alpha, this last example will happen if you lose the alpha while converting to a file type that does not support an alpha channel. The armor becomes ultra shiney and the eyes get a little strange.
Pine trees and other 2-D skins use alpha channels differently. White is visible and black is transparent.
If you convert a file to a type that does not support alpha’s then the alpha channel will get wiped out and become opaque white, which can be read as ultra shiny in play. This modified Berserker file was converted to a .JPG image and back using the DDS File Converter.
How to edit the Alpha Channel in Paint Shop Pro.
Backup the file you plan to edit. Load the .DDS file. Make regular changes. Copy the whole image and paste as a new image as a backup. Return to the original. Find ‘Masks’ in the toolbar then ‘Load from Alpha Channel’, click ‘ok’ on the pop-up. Go back to the tool bar ‘Masks’ then ‘Edit’ and the palette with turn to grey scale. You can now adjust the alpha. Colors seem inverted and do not show very well. If you Go under Masks again and then Save to Alpha Channel, a pop-up window will show a preview of your new alpha in more understandable shades. Click on the old one and then ‘Delete’, ‘Yes’ you are sure. Now click ‘OK’ and another pop-up appears, with a default name, hit ‘OK’ and it is saved to the current file. Now under Masks select ‘Delete’, “would you like this mask merged into the current layer?” select ‘No’. Now your back to the regular .DDS and you need to ‘Save As’ and save as a .DDS.
Most alpha channels are made with a grey scale copy of the skin. That way light colors become reflective and dark colors less so.
Editing with DXTBmp.
DXTBmp is a handy and free program developed to mod airplane skins for flight simulators. The idea is that it loads the alpha automatically and then you can convert the regular image or the alpha channel independently to a .BMP image into most any paint program. After editing you save and then reload into DXTBmp and marry the two back into a .DDS file. DXTBmp has a tremendously helpful Help file and is worth downloading just to read more on .dds files.
DDS Converter 2.1
This converter available here will change a .DDS file into several other types. Some file types do not support Alpha Channels so, I would suggest converting to .PNG or .TGA files to retain that aspect of the original skins.
I never cared much for The Bull’s blue warpaint, so I will take this opportunity to change him. I am using Paint Shop Pro with the nVida .DDS plugin for the following sequence.
I open up the file bull_HEAD.dds from \FireFly Studios\Stronghold 2\meshes\units\models. The easiest way to modify the face is to get another face from somewhere. So I decide to check out the vlad_Head.dds from Stronghold Legends. The layout looks similar and should work fine but there is a lot more detail in the Legends file, in fact, comparing them I see Vlad’s file is four times the size or the Bull’s.
So I resize the Vlad image to 25% of its original size. Great they match. I don’t know off-hand what that square patch of dark is for on Vlad so using the ‘eyedropper tool’ to pick up a color that has been used, I copy two of the surrounding colors and paint that dark square out.
Then I select a square ‘selection’ of the Vlad image and ‘copy’ it. Going to the Bull now, ‘paste’ the copied selection as a ‘new selection’ and line it up with the Bull’s face as best as possible.
Then ‘Save As’ bull_HEAD.dds overwriting the old file, merging any layers or selections. Then hit yes again when it tells you the alpha will not be saved, and the DDS file save window should open and just hit save leaving all the default values. Then we have to start SH2 and check our results.
Looks good but the beard is little thin because of the loss of detail when the Vlad image was reduced. I open it up again and find the ‘retouch’ tool. This is a great modifier of colors. In the ‘Tool Options’ window I set the brush size to one single pixel, I hit the dropdown menu and select ‘darken RBG’. Then I click over where I want the beard to show darker. Then save and check your work in game.
Better, but still a little choppy. So I take a screenshot of what the Bull looks like in play and now look at that for reference on where to adjust my colors. Darken some here, lighten a few there, check in play again and it’s looking even better.
I’d like to make it a little more unique from Vlad thought. I figure a bulls typical feature is a big ring in there nose, so I will try that. Open it up again and pick two colors for gold, a bright yellow and a darker more orange hue. Then I just paint a few single pixels, save and check.
Looks horrible. In the saving process, colors seem to get diluted and blended. The bright yellow has bled up where it is not desired. Sometimes this is more noticeable than others. Repeated edits and experience will build up your ability to get skins that look good.
So I adjust a few times until it looks like something, A livid white scar across the face might add a little more, so I lay in a few more pixels of subtle color.
Some colors will blend a little while saving, it seemed worse in DXTBmp, probably due to the conversion process, so after checking you work in play it might be a good idea to re load the file rather than just continuing to work off the last edit before you saved.
This is meant to give a complete overview of the basic principles of what to do, as well as what not to do, when modding sprite textures for Stronghold 2 and Stronghold Legends. Now, through trial and error, may you become an accomplished skin modder and upload your amazing creations to Stronghold Heaven.
The files named green.dds and red.dds are for the color of happy/sad face indicators that float up out of buildings and the various move cursors.
All the ‘allied’ lords use the same armor skin. All the armored ‘axis’ lords use the same armor skin. All the lords use the same cloak skin from lord.dds. The Queen uses the same weapon the Player Lord is using.
Write-up and pictures by Doomsword.