Stronghold Crusader 2, not unlike the previous games of the series, consists of well over 100 Megabytes of file data. On the contrary however, unlike the previous installments of the series, most of the data that game modders like getting to is seemingly hidden.
Music files are archived in .fsb files, and most of the real "nice" files are now archived in .PAK files. Somewhat similaly, they are both easy to get to but stop people from being able to easily poke around. First off, you should download something like WinRAR, or one zipping program I personally recommend is 7-Zip, which I will be using in this tutorial. There are no differences between what the two programs actually do, as they both allow you to extract the data.
First off, you need to make sure Crusader 2 is closed. While this process does not do anything bad to your files, it is never a good idea to have the game open when you're doing stuff with files for it (and you will have to re-open it to see the changes anyway). Before we can actually begin, we must find where the files themselves are located. This does however, depend on where Steam is installed on your machine. The default directory is in Program Files on a 32-bit machine, or Program Files(x86) on a 64-bit machine.
You can find out which type of system you have by going to start -> Right Click on "This PC" or "Computer" -> Properties. However, I will show you an easier way. Go to the start menu, type 'Steam' in the search box, right click on it then select 'Open File Location'. From there go to:
SteamApps -> common -> Stronghold Crusader 2 -> assets
As you can probably see, there are several files archived in the PAK format. Opening them up in 7 Zip shows that they all have the same main folder 'textures'. And that's because that's exactly what they all are - textures. All of these correspond to the different options available in the Game Options menu. So if you have set the graphics as 'low', your file will be 'textures.low.pak', whereas if you have the graphics set to high, then the file loaded will be 'textures.high.pak'. I'm sure you get the pattern. I'm continuing this tutorial using 'textures.high.pak', as I have my graphics set to high.
This does cause other issues though. For one, what if you change your graphics level? If that is the case, you need to make edits to every PAK file available. To modify all of these files, you must only unarchive one at a time to avoide them from being overridden. When you have unarchived a folder, rename the PAK file to filename.pak.bak (where filename is the name of the previous file). Windows will then spit out an error saying that it may beome an unreadable file, just laugh and click on Yes.
Note: If you don't change the filename, then it won't work, even if you have unarchived the contents of the folder. This is because PAK files automatically override any existing folders in the same directory.
Note that in some versions of Windows, file extensions may not be shown automatically, meaning you can't edit the file extension - so when you are changing the name to .pak.bak, it's part of the name you are adding instead of the extension (particularly newer versions of Windows). If this is the case, for Windows 7 or Vista, follow this guide. For Windows 8 or 10, use this one. You can now change the file extension.
Any changes now made to the files inside the /textures folder will be shown inside the game (providing you have made them to the correct file, of course. If not, after changing the graphics level a restart of the game is required). To restore, delete any files in the /textures folder, and rename the .pak.bak file to .pak. Even better for you, they are still using the old DDS format of Stronghold 2 & Legends, making modding much easier — unlike the old days of having to use a DDS converter, you can now even use Paint.Net to edit the images!
I never liked the woodcutter in Crusader 2, so I took this chance to change him to the weaponsmith. Simply copy the files from the /textures/characters/weaponsmith directory, paste them into the /textures/characters/woodcutter one and rename them to anything (providing the file extension is the same).