Log in

Tutorial: Face Template Greediness - Creating Additional (Non-Default, >27) Face Templates

I've finally had some success with my project to work with Argon's tutorial on doing non-default replacement face templates - as in, having more than 27 face templates in your Bodyshop/CAS sims bin! It still requires further testing, but it seems that I've worked through some of the kinks in understanding.

The text you see is still almost entirely based off of Argon's tutorial, but I've clarified through trial and error a few of the more confusing parts for the non-awesome such as myself. :wink: Sadly, no pictures currently, but I will add a full written tutorial with pics for upload once I'm sure I have the process worked out. I would suggest having at least passing comfort with SimPE before attempting this, as it's rather tedious and somewhat finicky. I'll try and do my best to help with pictures later. :)

As always, feel free to contact with any issues or concerns.

* * * *

• Download Argon's base face archetype from the bottom of his tutorial at MATY here.
• Decide what facial features you want the replacement archetype to have, and then make & save cloned sims in BodyShop for all ages and genders (ie. adult female, adult male, elder female, elder male, teen female, teen male, child of either gender, toddler of either gender). Rename these package files in your Saved Sims folder for ease of access.
• Have a Name for your archetype.
• Have a temporary BodyShop project to later take a Group ID from – this means a BodyShop project in your EA Games/Sims 2/Projects folder.
• Have patience ~ this takes a while, but with this and attention to detail, it's very doable and really just consists of a lot of copy-and-pasting. :)

Ages: P = Toddler, C = Child, T = Teen, A = Adult/Young Adult, E = Elder
Genders: U = universal (P & C), F = Female, M = Male
"Extract" & "Replace" are right-click options in SimPE
blue text highlights a part of a name that does not always need to be included because it does not apply to all file types
"Step #" only ever refers to Steps in the same "Phase."

Phase I: Replacing the facial features of the template

1) Open your saved Bodyshop sim packages in SimPE. Extract the Geometric Data Containers (GMDC) from each of them. Each will have a normal and a LOD15 value. Extract them one at a time to an accessible folder somewhere and give them identifiable names following the format of: [age][gender][lod?].5gd (Ex: pu.5gd, pu_lod.5gd)
* Note: When you extract them, SimPE will make a .5gd file and a .5gd.xml for each GMDC. Just ignore the xml files, they do not enter into our process at any point.

2) Unpack "argon arch.rar" and rename the "argon arch.package" whatever you would like, then open it in SimPE.

3) Replace each GMDC in your opened renamed.package with the age-gender corresponding GMDC files you extracted in Step 1. A pop-up box will appear as soon as you do this, simply click yes to have it reloaded. Rename each file in its Filename box as follows:
Ex: afArchArgon_tslocator_gmdc, afArchArgonLOD15_tslocator_gmdc

The existing files will have "##0x1C0532FA!" at the beginning of each filename, you will later need to re-add this to your re-named filenames, however -

Note: I usually do all the regular gmdc files first, then all the LOD15 gmdc files so that I only have to worry about copy-and-pasting one name at a time, but that’s just my preference.

4) Click Commit. Now click Fix TGI. Once the instance number has changed, add ##0x1C0532FA! to the beginning of the filename. Click Commit again.
Ex: ##0x1C0532FA!afArchArgon_tslocator_gmdc

5) Repeat Steps 3-4 for all GMDC files.

6) Next, update the GMND files:
Change Filename to: [age][gender]Arch[name][LOD15?]_tslocator_gmnd
Copy this name to cObjectGraphNode (tab under Filename text box)
Click Commit
Add ##0x1C0532FA! to the beginning of the filename
Click Commit

Repeat for all GMND files.

7) Update the CRES files:
Change Filename to: [age][gender]Arch[name]_cres
Select "0x2: Practical" under the Blocklist drop menu (located immediately above the Filename text box), go to the cObjectGraphNode tab (fourth from right), and copy [name] there
Click Commit
Add ##0x1C0532FA! to the beginning of each filename (back in the original "0x0" Blocklist selection)
Click Commit

Repeat for all CRES files.

8) Update the SHPE files:
Change Filename to: [age][gender]Arch[name]_[name]_shpe
Click on Items tab below the Filename, and update the [name] section in the two items you see there
Click Commit
Add ##0x1C0532FA! to the beginning of the filename
Click Commit

Repeat for all SHPE files.

Phase II: Updating References

