Written for hair... credits to Sunair for the original instructions, Nouk to translating those into something more understandable, and me for rewriting and clarifying the whole thing.
This is freaking HARD, okay? You have to be REALLY comfortable in SimPE, know your way around, and not be afraid to screw things up royally. Back up your files before you do this - even if you think you've done everything right there's still a 50/50 chance that you've messed up.
Avoid doing this at all costs - clone from meshes that have the right number of groups whenever possible! Gender does not matter - if you can find an opposite-gender mesh with the right number of alpha groups, use it and just change the gender value in your recolour file. Consider cloning from melodie9's hairs for all ages, with credit to her (which already have this done up to 9 groups for the longfuzzy hair) if you want a many-group hair for all ages.
I did this several times to get the sequence down with Nouk's instructions from Sunair's original instructions and I still messed it up about half the time. If you screw up, restore your backup, go have a cup of coffee and calm down, start over, and hopefully it'll work the next time. If it still doesn't work... restore your backup, go have a cup of coffee..... you get the idea.
For the Mesh package:
1. Start a new mesh package, fix integrity, save, etc. like you would normally do.
2. Edit the mesh in Milkshape, giving it the amount of groups you need. Make sure to give the new groups comments with the right values for their opacities and names. Export it as GMDC, then replace the GMDC in your mesh package with this one in SimPE as usual. Commit your changes.
3. Select the GMND resource, and go into Plugin View. In the Blocklist drop-down, select tsDesignModeEnabled.
4. Down at the bottom right, in the drop-down menu, Array should be selected.
Click add to add an array to the list. Select your new item just created, then type the name of the new group you added in Milkshape. You will see it change in the list as you type.
5. Repeat step 4 for each new group you added to the mesh. Commit your changes.
6. Select the SHPE resource. You should still be in Plugin View. Click on the Parts tab.
7. Select the last entry in the list, then click Add. It will clone the last entry. Change the number on the group to the first new group you added.
8. Repeat step 7 for each group you have added to your mesh. Commit your changes.
For the Recolor package:
1. Add your CRES and SHPE and link them in the 3DIR to the correct age as you usually do, to link the recolour package to your mesh. Remember to delete the CRES and SHPE from the package when you’re done.
2. If your new parts do not share a texture with the other layers (like Maxis hairs generally do), you can clone one of the existing TXTR files to add a new texture to your recolour package. Right-click on the TXTR resource and choose Clone.
Change the name of the file – all you need to do is a slight change, so change a 1 or a 2 in the filename to a 2 or a 3, for example. Then click Fix TGI to make your cloned TXTR unique. Replace the image in the TXTR with your own using Build DXT. Commit your changes.
This will make for a much larger image, uncompressed, than running it through Body Shop, so if you’re adding several images to your file, you may consider making new projects of the files once complete to compress the images.
If your new groups can share texture with existing groups, you can skip step 2.
3. Repeat for any further textures you may need to add. Try to keep additional textures to a minimum.
4. Clone the last MATD for the age you’re editing in the recolor package (i.e. if you’re adding hairalpha7 and hairalpha9, start by cloning the MATD for hairalpha5). Change the Filename to match your new group name, and then click Fix TGI to make your cloned MATD unique.
If you added a TXTR in step 2, make sure you edit the value under stdMatBaseTextureName to match the name you changed in your new TXTR. If you did not add a TXTR in step 2 and your new parts share texture with existing parts, leave that value alone. Commit your changes.
5. Repeat step 4 for each of the groups you’re adding.
6. Make a note of the Instance given to your new MATD(s) once you do Fix TGI. You’ll need these for the next step.
7. In the 3DIR for the age you’re adding these parts for, press the Package button. Look in the list of MATDs for the item with the instance number of your first MATD, and drag it to the bottom of the list. Count down from the top line to find which line number your MATD is on – The first line in the file is 0, the second line is 1, and so on. Make a note of what line your added MATD is on.
8. Repeat step 7 for any further parts you need to add MATDs for, adding them, in order, to the bottom, and making note of the line number. If you’re doing this for multiple ages (adult/young adult/elder) you can do that now too. Make sure to commit your changes when you finish in the 3DIR.
9. In the GZPS (Property Set) in Plugin View, select the numoverrides line, and change the value to the total number of groups in your mesh – add the number of groups you are adding to the existing value.
10. Look down in the list and find the last override#shape entry. Select it, and then click Add. This will clone it at the bottom of the list. Change the name to add 1 to the number… i.e. if the last item was override2shape, and you cloned that, then change the name to override3shape. Leave the Type (dtUinteger) and value (0x00000000) parts alone.
11. Look in the list and find the last override#subset entry. Select it, and then click Add. This will clone it at the bottom of the list. Change the name to add 1 to the number, to match the override#shape entry you just did. Leave the Type (dtString) alone, but under value, change it to the name of the first group you are adding – if it says hairalpha5, change it to hairalpha7.
12. Now select the last override#resourcekeyidx entry, then click Add. Again, this will clone it at the bottom of the list. Change the name to add 1 to the number, to match the override#shape and override#subset entries you just did. Again, leave the type (dtUInteger) alone. Change the value to the line number of the first material definition you added in the 3DIR – the note you made in step 7. Remember, we’re counting in hex here… 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11, etc. – if you’re unsure about what your line number would be in hex, you can always use SimPE’s number converter to check.
13. Repeat steps 10-12 for any additional groups you are adding. You can clone your last entries you just added. Commit your changes when you’re done.
14. Repeat steps 9-13 for any like ages (young adult/elder) if necessary in those 3DIRs.
15. For unlike ages (if you also need to add teen or child groups) do each set one at a time, get it working, then save a backup before you do the next set!