StarboardParoxysm
7th Mar 2007, 12:01 PM
:here: Mixed Method Skintone Defaults?
For a long time, people have been making default replacement skintones for the Sims 2 by creating a package that overrides the default textures. Because these packages are all made by importing the textures into the .package file in SimPE, they often end up quite a bit larger than a non-default skintone file compressed by Body Shop, and generally are duplicates of skintones that users already have as non-defaults.
However, there is a better way: use material definitions as the default replacement files, making for much, much smaller packages. Unfortunately, it doesn't work for all the textures: faces still have to be replaced via texture replacement, due to an error in aging if you do it with material definitions. Even so, this "mixed method" still makes for MUCH smaller files than the traditional method of default replacements for skintones.
:here: You will need:
SimPE (http://simpe.ambertation.de)
A complete, working non-default set of four skintones which you would like to make into a default replacement set.
A mixed method default set, which you will use as your base for creating your own mixed method defaults. The easiest thing to do is to just use an existing package and replace all the important info in it - you are welcome to use my Idolatry of Flesh (http://www.modthesims2.com/member/showthread.php?t=221480) default package for this purpose.
Preexisting knowledge of SimPE and of making default replacements "the old way." This is NOT a tutorial for an absolute beginner, but for people who have done it by the full-texture-replacement method and are looking for something better. I will not be explaining every little thing here with pretty pictures - you are expected to know what you're doing enough to read the text and get it from that.
:here: DEPENDENT DEFAULTS!
You MUST make it clear to people who are downloading your defaults that it is REQUIRED that they have the non-defaults to work! You are merely pointing the game at the non-defaults to use as defaults, so if downloaders don't have the right non-defaults, they'll get flashing blue, patchy, or white with writing textures on their sims.
Make it big, bold, and clear that they have to have both the defaults and non-defaults if they want to use the defaults at all!
:here: How it's done:
1. First, you need to find the info for each texture file in your non-default packages. To do this, you'll need to open the non-default packages in SimPE and get the info from the Material Definition.
Start by opening the skintone you intend to use as the Light version.
A. Click on the Material Definition type in the Resource tree.
B. Then, sort the Resource List by Name by clicking on the Name heading. This will arrange the resources nicely so we can see what's what.
C. Click on the first one in the list. It should say "afbodycut" in the name.
D. Make sure you're in plugin view.
E. Now, in the Material Definition's properties list, look for the line that starts "stdMatBaseTextureName" and click it to select it.
F. Over on the right will be a box with the Value. The hex string you see there points to the texture that the skintone uses for the adult female fit/cut body. Select it and copy it.
Now open Notepad and make a new text document. This document will hold all of our values that we get from the Material Definitions. It's REALLY important that you use the exact right value for each thing, so make sure you're really careful when setting up and editing this document.
Now, you need to lay out the document according to how your skintone works. Many skintones share textures for certain things... For example...
My skintone uses the same textures for all the faces except babies, who have no teeth, so they use a toothless face texture. Teen females and adult females share body textures - elder females get their own because their boobs sag. Teen, adult, and elder males also all share body textures. For those ages that have fit/fat/normal textures, fit and normal are the same - fat has a separate texture. Everyone uses the same scalp.
So, with that in mind, I lay out my text file thusly, and paste the first value, for the adult female fit/cut into the first blank:
-LIGHT-
AF/TF Cut/Normal: ##0x5fae7629!0x4cccd2f3
AF/TF Soft:
EF Cut/Normal
EF Soft:
AM/TM/EM Cut/Normal:
AM/TM/EM Soft:
Baby:
Toddler:
Child:
Scalp:
-TAN-
AF/TF Cut/Normal:
AF/TF Soft:
EF Cut/Normal
EF Soft:
AM/TM/EM Cut/Normal:
AM/TM/EM Soft:
Baby:
Toddler:
Child:
Scalp:
-MEDIUM-
AF/TF Cut/Normal:
AF/TF Soft:
EF Cut/Normal
EF Soft:
AM/TM/EM Cut/Normal:
AM/TM/EM Soft:
Baby:
Toddler:
Child:
Scalp:
-DARK-
AF/TF Cut/Normal:
AF/TF Soft:
EF Cut/Normal
EF Soft:
AM/TM/EM Cut/Normal:
AM/TM/EM Soft:
Baby:
Toddler:
Child:
Scalp:
If your skins share textures for all fitness states, have a separate fat state, don't share between ages, or otherwise, yours may look somewhat different.
Look through the rest of the material definitions, and copy the appropriate values for each one, pasting them into your text file.
When you're done with the first section, it should look something like this:
-LIGHT-
AF/TF Cut/Normal: ##0x5fae7629!0x4cccd2f3
AF/TF Soft: ##0x5fae7629!0xd31345dc
EF Cut/Normal: ##0x5fae7629!0x6aaf2d7a
EF Soft: ##0x5fae7629!0x17d6311a
AM/TM/EM Cut/Normal: ##0x5fae7629!0x9de31349
AM/TM/EM Soft: ##0x5fae7629!0x5b5ac378
Baby: ##0x5fae7629!0x1f488cd9
Toddler: ##0x5fae7629!0x4c3dc820
Child: ##0x5fae7629!0x6d8301bb
Scalp: ##0x5fae7629!0xec0c12d8
2. Now that we have all the body and scalp textures, we need to export the facial textures to do that part of the mixed method - you should know how to do this if you've done the full-texture-replacement method defaults before. Make sure you name the exported files something descriptive so you know which is for the right gender/age.
If you have made the base skintones yourself, it's better to skip this step and just use your original, uncompressed .bmp files once you get to importing textures.
Close the non-default package without saving - you don't need to change anything about it, just get stuff from it.
3. Repeat steps 1 and 2 for each of the other three non-default skins: go in and get the values for each of the body textures and scalp, then export the images for the facial textures if needed.
4. Now you need to put all the information and textures together into a default package.
A. Click on the Material Definitions in the resource tree.
B. Then click on the Name heading over in the resource list to sort everything by name.
C. Click on the first material definition in the list - it should end with "afbodynaked_nude_s1"
D. You should still be in Plugin View.
E. Click on the line in the material definition's properties list that starts with "stdMatBaseTextureName"
F. Switch back to your Notepad document, and copy the value that you pasted there before, for the adult female body texture, normal fitness level, including the ## part at the beginning - so I would copy ##0x5f49483a!0xdd6a449 and then paste it into the lower blank over on the right.
G. Make sure to Commit so your changes are saved.
Now, you're just going to repeat the same thing... 276 times, until you have changed every material definition in the file. :P
A few things that you need to keep in mind as you do this:
There will be top, bottom, and body textures for adults, elders, teens, and children. You will need to paste the same values three times for each age group and fitness level - more if you're sharing textures for different fitness levels/ages... but you'll always be using multiples of threes for the body textures for those ages, so if you count to yourself as you paste "one, two, three (four, five, six)" it can help you make sure you've pasted enough times.
Babies have a little weirdness with their textures - "buheadbald" will use the BODY texture, not the face or scalp, so you'll use the baby body texture twice... "buheadbald" and "bubodynaked_nude"
It's easiest to do all of one age/gender, all four tones, and then move on to the next age/gender - than to work by tone.
When you Commit, the text for that line will go italic. That way, you'll know you're done with that one - lines that aren't italic haven't been changed yet. When you save, though, all the lines will go back to normal, so either wait to save till you're done (risky, SimPE can crash) or, as advised above, do all of one age/gender so you can, say, get all the adult female textures done, save, then start on the adult male, save, etc., and know you haven't skipped anything.
When you have changed all the material definitions, you're almost done!
5. The last thing to do is go in and replace the 32 textures in the face files with the textures you want for the faces on your default replacement, the same as you would for a normal default replacement package.
You may notice the teen female face textures are missing. This is because teen females use the adult female face textures by default. If I had a dollar for every time Maxis default setups made me go, "Huh?" I'd be a rich girl.
6. Now, you should be done with all your changes! Pat yourself on the back, and go take a break - that was tedious, wasn't it?
7. You're still not done yet. Now you need to TEST YOUR DEFAULTS!!! This is very important - you probably did screw up one or two things.
8. Remember: if you share your defaults with others they need to know that they have to go download the originals for your defaults to work!
For a long time, people have been making default replacement skintones for the Sims 2 by creating a package that overrides the default textures. Because these packages are all made by importing the textures into the .package file in SimPE, they often end up quite a bit larger than a non-default skintone file compressed by Body Shop, and generally are duplicates of skintones that users already have as non-defaults.
However, there is a better way: use material definitions as the default replacement files, making for much, much smaller packages. Unfortunately, it doesn't work for all the textures: faces still have to be replaced via texture replacement, due to an error in aging if you do it with material definitions. Even so, this "mixed method" still makes for MUCH smaller files than the traditional method of default replacements for skintones.
:here: You will need:
SimPE (http://simpe.ambertation.de)
A complete, working non-default set of four skintones which you would like to make into a default replacement set.
A mixed method default set, which you will use as your base for creating your own mixed method defaults. The easiest thing to do is to just use an existing package and replace all the important info in it - you are welcome to use my Idolatry of Flesh (http://www.modthesims2.com/member/showthread.php?t=221480) default package for this purpose.
Preexisting knowledge of SimPE and of making default replacements "the old way." This is NOT a tutorial for an absolute beginner, but for people who have done it by the full-texture-replacement method and are looking for something better. I will not be explaining every little thing here with pretty pictures - you are expected to know what you're doing enough to read the text and get it from that.
:here: DEPENDENT DEFAULTS!
You MUST make it clear to people who are downloading your defaults that it is REQUIRED that they have the non-defaults to work! You are merely pointing the game at the non-defaults to use as defaults, so if downloaders don't have the right non-defaults, they'll get flashing blue, patchy, or white with writing textures on their sims.
Make it big, bold, and clear that they have to have both the defaults and non-defaults if they want to use the defaults at all!
:here: How it's done:
1. First, you need to find the info for each texture file in your non-default packages. To do this, you'll need to open the non-default packages in SimPE and get the info from the Material Definition.
Start by opening the skintone you intend to use as the Light version.
A. Click on the Material Definition type in the Resource tree.
B. Then, sort the Resource List by Name by clicking on the Name heading. This will arrange the resources nicely so we can see what's what.
C. Click on the first one in the list. It should say "afbodycut" in the name.
D. Make sure you're in plugin view.
E. Now, in the Material Definition's properties list, look for the line that starts "stdMatBaseTextureName" and click it to select it.
F. Over on the right will be a box with the Value. The hex string you see there points to the texture that the skintone uses for the adult female fit/cut body. Select it and copy it.
Now open Notepad and make a new text document. This document will hold all of our values that we get from the Material Definitions. It's REALLY important that you use the exact right value for each thing, so make sure you're really careful when setting up and editing this document.
Now, you need to lay out the document according to how your skintone works. Many skintones share textures for certain things... For example...
My skintone uses the same textures for all the faces except babies, who have no teeth, so they use a toothless face texture. Teen females and adult females share body textures - elder females get their own because their boobs sag. Teen, adult, and elder males also all share body textures. For those ages that have fit/fat/normal textures, fit and normal are the same - fat has a separate texture. Everyone uses the same scalp.
So, with that in mind, I lay out my text file thusly, and paste the first value, for the adult female fit/cut into the first blank:
-LIGHT-
AF/TF Cut/Normal: ##0x5fae7629!0x4cccd2f3
AF/TF Soft:
EF Cut/Normal
EF Soft:
AM/TM/EM Cut/Normal:
AM/TM/EM Soft:
Baby:
Toddler:
Child:
Scalp:
-TAN-
AF/TF Cut/Normal:
AF/TF Soft:
EF Cut/Normal
EF Soft:
AM/TM/EM Cut/Normal:
AM/TM/EM Soft:
Baby:
Toddler:
Child:
Scalp:
-MEDIUM-
AF/TF Cut/Normal:
AF/TF Soft:
EF Cut/Normal
EF Soft:
AM/TM/EM Cut/Normal:
AM/TM/EM Soft:
Baby:
Toddler:
Child:
Scalp:
-DARK-
AF/TF Cut/Normal:
AF/TF Soft:
EF Cut/Normal
EF Soft:
AM/TM/EM Cut/Normal:
AM/TM/EM Soft:
Baby:
Toddler:
Child:
Scalp:
If your skins share textures for all fitness states, have a separate fat state, don't share between ages, or otherwise, yours may look somewhat different.
Look through the rest of the material definitions, and copy the appropriate values for each one, pasting them into your text file.
When you're done with the first section, it should look something like this:
-LIGHT-
AF/TF Cut/Normal: ##0x5fae7629!0x4cccd2f3
AF/TF Soft: ##0x5fae7629!0xd31345dc
EF Cut/Normal: ##0x5fae7629!0x6aaf2d7a
EF Soft: ##0x5fae7629!0x17d6311a
AM/TM/EM Cut/Normal: ##0x5fae7629!0x9de31349
AM/TM/EM Soft: ##0x5fae7629!0x5b5ac378
Baby: ##0x5fae7629!0x1f488cd9
Toddler: ##0x5fae7629!0x4c3dc820
Child: ##0x5fae7629!0x6d8301bb
Scalp: ##0x5fae7629!0xec0c12d8
2. Now that we have all the body and scalp textures, we need to export the facial textures to do that part of the mixed method - you should know how to do this if you've done the full-texture-replacement method defaults before. Make sure you name the exported files something descriptive so you know which is for the right gender/age.
If you have made the base skintones yourself, it's better to skip this step and just use your original, uncompressed .bmp files once you get to importing textures.
Close the non-default package without saving - you don't need to change anything about it, just get stuff from it.
3. Repeat steps 1 and 2 for each of the other three non-default skins: go in and get the values for each of the body textures and scalp, then export the images for the facial textures if needed.
4. Now you need to put all the information and textures together into a default package.
A. Click on the Material Definitions in the resource tree.
B. Then click on the Name heading over in the resource list to sort everything by name.
C. Click on the first material definition in the list - it should end with "afbodynaked_nude_s1"
D. You should still be in Plugin View.
E. Click on the line in the material definition's properties list that starts with "stdMatBaseTextureName"
F. Switch back to your Notepad document, and copy the value that you pasted there before, for the adult female body texture, normal fitness level, including the ## part at the beginning - so I would copy ##0x5f49483a!0xdd6a449 and then paste it into the lower blank over on the right.
G. Make sure to Commit so your changes are saved.
Now, you're just going to repeat the same thing... 276 times, until you have changed every material definition in the file. :P
A few things that you need to keep in mind as you do this:
There will be top, bottom, and body textures for adults, elders, teens, and children. You will need to paste the same values three times for each age group and fitness level - more if you're sharing textures for different fitness levels/ages... but you'll always be using multiples of threes for the body textures for those ages, so if you count to yourself as you paste "one, two, three (four, five, six)" it can help you make sure you've pasted enough times.
Babies have a little weirdness with their textures - "buheadbald" will use the BODY texture, not the face or scalp, so you'll use the baby body texture twice... "buheadbald" and "bubodynaked_nude"
It's easiest to do all of one age/gender, all four tones, and then move on to the next age/gender - than to work by tone.
When you Commit, the text for that line will go italic. That way, you'll know you're done with that one - lines that aren't italic haven't been changed yet. When you save, though, all the lines will go back to normal, so either wait to save till you're done (risky, SimPE can crash) or, as advised above, do all of one age/gender so you can, say, get all the adult female textures done, save, then start on the adult male, save, etc., and know you haven't skipped anything.
When you have changed all the material definitions, you're almost done!
5. The last thing to do is go in and replace the 32 textures in the face files with the textures you want for the faces on your default replacement, the same as you would for a normal default replacement package.
You may notice the teen female face textures are missing. This is because teen females use the adult female face textures by default. If I had a dollar for every time Maxis default setups made me go, "Huh?" I'd be a rich girl.
6. Now, you should be done with all your changes! Pat yourself on the back, and go take a break - that was tedious, wasn't it?
7. You're still not done yet. Now you need to TEST YOUR DEFAULTS!!! This is very important - you probably did screw up one or two things.
8. Remember: if you share your defaults with others they need to know that they have to go download the originals for your defaults to work!