Background info/clarifications before continuing:
• Up to this point we have been working in SimPE’s Plugin view mode, which is a selected tab/button at the very bottom left part of the screen. For this phase, parts will be conducted in Resource view mode. This is accomplished by clicking on the Resource tab/button two to the right of Plugin tab/button.
• You do not need, but may want to have a text program open for this phase (Notepad, Excel, Word, etc.) to keep track of all the numbers we'll be copying and pasting.
• Sub Type = Instance High
• Instance values are a different set of numbers, but also necessary. Sub Type/Instance High and Instance values are available in the Resource View mode, rather than Plugin View mode that we’ve been using.
• BINX, XFCH, & 3IDR files types have a third-ish type of Instance value that is visible in the upper section of the window (rather than the lower section dedicated to the individual file). We will not be changing these, they are only valuable in helping us identify which age and gender the file is associated with. These instance values are named according to the scheme of: 0xFEBA0[age][gender]. Age is 01 for P, 02 for C, 04 for T, 08 for A, 10 for E. Gender is 1 for F, 2 for M, and F for Universal (C and P ages) – the universal gender identifier "F" is a hex code number and does not stand for Female.
For clarity, the list of the instance values named according to this scheme is included here:
AF = 0xFEBA0081
AM = 0xFEBA0082
CU = 0xFEBA002F
EF = 0xFEBA0101
EM = 0xFEBA0102
PU = 0xFEBA001F
TF = 0xFEBA0041
TM = 0xFEBA0042

1) Change into Resource view mode. Copy the Sub Type (Instance High) and Instance values from each of the GMDC files. I prefer to paste all these values onto a Notepad document to help me keep track and decrease jumping around betwen view modes. You will also need to copy these values from the SHPE files – to save time, I do this now as well.

2) Go back to Plugin view mode. Go to the GMND files. Copy the GMDC Sub Type (Instance High) and Instance values you took from Step 1 into their respective age/gender corresponding-GMND files in the Reference tab. Click commit.

3) Repeat Step 2, with the SHPE file values being copied into corresponding CRES Reference Tabs.

4) Repeat Step 2, with SHPE file values being coping into corresponding 3IDR files. For this file type, you can identify the age & gender of the file via the "0xFEBA0[age][gender]"instance value naming scheme listed above.
Note: Instead of a Reference Tab in Plugin view, you will see a single tab saying "3D ID Referencing File." You will see a string of numbers like this "Shape: ######## - ######## - ######## - 0xFEBA0[age][gender]" – you actually saw these numbers on the Reference tab of the other file types as well, but probably didn’t pay attention because they were automatically selected for you. Here, you need to click the Shape number string, then the File Type/Sub Type Class ID/Group/Instance set of boxes will be filled with the existing values. Proceed as you did with the other files types from this point. Just make sure you always click on the "Shape: number string" text for each file before you begin changing numbers, or else the changes won’t take.

Phase III: Group ID’s & Finishing Up.

1) Open your temporary BodyShop package in SimPE (the one specified in the "Before You Begin" section). Open a file (I like to use 3IDR, but I don't know that it matters) in Resource view mode, and copy a Group ID number from it.
* Note: If the Group ID you see is "0xFFFFFFFF", then you are looking at the wrong Group ID (probably in the wrong view mode, or the wrong type of Bodyshop project) - this will make the package not show up properly in Bodyshop.

2) Go back to your package's SimPE window. Change the existing Group ID's for the 3IDR, BINX, XFCH, & STR# files in Resource view mode to your new copied Group ID, then click commit. Make sure you do not change the Group ID values of the 3IDR or XFCH files that are visible when in Plugin view mode - this will make the package not show up properly in Bodyshop.

3) Go back into Plugin view mode and go to your BINX files. Copy the same new Group ID number to the "objectgroupid" line for each file and click commit – this is the only line in the Plugin view mode BINX files you need to change, do not worry about the rest of the list.

4) Now we need a new GUID for the package. Click Tools->Object Tools->Hash Generator at the top of the screen to use SimPE's Hash Generator. A pop up window will appear with String followed by a name (I've always changed the string name here, I don't know if it will affect things if you don't). It will have the options of CRC 24, CRC 32, and GUID; select GUID. A new hash value will appear at the bottom, copy this into the "family" line in each of the XFCH files (still in Plugin view) and click commit. You do not need to alter any of the other lines.

5) You can update the text in STR# if you wish to make it consistent with your file name, but there is no reason to think that this is strictly necessary.

6) Save the package file and exit SimPE. Place your new package file into your Saved Sims or Downloads folder (doesn’t matter). Start up BodyShop or Sims2 and see if the new template appears correctly – it will appear at the end of the list in the face template bin in BodyShop or CAS as a 28th-or greater face template.

Note: If you get to the very end here and see that a face shows up in Bodyshop, but it does not have the features of your desired face template, it is likely due to incorrect mesh references (Phase II) or failing to properly change Group ID’s (Phase III). If this happens, make sure you check the references and/or group id's in GMND, CRES, SHPE, and 3IDR files. If you note there are only problems in a single age-type, you only need to check that age's files - make a new Bodyshop clone with the original facial features and do the tutorial over again for just that age. I promise it won't seem as bad the second time around. ;)

* * * *

Argon at MATY for all the original work, base template, and tutorial.
KingTorrid at MTS for providing a successful example that I could reference.
Meshy at PBK for partnering in, thereby providing much-needed moral support.
Diekatze at MTS for doing her own edits & providing much-needed discussion.
FantasyRogue & Katu for their wonderful face templates and permission to muck around with them :)