It is a little bit of a process to edit generals and add generals, but you just have to stick with it and you'll figure it out. A lot of what I do in my game was learned by trial and error, common sense, and help from the great guys on this forum. If you read through this thread you will see some of my initial questions, and then I started another thread which addresses generals promotions etc. You will see how I started out with no knowledge of this and then just kept at it until it made sense. The basics are below for changing generals promotions and attributes etc. and help to learn how to make a completely new general. The key for a new general is to make new model and unit files, add aliases in two spots for BOTH model and unit, and then add an event in the Leader event file to spawn the general. If you look in the event file you can just choose a general from the region you want , copy and paste underneath, and then edit with the new general info and spawn date, then save.
The key is to remember to add both unit and model files, make sure all the new numbers, names, portrait names, and aliases make sense, and delete the cache file.
To just add a portrait, you need to add the new files to unit, portrait, and army folders within the graphics folder, and then edit the model file for that general to point to the correct graphic file. They will say genericgeneral for the clone generals.
Basic changes to the current stats of the leaders are easy as long as you are doing basic changes to the existing mdl file. Just figure out what you want to change and change it, the best way being comparison to other generals and see what works, i.e. adding lines for "Forager" "Charismatic General" etc., changing stats, or seniority
MAKE SURE TO DELETE THE CACHE FILE AT THE BOTTOM
First make a copy of the MDL file for the leader you want to change. Then open the original.
The main thing to remember is to add the TechUpgrade line in the original MDL file, and change the Max General rating to 2 or 3, and save it.
(compare you file to one star mdl files of already upgradable generals)
Rename the copy of the MDL file to make sense according to the number scheme, i.e Walker's original file is 357. His new file for his 2-star ratings will be 870
Then look at another 2 star upgrade MDL file, like 291 Johnson, and look at each line making sure to change 870 Walker accordingly so the image files, alias name, etc are correct.
Next add a line with correct name in the alias file on the bottom, and also the mdl alias file in the main alias folder. This will make the two mdl files talk to each other correctly.
The new alias name will need a 2 like the line in the MDL folder...
You can use the splitter, but I recommend going this route first until you see how each file is talking to the other.
Hope this helps. Give it a shot and then ask questions, that is what I did.