View Full Version : Project: Making custom hair styles works with game genetics
pinhead
23rd May 2005, 04:16 AM
Ok. This is not a huge feature but will be something extra to play the game.
I recently found a way to make the custom hairs works with the game genetics. The objective of this thread is to know if will be good or bad to create values for hairtones, different of the maxis values, to be used by the custom content for each color tone.
I like to know what you guys think about this idea and give suggestions or positions about this topic.
Here is a list of the objective of this project for discuss:
Custom Hairs will work with genetics
Will be categorized as always, custom content, in the asterix section
Each color will have a unique value and you will set the right color genetic that will be used
When the game creates a Sim and read the genetic, will only use the custom hairs of that color genetic that you setted for get the correct hair
So far, i'm modifying manually to test and learn more about it and the problem that i found so far is that we need to create a value for each of the colors and share this value to all other custom hairs. In this way, the game read it as a color and will use all hairs that have this value to randomize the hairstyles.
If we don't do that, the custom hair will only be recessive or dominant but will not change to other hairstyle and be stuck with the same hairstyle.
Other thing is that if you don't have custom hairs for the guys (like me.. lol) if the child is a boy will use the father hair color.
I didn't thinking about change to maxis default values for colors because if we do that the hairs will be categorized in maxis section and you will have a huge and messed up section to choose a hair.
I like to hear what people think about it
so, feel free to leave a question or suggestion here.
thanks! :)
idtaminger
23rd May 2005, 04:22 AM
I think it's a great idea, but you know what else would be wonderful? If you could set a value for a CC hair, and it'll put the hair w/ the Maxis hairs of the same color. For example, you set a CC hair to blonde, and it'll appear when you click the blond icon, not the asterisk. This way, if you want a blond hairstyle, you won't have to scroll thru a ton of black, brown, or red hairs. You'd just have blond hairs to choose from.
Sorta like how they did the Jeannete Biederman mesh, but for all the hairstyles.
pinhead
23rd May 2005, 04:31 AM
Thanks for your post, idtaminger.
We, here in MTS2, already found how to do it in this way, but if you make that with all your custom contents will be a hell lot of mess.
if you interested here's the link:
http://forums.modthesims2.com/showthread.php?t=55427
I'm saying that because all custom hairs have an elder texture and if you have a blond, black, red, brown or multicolored of the same custom hair will appear in the grey catalog a copy of all same grey textures.
Hellfrozeover
23rd May 2005, 10:59 AM
It would be nice to be able to have new colours with the same Maxis styles like a genetic light brown/dark blonde which is dominant over blonde and red and weaker than brown or black or a strawberry blonde which is dominant over blonde and weak to red. A dark brown between black and brown would be nice too.
pinhead
24th May 2005, 01:37 AM
I think it's a great idea, but you know what else would be wonderful? If you could set a value for a CC hair, and it'll put the hair w/ the Maxis hairs of the same color. For example, you set a CC hair to blonde, and it'll appear when you click the blond icon, not the asterisk. This way, if you want a blond hairstyle, you won't have to scroll thru a ton of black, brown, or red hairs. You'd just have blond hairs to choose from.
Sorta like how they did the Jeannete Biederman mesh, but for all the hairstyles.
But i really don't like the idea of custom content to be place with maxis content. I think that for hair meshes is a good idea but just for recolors and alpha modifications is really bad. This is why i create this thread, if we made a new value for custom colors will use the genetics and will not mess up the maxis sections.
pinhead
24th May 2005, 01:42 AM
It would be nice to be able to have new colours with the same Maxis styles like a genetic light brown/dark blonde which is dominant over blonde and red and weaker than brown or black or a strawberry blonde which is dominant over blonde and weak to red. A dark brown between black and brown would be nice too.
Yes!! we will be able to do that for sure!!
You can choose a color to be set the correct genetic and all that colors will share the same value and the game randomize the hairstyles that use that value when create a sim (born or child created in CAS). This is why i create this thread! to know if will be cool have this feature or not. I need to discuss more about it before talk to quaxi to implement in scan folders plugin (if possible)
My idea is to chose what kind of color that hair will be categorized. And then, the genetics will work with the color that you setted for it.
RGiles
25th May 2005, 03:19 AM
It is my feeling, as I said before, that the * catagory in hair DOES NOT mean custom content. Because when Maxis shipped the game, they already had hair in this category. Those Maxis hairs are "dyed" hairs. Colors that can not be genetic. If we are putting our hair in with those hairs, we are already putting it in with Maxis content.
I find this organization unhelpful. When the Biederman hair was added, it showed up very clearly as custom content even though it had entries for black, blond, brown and red. I don't find anything about that confusing. It's clear that it's custom. It's clear that I can delete it, and it's clear that it's genetic and not a dyed hair color. I think that was a good choice.
I avoid creating sims with hair that shows up in the * category because I know that it will not be genetic. That is a useful indicator to me.
If I can still see that a user-created hair is user created because it is marked with a * but is also properly categorized so that I don't have to search through a huge list of thumbnails just to find the same hair in a different color, that I think is perfect. I don't like having everything on one bin. The way I'm organizing hair right now it exactly the same way that custom objects are organized. They go into the default categories but are marked as custom. I would not like it if I had to put all custom object meshes into one bin regardless of the type of object that it was. I don't like it any better with hairs.
Pinhead,
I am not sure why you consider it to be really bad that something like an alpha map change that is just a recolor get listed under the correct color category rather then under the * which means "Miscellaneous" in this case, not "Custom". To me this works exactly like the rest of the game. For clothing we have recolor listed in the Maxis categories (every day, formal, etc) rather than all in one bin. We can not tell by looking at the clothing catalog which is a new mesh and which is a Maxis mesh recolor. But we can see that they are custom content. If this is not too confusing for all other types of content, why would it be too confusing for hairs?
pinhead
25th May 2005, 05:58 AM
nice point.
well, for me the bad thing is that crap elder hair texture that exist with all custom packages...
maybe we can find a way to make just one thumbnail show up.
you told about using the family hash in property set for change the elder to "default" one that you choose.
You can do in other ways as well, but all of them, after you delete one package that isn't the "main" package, all the other will lost the elder.
other ways to not show the thumbnail:
set the flag to 0x00000009
change the MATD links in 3IDR to elder MATD of the main package, as well link to property set of that package.
For me, i don't understand yet why maxis didn't made a option for us to chose what type of color will be categorized. I can't understand. So, maybe, with expansion packs will add more and more new maxis hairstyles there and if all custom content go there will be hard to find the maxis ones.
My idea was just to keep the same way that maxis designed but with the genetics working.
Will be good to talk about it and i really like to hear other positions and ideas like yours. :)
RGiles
25th May 2005, 06:32 AM
What about making the elder hair a separate package? Really the process you described for merging all the colors into one package is the best one, but it is a very long process and I make mistakes every single time. :D
To avoid the problem I have where deleting the black hair makes me lose the grey hair too, what I could do is copy the black hair and rename that package to NameOfHairstyle_grey. Then I could remove the grey hair options from the black hair package. And remove everything except the elder hair from the grey hair package.
This is still not as a clean as your method of merging... better if you delete one, you delete them all. But this way if I delete the black hair but keep the blond hair, it will still age correctly.
For my own use, I am not really worried about making it hard to find the Maxis hairs. I think the * on the custom thumbnails is really clear, and I think this is the same situation that exists with clothes. Custom content is first in the catalog and marked with *, followed by all Maxis items. It may take a long time to scroll to the Maxis stuff just like it does in clothes, but I find this better than having to search through one bin just because I want to change to a different color of the same custom style. Having so many things in the * category has become a bad problem for me... can't find anything. Most creators don't even bother to say which color it is in the description, and you can't tell the difference in the thumbnails because they are all so dark.
I think it would have been better if Maxis had set it up this way to begin with, but that would have made bodyshop more complicated... because a user creating a red hair that is the same style as a blond hair they already created would need to have a way to select which "set" or family that hair belonged to, and they would have to avoid having 2 hairs of the same color get added to the same "set". So I can see why they didn't implement it.
pinhead
28th May 2005, 03:52 AM
What about making the elder hair a separate package? Really the process you described for merging all the colors into one package is the best one, but it is a very long process and I make mistakes every single time. :D
It's not a bad idea. Will eliminated the elder problem.
But other things must be study better.
For example, i downloaded a lot of Sims in the past months. Some of them had custom hairs that if you look inside the package has wrong color textures for other ages. Like the creator used a base color that is not the color that will be created. For example, using a red hair to make a black hair for adult females. They didn't change the other colors of the hair for toddlers, kids and teens. So, if we set that package to be placed in maxis color sections will put there red hairs in black section for toddlers, child and teens.
For correct that we will still need to edit the package manually or "create parts" using bodyshop and change the wrong colors. :/
I personally use SimPE to change all wrong textures but it's boring had to open every single hair package and make sure that proxy and textures are setted right and make the proper changes... :(
For my own use, I am not really worried about making it hard to find the Maxis hairs. I think the * on the custom thumbnails is really clear, and I think this is the same situation that exists with clothes. Custom content is first in the catalog and marked with *, followed by all Maxis items. It may take a long time to scroll to the Maxis stuff just like it does in clothes, but I find this better than having to search through one bin just because I want to change to a different color of the same custom style. Having so many things in the * category has become a bad problem for me... can't find anything. Most creators don't even bother to say which color it is in the description, and you can't tell the difference in the thumbnails because they are all so dark.
I think that you are right. I don't remember for sure what was my fear to do that. But maybe was exactly the problem that i described to you above.
So, if we just let them be as they are, only changing the genetics to be recessive or dominant and putting in the right "custom" color that we will create a value, will not mess with maxis color sections with wrong colors. And the custom hairs will be randomized in the game with the colors that they belong. All custom hairs. And one more thing, when randomized will not use hairs that are maxis or are setted in maxis color sections, so every time will appear just custom hairs when the game create a child, but only using the packages that were setting to use that color value.
what do you think about that?
RGiles
31st May 2005, 05:12 AM
Ah, I see your concern. I thought maybe it was about the Proxy value, which of course is often wrong. (So tedious to fix it, I agree.)
My proposal as I said elsewhere is pretty selfish. I just want to be able to organize my files in a way that I spend less time looking for the right thing and more time just creating or playing.
Since it would not be for files I am creating to share, but just a tool for personal organization, I wouldn't worry too much about these flaws. There definitely are flaws like you describe. But each user would be deciding for themselves whether they wanted to tolerate those flaws, I think. In fact they already are dealing with this problem when they download a new badly packaged red hair and that Sim has only blond children who magically turn into redheads when they child becomes a Teen or Adult.
However it would actually help to solve this if the colors were sorted in the color bins instead of the * bin. If I see a blond hair for a child in the * bin, I will assume any child with that hair will grow up to be a blond as an Adult. But if I sort the hair files by the color the creator said it was, and I see that I have a Blond child's hair in the Red hair bin, I will immediately know this package was made sloppily. I would know I need to remove certain files from the package to make it unavailable to ages that were not recolored.
I don't think there is a way to make a perfect solution, because we can not make all creators make perfect packages every time. Many of them have learned along the way about these problems and have improved a lot. But some people will always be a bit sloppy. I am less worried about perfect than about the fact that it may take me 5 minutes to find the brown hair of a particular style in the * bin, and knowing this will only get worse every time I install a new hair.
For me the best thing would be to have the ability to organize these files into categories of my choosing, but that's completely impossible in the game. So lacking that, I want to be able to use the 6 categories we were given rather than be restricted to only 1. Some imperfect organization would (for me) be an improvement over no organization at all.
pinhead
31st May 2005, 08:20 AM
Ah, I see your concern. I thought maybe it was about the Proxy value, which of course is often wrong. (So tedious to fix it, I agree.)
My proposal as I said elsewhere is pretty selfish. I just want to be able to organize my files in a way that I spend less time looking for the right thing and more time just creating or playing.
I understand.
I'm interested like you about that. To make my downloads not be a mess. And i'm a little tired fixing all that i got. It's so many things that we need to fix to work like we wish that playing time is almost none.
Since it would not be for files I am creating to share, but just a tool for personal organization, I wouldn't worry too much about these flaws. There definitely are flaws like you describe. But each user would be deciding for themselves whether they wanted to tolerate those flaws, I think. In fact they already are dealing with this problem when they download a new badly packaged red hair and that Sim has only blond children who magically turn into redheads when they child becomes a Teen or Adult.
Good point. Well, i don't know for sure, but an extra tool to do that will be cool. I was thinking that if some kind of tool was add to SimPE, other people that share contents will use it as well and then the problem will not go. Will be the same thing. We will need to open each package that we get and look if everything is fine there and correct what was not. So, i was thinking about a tool that will be used by downloaders and creators and find a way to not create more problems.
However it would actually help to solve this if the colors were sorted in the color bins instead of the * bin. If I see a blond hair for a child in the * bin, I will assume any child with that hair will grow up to be a blond as an Adult. But if I sort the hair files by the color the creator said it was, and I see that I have a Blond child's hair in the Red hair bin, I will immediately know this package was made sloppily. I would know I need to remove certain files from the package to make it unavailable to ages that were not recolored.
Hey!! Nice point!! I wasn't thinking about that.
I think you are right. And maybe the game will get all the hairs of that color when creating a child and maybe will not use the wrong custom hair.
If will be like this, i think now that will be the best choice!
I don't think there is a way to make a perfect solution, because we can not make all creators make perfect packages every time. Many of them have learned along the way about these problems and have improved a lot. But some people will always be a bit sloppy. I am less worried about perfect than about the fact that it may take me 5 minutes to find the brown hair of a particular style in the * bin, and knowing this will only get worse every time I install a new hair.
I agree. But my "quest" was just discuss about the better way (less problematic) to suggest in a tool. I was thinking that maybe creating a new way to categorize the custom contents was the better choice, but since you said that, now i think that the game will get other hairstyle for that color when a child is born. So, even if the creator didn't change the color of the textures to other ages, will not be so bad.
The only problem will be in the catalog, like i said before, that will show red color in a black catalog. Anyway, you can recreate or change the textures or delete the package for good. In the moment, is the only problem that i can imagine. lol
It is less problematic that my idea. I was just trying to find a way to keep like maxis designed but making the genetics work. However has some problems to both ways, my idea has other problems that will not be so good to use it.
Maybe placing the hair in the color bins will encourage the creators to change all ages when recoloring a hair. They will not like having wrong colors in their catalogs.
thanks, RGiles!
DarkMatter
3rd Jun 2005, 05:33 AM
Ok, I've read through this thread, as well as the original thread that started the project (I think). I've also done some research on the family and hairtone values of Skin propertysets (Type ID 0xEBCF3E27...I am not sure what SimPE calls them, but they also define Skintines and clothing).
Anyway, here is what I've learned. Please let me know if I've got anything wrong.
Hairtone Details
Hairtone: This property defines the hairton group, or the color grouping. It has the following known values:
Black: 00000001-0000-0000-0000-000000000000
Brown: 00000002-0000-0000-0000-000000000000
Blond: 00000003-0000-0000-0000-000000000000
Red: 00000004-0000-0000-0000-000000000000
Gray: 00000005-0000-0000-0000-000000000000
Other/Styled: 00000006-0000-0000-0000-000000000000
In the last hairtone group, "6", I've seen hair colors of all colors, including Strawberry, Pink, Blue, Green, Blond Streaked, Streaked (elder only...so far), etc. I figure it for styled hairs, rather than your normal, standard hairtones. The Gray hairtone is used for elder sim versions of the adult sim, regardless of the normal color.
family: This property groups sets of hairtones. While you can define a hairtone to be in a specific color group, you can group hairtones of different colors under a family. There should be 4 hiartones in a family (black, brown, blond, red), but you can also have styled hairtones in a family of their own. I've never seen a family that had both the 4 base colors and a styled hairtone...I'm not sure if its possible or not. There are also some families that don't seem to have an easily recognizable pattern to their contents. Try looking for skin propertysets that have a family of: 1924713d-f403-4017-9b9c-a789c43c1132 (DatGen has a very good search feature that will let you do this...just paste the family code into the criteria area in the search, and search using ASCII mode. Use Skins.package from the base game files.)
genetic: This is a floating point value...its normally 0. Actually, I've never seen any other value, although I'm assuming 1 is fully genetic, 0 is not genetic at all. Since this is a float value...I'm assuming there can be grades of genetic? I.E. Something with a value of 0.1 would be more recessive than a value of 1.0 (which would be fully dominant)?
name: This is the name of the skintones texture. The name can be anything I think, but maxis has a convention they follow. It uses the following pattern:
"tfhairhatbucket_camo_blond"
<a><g><rt>[st]<n>_[g2]_<g1>_[s]
WHERE:
<> = required
[] = optional
a = age: p=toddler, c=child, t=teen, a=adult/elder, (e=elder <-- invalid?), u=universal
g = gender: u=universal, m=male, f=female
rt = root type, i.e. "hair"
st = sub type, i.e. "hat"
n = descriptive name
g2 = secondary grouping, i.e. "camo" in "tfhairhatbucket_camo_blond"
g1 = primary grouping, i.e. "blond" in "tfhairhatbucket_camo_blond"
s = suffix...dunno, not sure, optional :P
override*: I've noticed that many hairtones include overrides. I'm not exactly sure how these work, but hats always seem to have them, and some strait hair hairtones have them. I'm assuming they allow additional textures to be overlayed on top of the base hairtone texture. A deeper explanation of how these work would be helpful.
There are also Hairtone property sets. These... I'm not exactly sure what they do, but I think there is one per hairtone color. For example...if someone creates a new hairtone set, with black, brown, blond and red. There would be a hairtone propertyset for each one, associated by the family GUID.
Properly Categorizing Hairtones
The original reason I got involved in this project was to write a plugin to allow users to define which hairtones fall under the same family, and which of those hairtones in that family are black/brown/blond/red.
Assuming that the content creator who made the hairtones did their job correctly (excepting the hairtone/family part), properly organizing hairtones should be pretty strait forward. The process would be as follows, at least as far as I understand it:
1) Allow the user to load packages into DatGen, or choose to have the plugin automatically search for hairtone files (Skin type Property Sets...Type ID 0xEBCF3E27) in all packages in the downloads directory. Search for hairtones in the specified set of packages.
2) Display the found hairtones, organized by current family and probably alphabetized by the <g1> part of the name property.
3) Allow the user to flag a black, brown, blond, and red hairtone, and possibly others (i.e. Gray, styled).
4) Provide a button that, when clicked, updates the selected hairtones. The hairtone value is set appropriately, a new family ID is generated and assigned to each skin. The Hairtone Property Sets (type id 0x8C1580B5) that have the original family ID and a name property that matches the correct color (i.e. if the skin property set had a hairtone of 00000003-0000-0000-0000-000000000000, then the name of the hairtone property set would be "Blond") will also have their family GUID updated.
When the process is done, the hairtones selected by the user should properly show up in the CAS when creating a sim (or in bodyshop). The user can then go and select different hairtones and repeat the process, or exit the plugin.
Let me know if any of my understanding of skin and hairtone property sets is wrong, and if my process is wrong in any way. I'm hoping to finish the plugin by friday night or saturday.
pinhead
3rd Jun 2005, 06:50 AM
Ok, I've read through this thread, as well as the original thread that started the project (I think). I've also done some research on the family and hairtone values of Skin propertysets (Type ID 0xEBCF3E27...I am not sure what SimPE calls them, but they also define Skintines and clothing).
Anyway, here is what I've learned. Please let me know if I've got anything wrong.
Hairtone Details
Correct. The sixth type will be multicolored and be placed in * bin.
family: This property groups sets of hairtones. While you can define a hairtone to be in a specific color group, you can group hairtones of different colors under a family. There should be 4 hiartones in a family (black, brown, blond, red), but you can also have styled hairtones in a family of their own. I've never seen a family that had both the 4 base colors and a styled hairtone...I'm not sure if its possible or not. There are also some families that don't seem to have an easily recognizable pattern to their contents. Try looking for skin propertysets that have a family of: 1924713d-f403-4017-9b9c-a789c43c1132 (DatGen has a very good search feature that will let you do this...just paste the family code into the criteria area in the search, and search using ASCII mode. Use Skins.package from the base game files.)
I don't know if i understand what you said. But Family (dtString) inside property set is used to make a "set" of the different ages to use the correct hairstyle when aging.
In Hairtone Property set, this value is used as the base for create a unique Hairtone value of the custom content inside the age property sets.
genetic: This is a floating point value...its normally 0. Actually, I've never seen any other value, although I'm assuming 1 is fully genetic, 0 is not genetic at all. Since this is a float value...I'm assuming there can be grades of genetic? I.E. Something with a value of 0.1 would be more recessive than a value of 1.0 (which would be fully dominant)?
The genetics are:
0 - used by default for custom hairs, maxis multicolored and maxis grey. I think that this value ignore the genetic system.
1 - used for black and brown. are dominants
2 - used by blond and red. recessives
name:
Sorry. I don't know too much about naming stuff. But i always use like maxis,
and like you already stated. afhair(nameofthestyle)_blond
So, i think is right waht you said, but not sure.
override*: I've noticed that many hairtones include overrides. I'm not exactly sure how these work, but hats always seem to have them, and some strait hair hairtones have them. I'm assuming they allow additional textures to be overlayed on top of the base hairtone texture. A deeper explanation of how these work would be helpful.
Once again i'm not sure about what you said. What i can tell you that i know is the "overridesubset" are the groups that the mesh has. So, the 3IDR use the order stored there to organize the textures by MATD. But, the MATDs references inside 3IDR have to be in the exact order stored in the property sets or the textures will be placed in wrong subsets (groups of the mesh)
There are also Hairtone property sets. These... I'm not exactly sure what they do, but I think there is one per hairtone color. For example...if someone creates a new hairtone set, with black, brown, blond and red. There would be a hairtone propertyset for each one, associated by the family GUID.
Exactly. Each color when creating inside bodyshop will use the Family of Hairtone Property Set for create the hairtone value of the Age Property set.
I was thinking that you said that already, or Am i understanding wrong?
Properly Categorizing Hairtones
The original reason I got involved in this project was to write a plugin to allow users to define which hairtones fall under the same family, and which of those hairtones in that family are black/brown/blond/red.
Assuming that the content creator who made the hairtones did their job correctly (excepting the hairtone/family part), properly organizing hairtones should be pretty strait forward. The process would be as follows, at least as far as I understand it:
1) Allow the user to load packages into DatGen, or choose to have the plugin automatically search for hairtone files (Skin type Property Sets...Type ID 0xEBCF3E27) in all packages in the downloads directory. Search for hairtones in the specified set of packages.
2) Display the found hairtones, organized by current family and probably alphabetized by the <g1> part of the name property.
3) Allow the user to flag a black, brown, blond, and red hairtone, and possibly others (i.e. Gray, styled).
4) Provide a button that, when clicked, updates the selected hairtones. The hairtone value is set appropriately, a new family ID is generated and assigned to each skin. The Hairtone Property Sets (type id 0x8C1580B5) that have the original family ID and a name property that matches the correct color (i.e. if the skin property set had a hairtone of 00000003-0000-0000-0000-000000000000, then the name of the hairtone property set would be "Blond") will also have their family GUID updated.
The item 4 i didn't understand correctly i think. The others items are exactly what we are looking.
"hairtone value is set appropriately,a new family ID is generated and assigned to each skin"
you meant that use the maxis IDs for the colors, right? and skins are the property sets that have Age flags, right? i'm a bit confuse, sorry.
"(i.e. if the skin property set had a hairtone of 00000003-0000-0000-0000-000000000000, then the name of the hairtone property set would be "Blond") will also have their family GUID updated"
Family GUID will be 00000003-0000-0000-0000-000000000000?
the name stored there i think is not so important.
could you please look into "proxy (dtString)" inside Hairtone Property Set to update to the same value as well?
Let me know if any of my understanding of skin and hairtone property sets is wrong, and if my process is wrong in any way. I'm hoping to finish the plugin by friday night or saturday.
I think that is correct.
thanks for your effort! :)
pinhead
3rd Jun 2005, 06:56 AM
family: This property groups sets of hairtones. While you can define a hairtone to be in a specific color group, you can group hairtones of different colors under a family. There should be 4 hiartones in a family (black, brown, blond, red), but you can also have styled hairtones in a family of their own. I've never seen a family that had both the 4 base colors and a styled hairtone...I'm not sure if its possible or not. There are also some families that don't seem to have an easily recognizable pattern to their contents. Try looking for skin propertysets that have a family of: 1924713d-f403-4017-9b9c-a789c43c1132 (DatGen has a very good search feature that will let you do this...just paste the family code into the criteria area in the search, and search using ASCII mode. Use Skins.package from the base game files.)
I think that now i understand exactly what you said. If you were saying about family of Hairtone Property Set and not the age skin property set.
Yes! I made some test and my idea (we discarded this idea already)was create a unique hairtone value to be placed in family. So, when the game reads that will think that is a color and will get all files that use that value to make a group. So, when creating a child in CAS using the genetics will randomize the hairstyles that was setted for this color (family value of Hairtone Property Set and hairtone value of age property sets)
DarkMatter
3rd Jun 2005, 09:22 AM
Well, I don't think words can explain what I was saying, exactly. So, I've put together a screenshot. Below is a shot of DatGen's property set viewer, with a Skin type property set loaded. I've highlighted the family in red, the hairtone in blue, and the list of files in green.
http://www.datgen.info/site/datgen/skin_psets.gif
The family, boxed in red, links up different colors of the same hair "style". To be more precise, most families have a black, brown, blond and red version of the Skin PSET files. Some families have more (or much more).
The hairtone color group, boxed in blue, defines what base color or style group the hairtone falls under. As I listed in my previous post, there are 6 possible groups, adding Gray and Colored/Styleized to the 4 standard. Some families only have the 4 base colors, for a single gender at a single age. Other families have the 4 base colors, for single genders at multiple ages. But, generally, within each family, you can always find sets of 4 hairstyles for a single gender at a single age. (I am unsure yet why some families only have hairtones for a single gender at a single age, and others have hairtones for a single gender at multiple ages). Some of the families that have multiple ages will also have elder hairstyles.
In the screenshot, you can also see a list of files, boxed in green. There are 8 files, all with the same family ID (same as in red box). Of those 8, 4 are normal hairtones, black, brown, blond, red (each with the correct hairtone value...blue box). There are also 4 hats...one for the black, brown, blond, and red hairtones each.
The hairtone property in the Skin PSET defines the color group. The family property in the Skin PSET groups up hairtones into a set. Basically, you use the family ID to say, here is a particular style..."long hair", in 4 different colors, the colors being defined by the hairtone value. Hair tones also always seem to be defined for specific genders.
Additionally, the Gender value, the Float32, which you can see in the screenshot. That value is almost always zero, and I say almost because I think I remember seeing a hairtone that had a 1. But its a float value, and I've never seen it equal 2, and only 1 the one time. Since its a float, if its used, its doubtful that it will always be in whole numbers. If I can ever find an instance where its used, I could get more info, but, I don't think it is used in hairtones.
pinhead
3rd Jun 2005, 11:00 AM
Oh! i think that now i understand.
Yes. The red value have to be the same for all colors of the same hair mesh (for example. Could be just an alpha change in the hair and have to use other value for not conflict with other hair). For example, each hairstyle have to use a unique family value and use in all property sets the same value (in red) for when changing the color catalog and ages keep the same hairstyle.
One thing that maybe help is that the custom hair use the Hairtone property set like a base for the other property sets. For example, if you change the genetic of a custom hair only in hairtone PSET file you can override all the "zero" in genetic field of the others PSETs.
But, the family ID of the Hairtone PSET will be the ID of "hairtone" field in others PSETs.
RGiles
3rd Jun 2005, 12:16 PM
DarkMatter,
You've described it all very well. The only thing I can think of to add is the Proxy value in the Hairtone XML file (which DatGen calls Hairtone property sets, if I understand correctly. They contain a value called "proxy" which uses the same haircolor values as the skin type property set. This value calls the appropriate color for eyebrows and other facial hair, but doesn't affect the genetic haircolor of offspring.
Sometimes when people create a new hair color set, they begin by cloning only one hair color, and use that as a base to import all their new hair colors. But if they started with blond, the Proxy value will be 00000003-0000-0000-0000-000000000000 in every package they make, which results in things like black-haired sims with blond eyebrows and beards. :) Lovely, you can imagine. So this value would need to be corrected to be the same as the genetic value for the hair.
I don't know if 00000006-0000-0000-0000-000000000000 is ever a valid value here. I doubt it.
Also normally we wouldn't pick a separate file for Grey because grey would be included in every separate haircolor package.
Thanks again
RG
Airelda
3rd Jun 2005, 12:29 PM
I would love for the hair to be re-classified with the correct genetic properties according to colour. My way around this at the moment is to always create a new sim with Maxis hair in CAS, then give them more attractive custom hair in-game.
Having the hair correctly classified would save time when looking for a hair in a particular colour, and would add interest to the game when babies turn into toddlers too - they could transform with cuter custom hair!
DarkMatter
3rd Jun 2005, 06:32 PM
Ok...so, when I perform the update after the user selects the associated hairtones. In addition to doing everything I described, I also update (or add if its not there) a Proxy property to the Hairtone PSET. This properties value should match the corrosponding Skin PSET for each color. For example, if I have a Blond Skin PSET, the Proxy for the corrosponding Hairtone PSET should be 00000003-0000-0000-0000-000000000000. Correct?
Now, a question. Not everyone packages their hairtones the same, and not everyone creates full sets of the 4 base hair tone colors. DatGen can just list all the hairtones from a group of files, and update each file according to what the user chooses. The property sets (this term, BTW, is Maxis' official term for the binary and xml files that contain properties) would remain in their original packages.
It should also be possible to create an overriding package. When the user chooses the hairtones they wish to group into a genetic family, instead of updating the original files in their original packages, I can create an overriding package. This package would contain all the Skin and Hairtone PSETs that the user chose to update, with the neccesary changes. These files would use the same TGIR's as the original files, though. That would force this new package to override the original data when its placed in the downloads folder. It also allows the user to remove the changes very easily later on.
I'm not sure how you guys want this done, so let mek now.
DarkMatter
4th Jun 2005, 04:53 AM
I've run into a few problems writing this plugin. It seems that content creators never change any of the names in the Skin PSETs. So, at least for all the custom hairtones I've downloaded, everything says "blond", even if its black, brown, or red. The only thing that does not say blond is the gray elder version of the hairtone.
So, when you guys read this next time your on, I could use some ideas as to how you guys would preferr I list and categorize the hairtones I find. I am not exactly sure how you were hoping the hairtone "geneticizer" (as I'm calling the plugin) would work.
Until I get a reply and we can discuss this further, I'm going to work on the download folder cleanup plugin.
pinhead
5th Jun 2005, 02:09 PM
I don't know exactly what you are trying to make the plugin does, but like i said before, the names in property set are not important. All property sets of a custom hair are clones from maxis hair. The MATDs of a custom hair didn't have names like the original maxis hair base, so is not important change the names there. But will be if you will merge the colors in one package.
The most important thing is hairtone value GUID. And the family GUID that sets the correct "group" of colors to be linked.
The proxy value inside Hairtone PSET is important also, because will inform to the game what color of eyebrows and facial hair will be used when this hairstyle is using.
What exactly the plugin will make?
pinhead
5th Jun 2005, 02:20 PM
Ok...so, when I perform the update after the user selects the associated hairtones. In addition to doing everything I described, I also update (or add if its not there) a Proxy property to the Hairtone PSET. This properties value should match the corrosponding Skin PSET for each color. For example, if I have a Blond Skin PSET, the Proxy for the corrosponding Hairtone PSET should be 00000003-0000-0000-0000-000000000000. Correct?
Correct.
But what you mean about "add a proxy value if it's not there"?
All custom hairs that i know have this field.
Now, a question. Not everyone packages their hairtones the same, and not everyone creates full sets of the 4 base hair tone colors. DatGen can just list all the hairtones from a group of files, and update each file according to what the user chooses. The property sets (this term, BTW, is Maxis' official term for the binary and xml files that contain properties) would remain in their original packages.
Ok, i understand.
Not all creators do all colors. Now i think that is something more to think about it. If the creators do all colors, the family value will be the same to all colors. So, how the plugin will know when do that and when don't?
It should also be possible to create an overriding package. When the user chooses the hairtones they wish to group into a genetic family, instead of updating the original files in their original packages, I can create an overriding package. This package would contain all the Skin and Hairtone PSETs that the user chose to update, with the neccesary changes. These files would use the same TGIR's as the original files, though. That would force this new package to override the original data when its placed in the downloads folder. It also allows the user to remove the changes very easily later on.
I'm not sure how you guys want this done, so let mek now.
I'm not sure about that. I runned with some problems when i was converting hairs to genetics keeping the same group/instance/subtype of the custom hair. When i downloaded a sim that was using the hair that i modified, bodyshop deleted the property sets and 3IDR that was using the same instance ID. Like to avoid conflicts.. i'm not sure. I don't know why.
DarkMatter
6th Jun 2005, 03:24 AM
"I don't know exactly what you are trying to make the plugin does, but like i said before, the names in property set are not important."
Well, to the game, the names arn't important. But, to a user using the plugin I'm writing, having everything named exactly the same (with the only difference being group ID), will make finding and flagging the right hairtones very difficult.
I'm very meticulous in the way I write my tools. I try to think about both what the game is going to do with the files, AND what the user is going to do with them. A lot of things don't matter to the game, like names in PSETs, but they do matter to a human using a tool to edit the files. My attempts to solve these little problems like this are part of the reason DatGen is behind the curve in terms of what people are doing with modding tools. I like to release complete, stable tools that are both easy to use and won't corrupt files or peoples games. Its a really hard task to accomplish, too, because every time I start digging, more and more issues find their way to the surface. >.<
"When i downloaded a sim that was using the hair that i modified, bodyshop deleted the property sets and 3IDR that was using the same instance ID."
I'm not sure if I understand, but did the game actually delete files from a custom content package? That surprises me a bit, but I wouldn't put it past Maxis to do something like that. I don't know how TS2 handles TGIR overrides, but SimCity 4 allowed overriding files. As long as the file you wanted to override another was loaded after the file to be overrided, everything was fine. Usually, proper loading order could be enforced by using the proper directory structure. TS2 could have a dozen different ways of handling such things though, so I'll go dig some more and do some testing before I continue any further.
pinhead
6th Jun 2005, 11:20 AM
I think that i'm understanding why you are trying to look into the names. If people use a blond hair to do a black hair, how to inform to the user exactly what color of hair is before the user choose the color that will be? Am I right?
Well, i think that is no way, unless visual of the texture, to know how will be categorized.
I understand your point.
About the overriding of PSETs, i don't know exactly why bodyshop deleted those files, and was just the exactly numbers of Instance IDs that existed in both packages. It deleted in the old file (the file that i merge all colors) just the instances 01 to 07. Were deleted 3IDR and PSETs.
Is very strange and happen 2 times.
I saw some posts of users saying that are some "empty" packages in their folders, so maybe is a bug caused by the latest version of Bodyshop. But i don't have sure what cause that.
DarkMatter
6th Jun 2005, 07:35 PM
Yep, you got it. :) I think what I'm going to do is have a small preview of the hair texture, so that when the user selects a hairtone, they see the texture show up. Its not really a perfect solution...actually it still sucks, and the tool will still be confusing without a tutorial. But, it should fill a void and let people fix up how the game displays their hairtones.
BTW, the 3IDR files...I think the official name for them is Resource Indexes. Karybdis was doing some digging, and keept finding resIdx references in PSETs. The name makes sense, as thats basically what they do. Index different kinds of resources and combine them into sets, i.e., many of the 3IDR/RIDX files index all the neccesary files for sim outfits.
RGiles
6th Jun 2005, 10:21 PM
Sorry, Pinhead and DarkMatter... I've been away for a few days.
The "Proxy" value in the Hairtone property set will never be missing, but it will often be incorrect. What happens is that the creator extracts the files and images for only one color through Bodyshop, and uses that file set as a base to make all their hair colors. So the same Proxy value from the extracted hair is used every time that Bodyshop "project" is imported back to the game.
The internal filenames are really useless in these hair files, it seems to me. You probably have the same filenames being used across an entire set of colors because of the same reason that the Proxy value is often wrong. The user exports a single "project" in Bodyshop and then reimports it with different recolors. Just my guess.
Normally the way I determine which files are a "family" of haircolors is by the package filenames. Either the creator gives them a meaningful name after importing them to bodyshop, or I give them a meaningful name as soon as I download them. I don't think there's any way to tell by looking at the files internally, unless you have an expert eye for graphics or the hair is very unique.
Bodyshop just wasn't created with the intention of having the files be viewed or manipulated, and they weren't created with "families" in mind at all. Patterns to work with without user intervention aren't there, so I'm very particular about making sure all files have meaningful package names and get irritated with creators who leave the Maxis hashes as the package names. ;)
RG
DarkMatter
7th Jun 2005, 04:07 AM
"Patterns to work with without user intervention aren't there, so I'm very particular about making sure all files have meaningful package names and get irritated with creators who leave the Maxis hashes as the package names."
Eh, thats precisely the issue I'm running into. Few content creators change any names, internal or not, so its really hard to display hairtones in any meaningful way in this tool. I'm trying to come up with a way to display the hairtones so you can just look, click a few, and group.
I guess another plugin is in order. Something that is more efficient and more clean for making hairtones. A tool where someone can just browse the existing ones, pick one to clone, and clone. Later as they update they would be forced to choose the color of the hairtone, so all the proper adjustments could be made to ensure that the hairtone works properly and is grouped properly in the game.
RGiles
7th Jun 2005, 10:25 PM
Bodyshop deeply wants improvement, and these issues are only part of it. The lighting in Bodyshop's preview is very dim. It's hard to see seams or errors and colors are very different from what will be finally rendered in the game. Also bodyshop doesn't give the user the opportunity to change internal filenems at all, and doing it manually is a long and confusing chore as outlined by Pinhead. All internal files have a template name which is always the same or a numeric name. This is true of clothing and genetics as well as hair files.
I'm not sure how far you've gone with your Charred plugin, but I'd expect you to run into similar problems there with the ability to change a sim's outfits and makeup and so on. Changing these isn't really a problem, but creating a reasonable ability to browse to the desired replacement item probably would be because many of the internal filenames are meaningless. Creators do the same thing that they do with hair. They clone once and use that base to make several outfits, so all have the same internal structure. Sometimes with clothing being able to view the texture is helpful. But with makeup or hair it really isn't.
For the purpose of this plugin, the only way I can imagine working it would be to allow users to select the files they want to alter based on package filename and perhaps by image (only because you can tell the color in the image, but not really the style). At some point in the future it would be great to have tools that replace Bodyshop for the creation process, allowing more flexibility and personalization.
RG
Dr Pixel
8th Jun 2005, 12:22 PM
What about making the elder hair a separate package? Really the process you described for merging all the colors into one package is the best one, but it is a very long process and I make mistakes every single time. :D
To avoid the problem I have where deleting the black hair makes me lose the grey hair too, what I could do is copy the black hair and rename that package to NameOfHairstyle_grey. Then I could remove the grey hair options from the black hair package. And remove everything except the elder hair from the grey hair package.
I have been following this whole discussion although I have not posted because much of this is over my head.
But I do very much like the idea, and I would like to offer a possible solution to this whole grey-hair problem at least with custom-made meshes.
I have discovered that it is entirely possible (and not very difficult) to combine the mesh file components right into the "Bodyshop" components so you will have something similar to an object, mesh, textures, and all, inside one .package file. Although I had thought it wouldn't be a good idea to do with hair because it would mean you would be required to always keep that one hair color to make any recolors work, I am thinking maybe it would be a very good idea to include only the grey-hair BodyShop parts along with the mesh, and eliminate the grey color parts completely from the "colored" hair .packages, if this is possible.
This would mean that the grey hair would always be available for the mesh no matter what other colors you might have for it. It also would eliminate the useless repetition of the grey hair in every hair color .package file. No one ever recolors those anyway so this would be no loss in my opinion, and might cut down a little on the huge filesize of hair files.
I have not tried this with hair because I am not sure how to separate out the grey parts into a separate .package and as I said I don't really understand much of the technical end about the linking and so on.
But here is how I did it, if you wish to experiment -
1} Made the mesh .package in the normal way, as an independant .package file
2} Made the original recolor for it using BodyShop
3} Tested thouroughly in the game, made necessary corrections, retest, etc.
4} When all is OK, I took the mesh .package and exported all 4 components
5} Opened the BodyShop color .package, and added these components
6} Saved it.
That's it - no renumbering, fix integrety, or any of that - I think doing that would mess it up actually.
I have done this successfully with accessory meshs (ear-rings, necklaces, purses) cloned from eyeglasses, and these mesh/color .package files do work correctly with BodyShop and can be recolored using BodyShop in the usual way. The mesh components are not passed on by BodyShop to the recolor .package, only the usual color components, and BodyShop only exports for recoloring the included components
In my case of purses and such I eliminated all the male components, and BodyShop will still export just the female components without complaining.
DarkMatter
8th Jun 2005, 06:13 PM
Thanks for posting Dr. Pixel. :) I havn't read the whole post, because I have limited time at the moment, but the general idea is intriguing.
RGiles, if I was to make an "alternative" to BodyShop, it would have full 3D previews and such. The same goes for CHARRED's clothing, body, and face editors. Everything will be full 3D previews, so users won't really have to worry about names so much.
3D is a pretty hefty thing, though, and I didn't really want to implement it in this little hair fixer tool. I just wanted it to be a quick thing that people could fire up, group a few hair styles, and go play the game. (Also, the 3D stuff requires the April 2005 update to DX9c, which is a 35 meg download. I didn't want to force users to download that just to organize their hairtones).
I'll see about adding 3D in a later version of the hairtone tool, once people who use DatGen are fully updraded with DX9 and all.
tiggerypum
8th Jun 2005, 07:41 PM
Uhm, some people *do* recolor the gray hair, matter of fact I have some packages (now very hard to find in the mess that is my custom content) that give the adults 'gray' hair that isn't gray when they get there - like gray streaked with the color. I, for one, find the sameness of everyone's gray hair pretty horrible in the game.
There is one thing about this that I'm not able to picture yet, how would the hair colors (if NOT merged with Maxis) show up in Create a Sim or the mirror. The interface doesn't support anything but black, red, brown, blonde and custom, isn't that so?
I'd certainly like a tool that would make it easier for folks to build entire hair packages, mark internal names correctly while at it, and have them say if it's black, red, blonde, brown or other. I'd love to as a user to be able to easily fix packages that come in incomplete.
*Tig*
freoninferno
8th Jun 2005, 07:59 PM
Thanks for your post, idtaminger.
We, here in MTS2, already found how to do it in this way, but if you make that with all your custom contents will be a hell lot of mess.
if you interested here's the link:
http://forums.modthesims2.com/showthread.php?t=55427
I'm saying that because all custom hairs have an elder texture and if you have a blond, black, red, brown or multicolored of the same custom hair will appear in the grey catalog a copy of all same grey textures.
say, i love this idea. but will the mod created in the above link be compatable with the mod you are currently working on?
thanks!
pinhead
8th Jun 2005, 09:31 PM
the modification that i posted there is very hard and painfull to finish. Is a little different of the objective in this thread in the start. And this topic here was made with an idea that i had but now i think that the best option is using the maxis values and be placed in the correct colors catalog. So, now or in the future, will be compatible.
pinhead
8th Jun 2005, 09:42 PM
This would mean that the grey hair would always be available for the mesh no matter what other colors you might have for it. It also would eliminate the useless repetition of the grey hair in every hair color .package file. No one ever recolors those anyway so this would be no loss in my opinion, and might cut down a little on the huge filesize of hair files.
Hi Dr. Pixel!
thanks for posting ideas to help us out. Also for showing interest :)
Well, i didn't tried that but what about hairs that was recolored with maxis meshes?
I think that for custom meshes will work fine but if people start to recolor the mesh the "grey" will be placed in the color package and you will have to change everything again and correcting the reference of the grey hair in respective package of the recolor.
I know that because don't metter if the texture is in separate package. Bodyshop always "extract" the textures and create internal files again using all textures and creating new references. I had some "default skins replacements", for example, and when i export the original maxis skins it get the textures from those packages.
But i will give it a go when i have a time. :)
Dr Pixel
10th Jun 2005, 01:58 AM
Oh, yes I understand. And yes, I hadn't thought about it but sometimes the elder hair is recolored also.
So, my idea was not such a good one.
Really what I would wish is that this new tool would make it possible to get rid of duplicate, un-needed hair files.
Often I download a hair (with new mesh, or not) that has only been changed in the "adult", and the other ages are just another exact copy of the Maxis hair.
It is unfortrunate that BodyShop doesn't have an option to select which ages you wish to include in the final .package file.
RGiles
10th Jun 2005, 03:30 AM
tiggerypum,
If we used the original idea presented in this thread, the hairs would still show up in CAS or the mirror under the * icon, same as they do now. The difference would be that they'd behave as genetics.
Darkmatter,
I definitely don't think a full 3D view is needed for this little tool either. In the future a Bodyshop replacement would be great, but even when we have it, it won't solve the issues involved here because it would be for creating new packages rather than adjusting existing ones. For this tool, I think there's no other way to do it other than rely on the user to know which packages belong together by the package file names.
Airelda
10th Jun 2005, 12:31 PM
I don't have any technical comments to add, but I do want to say that I read that sims may be attracted to one another sometimes based upon hair colour in Nightlife. Which I think is another compelling reason to re-cat custom hair. How else will Sims know what colour another sim's hair is supposed to be?
Dr Pixel
10th Jun 2005, 02:11 PM
For the tool, I also don't think a full 3d view is needed. But I do think a visual display of the "flat" picture is necessary, since it is not always possible to tell from the filename what color the hair really is.
DarkMatter
10th Jun 2005, 05:53 PM
Ok, so, here is the plan for the tool. I'm going to write a very simple program to seek out and list packages that contain hairtone information. This program will just list all the packages, the name of the hairtone(s), and will have a 2D texture preview for the selected hairtone. When you select one of the entries, you'll be able to flag it as belonging in the Black, Brown, Blond, Red, Gray, or Styled bucket. Once you have selected one or more hairtones, you'll have the option of specifying a family guid to place those hairtones into, or, you can leave that field blank to have the tool generate a new one for you. When you click GO, the hairtones will be assigned to the correct color bucket, and will be assigned a family guid to group them. After that, you can select other hairtones and repeat the process.
Sound good?
pinhead
10th Jun 2005, 06:16 PM
sounds very good! :D
We can use it and give suggestions if something was confusing or not appropriate. But i think that with all that you said will be fine. :)
thanks a lot for trying this tool, DarkMatter! :D
the elders textures will be a problem (not so big, of course), but we will think about something to eliminate it later.
Dr Pixel
11th Jun 2005, 03:22 AM
This also sounds very good to me. I thank you too.
RGiles
11th Jun 2005, 11:57 AM
Sounds great to me. :) The trouble with the elder hair colors should be very minor. At worst we have duplication of textures taking up space, which is a problem we already have now. This is exactly the sort of solution I was hoping for. :) Thank you.
DarkMatter
13th Jun 2005, 07:20 PM
Ok guys. Check out the original program request thread. I've got a shell written, but I'd like to hear your thoughts before I go with it.
http://www.modthesims2.com/showthread.php?t=65672
uniquefatty5
14th Jun 2005, 09:50 AM
hi , plz i would like to know how u actually make the hair like make it long or short and colour it and play with it in the game. can u plz send me a tutorial how to do it coz if i dont know i think ill go crazy lol thanx alot
tiggerypum
23rd Jun 2005, 11:05 PM
I just re-read this thread because of the multi pollination thread.
Custom hair *IS* genetic and passes to the offspring of the SAME SEX. If you make the sim with CAS (at least if it had a full set of hair) and then take them in and make babies with them, their hair passes to their offspring and is supposed to be dominant over all the maxis hair colors.
I made a blue hair female in cas and her girl child has her hair. Her sons got some other random hair color (I forget) Oh yes, and I have another mom in the same house also with custom hair and her daughter also has her hair.
This is different from what most people do when they change hair in the mirror after birth, that is NOT genetic, it's a dye job.
That said, marking custom hairs that are brown, black, red, blonde as really *being* those colors instead of custom will make them work *more properly* with maxis genetics, pulling them out of the always dominant status to their proper place.
I can package that family if people want to take a good look at the in game kids and look at what their genetics really look like. I expect that w/o the hair meshes they won't show up right in your game, but if the issue is looking at the characters in simpe you should be able to see what really happened.
*Tig*
Inge Jones
18th Aug 2005, 03:25 PM
What I have wanted to know for ages is, why can't I make a hair colour just for elders, so they can change at the mirror, without also having to bundle in the entire range of ages? It's meant to be a coloured hair style, not genetics. Is there no way to do that?
Ah another thing I meant to ask - to change the dominance rating of a custom object, should I change the genetic= value in the Hair Tone XML file, or the Property Sets files in the package?
DarkMatter
18th Aug 2005, 07:32 PM
You should be able to make a custom hairtone just for elders. You just need to delete the psets and other information for all the other age groups, and change the hairtone property to '0000005-0000-0000-0000-000000000000'.
To change the genetic dominance, you need to edit the 'genetic' property. This property is kind of funky, and I'm not exactly certain how it works. But, from my experiments, it seems the larger the number, the LESS dominant, or the MORE recessive. Custom hairtones always seem to have a genetic value of 0, which is what makes them dominant over absolutely everything else, for the entire family chain.
Inge Jones
18th Aug 2005, 08:15 PM
To change the genetic dominance, you need to edit the 'genetic' property.
Thanks. I was wondering which one to edit, as there is a "genetic" property in the Hair Tone xml and also one in each Property Set file. Should I just do it in every "genetic" field I can find? :D
DarkMatter
20th Aug 2005, 04:48 AM
Oh, you need to change it in the hairtone file. Don't change it in the actual skin file, as that can cause weird problems. The Skin PSET for a hairtone should have a genetic of 0, but the Hairtone PSET can have any genetic value (although 2 is the highest I've seen in game files...which is pretty recessive from my calculations). The value is floating point, so you can have 0.1, 1.3, or 4.68...it allows pretty fine control over how dominant a hairtone is. All hairtones exported from bodyshop have a genetic of 0, making them completely dominant for the entire length of a family line (which I guess is until the sims are born so deformed that you can't bring yourself to make babies with them anymore :P).
Inge Jones
20th Aug 2005, 07:34 AM
Thanks DM :)
Howabominable
25th Aug 2005, 01:52 AM
Ok, most of this thread hasn't made much sense to me, but I have been hoping and wishing over and over for something that could help me organize my custom hair. Maxis has made it so it takes FOREVER to delete a single piece of hair, and I have to go through tons of loading and deleting and shifting through all the custom hair. Something that would allow me to personally put the hair I want in whatever category I wanted would be AWESOME and a huge help. That way I could delete all the butt-ugly hair and put the good hair in a place that's accessible without having cobwebs grow up my legs with all the loading.
Anyway, in plain english, can you guys do it? And in a way that dumb blondes like me can understand?
PS: Question: Is it possible for me to delete hair for certain ages of sims while retaining the hair for other ages? For example, I have ALOT of adult custom hair. All of that hair comes with hair for the toddler stage, all of which is extremely redundant and all looks the same. Could I safely delete the toddler stage of hair without getting rid of the other stages? Sorry to ask this here but it won't let me make a new thread for some reason.
Calidan
19th Nov 2005, 01:26 PM
Ok, I just finished reading through this entire thread and have one small question. While I also dont understand *all* the technical talk, is it possible for hair color to be genetic (or did I miss that being answered). Thats one of the things that still peeves me about the game and while I have (once) produced offspring that had blonde hair color (when using a dark custom skin), it seems that all my simlings tend to have black hair. Granted one of the parent DNA are also black hair, but have tested this with blond, brown, red hair 2nd parent but still end up with black haired simlings.
btw. I make (granted infrequent) use of both SimPE and Datgen and with to extend my thanks to both groups of people working on them. Very nice mod tools so please keep the great stuff coming.
--
Calidan
vBulletin v3.0.14, Copyright ©2000-2013, Jelsoft Enterprises Ltd.