Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Lab Assistant
Original Poster
#1 Old 26th Dec 2009 at 11:46 AM Last edited by Rez Delnava : 7th Feb 2010 at 10:26 AM. Reason: Info Update; Thanks Cmar.
Default TUTORIAL: Non-Default Skin Colors and More (a.k.a. TONE Files)
Update 6FEB2010:
Much of the information in this fist post has been outmoded by advances in the knowledge in the functions of tone file. For the most updated please refer to the tutorial by Missy Harries.

_________________________________________________________________

First let me tell a little story about how this discovery was made:
Twas the night before Christmas, and out on the web,
Rez was still browsing, just before bed;
He was composing replys, trying not to tl;dr
When all of a sudden, a new post did appear
A question of UI, a subject he knew;
New skintones it asked, not replacing core's blue,
Replys were at first of skeptical nature;
UI was one thing, the core a new creature.
But when Rez got bored (its a mental disorder)
He knew a trip to Reflector was in order.
An what to his wandering eyes did appear,
a little reference to a file so queer.
He flew to the editor, taxing his cache
Tore open the package, and looked up the hash.
And there he beheld a file so awesome
it made CASP files look like trash blossoms.
Without delay he took it to hex,
non-default skins could be produced next!

Ok, silliness aside:

What this Tutorial Will Do
The objective of this tutorial is to teach modders how to retrieve and edit the TONE files with the intent to make non-replacement skin colors. Additional objectives may be added in subsequent updates, as more research is done.

What the Tutorial Will NOT Do
This will not teach you how to make new skin color gradient files.
This will not teach you how to make new skin tone files, for those look to this tutorial by Aikea Guinea here.
This will not teach you how to mod the UI.
This will not teach you how to operate your programs.
This will not teach you advanced hex editing.
This will not teach you how to install mods or framework.

What You Need
  • Your package editor of choice
  • Some method of Hex editing, if you don't already have a Hex Editor program, a Google search, or a quick browse through CNet would provide many good options.
  • A UI mod to allow for more TONE files to appear in-game (for the time being one will be uploaded here, consider it a beta version)
  • New Skin Gradient files (ToneRamp) are recommended for Part 1 (but not required, you will just end up with multiple copies of base-game colors if you don't have one)

Part One: Non-Default Skin Color Gradients
1) Open your copy of FullBuild0.package, making sure that tags and names are turned on. Sort either by Tag or type, we are looking for TONE 0x0354796A files. Seven of these files will appear there, six are the default skin colors and one is an 'unused' tone called mannequin. Pick one of the default TONEs (this example will be using 'Alien Skin') and extract the file to a working directory.
*NOTE* There is also another TONE file with the type 0x03555BA8 for the default hair tone; we will not be concerned with it here in the tutorial.

2) Give your extracted file a new name and Instance ID. For the Instance ID, its usually best to use an FNV64 hash of the name. My new name will be 'Alien Skin Custom' which hashes out to 0x62C7BCE9DD24BDEA

3) If you have a Skin Gradient, skip this step. If you don't have a Skin gradient, then you need to extract the two files. The first is in FullBuild0 and is a IMAG 0x2F7D0004 file and has a similar name as the TONE file you previously extracted. The second file is in FullBuild2.package. It has the same name (with the addition of the Instance) as the first file in this step, but is a _IMG 0x00B2D882 file. These are the Tone Ramp Files; they are what the game looks at when you move the sliders. It is important to note that both of these file have the same Instance ID. So, in this example the two file are AlienSkinToneRamp (IMAG) and AlienSkinToneRamp_0x20ee0a9e9a7186fd (_IMG). Screenshot 1 shows the files needed in S3PE 3a)It will be helpful now to write down some of the instance numbers from the ToneRamp files, you don't need to write the whole thing, but just enough to recognize the number when we go to hex edit, the first four and the last four should be enough. So for the example, we should remember 20EE........86FD

4) The tone ramp files now need new names and instances; again, use FNV64 hash, keeping both of the files the same instance number. My new tone ramps I'm gonna call CustomToneRamp1 which hashes to 0x1C670D4285A0CC7D

5) Now, its the time to do the somewhat intimidating hex changes. Lucky for this part, we are only going to be changing one reference to an Instance ID. Now for hex editing, the TGI information is not straightforward, hex will list the information in reversed pairs.
For Example: if the Instance number on our resource was 0x0123456789ABCDEF
then converting that to hex would be EF CD AB 89 67 45 23 01

Open the TONE file in your Hex Editor. We need to look for the TGI entry for the original ToneRamp, and update that with the new TGI; but we only changed the instance numbers, so we are only concerned with changing the instance, the rest stay the same. Recalling the numbers (you wrote it down right?) we need to look for the last two numbers first, etc. So, in the example, we are looking for FD 86 .. .. .. .. EE 20 So, you are telling me you forgot to write down your Instance, or the instance of your ToneRamp is not from the the same set as the TONE file you extracted? Well, not to worry, because the TGI we are looking for (unlike droids on Tatooine) is the first TGI set we come across; and is about a third of the way down.

In screenshot 2, the highlighted portion is our TGI value, and it is also the beginning of the TGI list. The red is the Type, the blue is the Group, and the yellow is the Instance (we are only concerned about this highlighted string). Now as you can tell from the image, it is not the very first thing in the file, but is the first entry in the TGI list (note how everything beginning with that entry is a set of 32 characters, each with the same Type and Group), and anything before that is file data. It is very important nothing but the TGI entries change.

DO NOT EDIT ANYTHING ABOVE THE TGI LIST. YOU WILL BREAK YOUR FILE.

Reversing our pairs of numbers in the new instance of the ToneRamp from step 4 (1C670D4285A0CC7D :: 7D CC A0 85 42 0D 67 1C), change the instance in the hex editor. Make sure you put the Instance of the ToneRamp (step 4), NOT the instance of the TONE file(step 2), and NOT the old instance of the ToneRamp. Double-check for errors, then save and exit.

6) Package your newly hex-edited TONE file, and the two ToneRamp files.

7) Download the UI mod package (beta) in the attachments of this post, and install to your mods. I will remove the beta version after more testing and upload to the moderator queue. Afterward, you should be able to find it in the downloads section.

8) Put your packaged TONE/ToneRamps in your mods; test.

Trouble-Shooting:
  • double check that you followed every direction
  • make sure you have two ToneRamp files in your package (they should have the same Instance, but differ in Group)
  • make sure the UI mod is installed properly (Once installed, the color picker will look like the one in screenshot 3)
  • Your game crashing when you click the new color?::you changed something above the TGI list while hex editing--Don't do that.

Didn't have any problems? Great! Congratulations, you just made a non-default replacement skin color.


Now some of you may be going "Wait just a sec... a new skin color is not as awesome as advertised in the peom" and the more experienced modders who know that the TGI lists appear last in Hex may be going "hey, wait, whats in that bottom two-thirds?"--well, that is part 2.

Part 2
Part 2 is short in description, but exceptionally large in implications and possibilities.

That last two-thirds of the hex has in the TGI list, a reference to every Skin texture, every facial texture, and every scalp texture.
I will let you ponder that for a moment... no, go ahead, I'll wait.

... If the TONE Files control both the color and the skin texture...

... and the TONE buttons are saved per sim...

...

And you should have came to the conclusion that we can now assign Body/Face/Scalp texture INDIVIDUALLY, without overriding the global textures. Proof is in screens 3&4.

The tutorial for that is as follows:
Step 1: make new skin details
Step 2: assign them unique Instances
Step 3: edit the TONE file
Step 4: Prosper

Ok, so thats simplified, and a lot of work (there are somewhere around 100 skin detail files referenced in the TONE file), but it is possible, and I'm sure some ambitious modder will make everyone very happy.

See also:
That thread mentioned in the peom
Duo Tones Default replacements by Missy Harries -- a big help figuring out what was needed as far as the ToneRamp files, thanks for the lovely examples.

A Note About the Included UI Mod
This mod is in beta--however, UI (LAYO) mods are exceptionally stable and will not cause crashing.
It is a default replacement of the CASBasics.LAYO found in the UI.package file; it is not a core mod and has been tested for compatibility with both Inteen3 and Awesome. The UI has been expanded to enable additional TONE files to appear. Previously, the TONE picker (the pop-out box) was limited to 6 TONE selections, in a 2x3 grid; I have expanded the grid to 25 TONE selections in a 5x5. Screenshots 3&4 both show the the expanded region. Only the six core selection icons (the colored circles) will appear unless additional TONE files have been added.
Screenshots
19 users say thanks for this. (Who?)
Advertisement
Scholar
#2 Old 27th Dec 2009 at 7:47 PM
Awesome.
Test Subject
#3 Old 28th Dec 2009 at 12:40 AM
Quick question: Is the mod a core mod?
Lab Assistant
Original Poster
#4 Old 28th Dec 2009 at 4:56 AM
Nope, not a core mod. As long as you give the indicated files a unique Instance ID, nothing will be replaced.

If you are asking about the UI mod, its not core either; it is a default replacement of one of the LAYO files found in the UI.package file.
Sockpuppet
#5 Old 28th Dec 2009 at 8:06 AM
It is definatly a nice find but isn't it easier to use a bodyoverlay?
Or is it possible to eliminate the colors and use the particular tone only for hair/freckles/scars or any other body addon?
Lab Assistant
Original Poster
#6 Old 28th Dec 2009 at 9:33 AM Last edited by Rez Delnava : 28th Dec 2009 at 10:06 AM.
Overlays are easy since they are assigned as part of a CASP, and we have excellent tools that produce CASP files easily.

Please correct me if anything of the following is incorrect, I don't use overlays frequently, and I've never made one; so I'm going off of what I remember from reading threads a while back.

But there are significant disadvantages to using overlays, versus the TONE. The first is that the overlays are assigned per outfit, either as part of the clothes or by accessory as a tattoo layer--this puts constraints on your options for layering clothes. Second, is that the overlay is not shower-proof without the aid of either a copy outfit utility, or using NeverNude with a nude swimsuit. The third issue is that the overlays for body, face, and scalp are separate, and each assigned to different CAS Parts (body overlays are clothing, face overlays are makeup, and scalp overlays are hair). The fourth, is that overlays are not inheritable.

The disadvantages to TONE files, are that they would be way less customizable for individual details--since the body tones are tied deep into the TGI list--like body hair, scars, tattoos, freckles. It would also be harder to mix-and-match body and face replacements. As we do now, we can pick a different face/body for male/female, child/teen/adult/elder as defulat replacements, and just take the best of each. With the TONE file (until a utility is made) you would have to hex edit the TONE file for each change, or change the the file the TONE is looking for (which this second method is not so different than default-replacement, but becomes much more complex with the addition of more and more TONE files). In an ideal world, I would have just made a utility for TONE editing, instead of making a tutorial, but I'm no programmer--so until someone becomes interested in making a utility (or until I learn programming--its a race to see which takes longer), we can only rely on hex editing the TONE files.

While my example in the screenshots showed the addition of body hair and airbrushed abs, this is definitely not the best use of the find--I just used an extra set of Male default replacements with high contrast to the base. Better uses of the find would be, if some artists/creators be willing, would be to make entire new sets of scalp, face and body to create radically different breed of sims--robots, werewolves, vampires, plant-people, zombies, (and my favorite possibility: a color slider that goes from bronze-tan to paint green, with way too much muscle tone; I call it Lou Ferrigno) all of which would be inheritable.

On a related note, I believe that the TONE file may have a tunable that would allow random generated sims to spawn with non-default colors; so far in base-game it only allows npc sims to spawn with two of the six possible colors.

As you mentioned freckles and scars, I think its important to note that facial freckles, beauty marks and moles, have also received a UI update to allow more of them (see the link to the thread in the first post). As far as scars go, it may be possible to make them using the same concept as beauty marks--old scars would be easy as they tend to be flesh-tone with with some highlight; fresh scars are more difficult, but may be possible. I tried doing colorized moles awhile back (with the UI update, it may be a good time to revisit it... putting it on the to-do list), and some colors did appear, although adjusted 40-60degrees in hue, and desaturated. For body details, after I finish work on some body sliders (14-18 sliders, far more advanced than some bone-morphs, and might be found on the adult site in early January), I will look at the methods in the core for freckles/moles, and see if I can't replicate them for the whole body.
Sockpuppet
#7 Old 28th Dec 2009 at 11:04 AM
Thank you
It would be cool to use the green for like more hair and the blue for freckles.
I now use the scalp(moved to the beard category) to make these overlays, wich are showerproof btw
Forum Resident
#8 Old 28th Dec 2009 at 1:28 PM
OMG, I wish I knew this when I was doing my replacements.......... I have no idea about hex though but I'm definatly going to give this a go. Thanks.

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Forum Resident
#9 Old 28th Dec 2009 at 1:40 PM
Actually after a proper read through you've just made my day. :lovestruc

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Forum Resident
#10 Old 28th Dec 2009 at 3:36 PM
Wow! The possibilities are endless....I'll have to reread this many more times before I can digest enough to try it. With missy harries tones, I have almost every color I need, but it would be great to have further variations.

ETA: I'd also like to know how missy harries was able to get two tones on one slider.
Forum Resident
#11 Old 28th Dec 2009 at 7:23 PM
Quote: Originally posted by jmtmom
Wow! The possibilities are endless....I'll have to reread this many more times before I can digest enough to try it. With missy harries tones, I have almost every color I need, but it would be great to have further variations.

ETA: I'd also like to know how missy harries was able to get two tones on one slider.


LOl, Its only the same slider, I just got the dead centre of EA's ramp and poped a gradient on each half, then there was a lot of tweaking to get the colours look how wanted.

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Forum Resident
#12 Old 28th Dec 2009 at 8:10 PM
Quote: Originally posted by jmtmom
I've been experimenting like mad. I'm not sure how you changed the sliders themselves to reflect things, but I've managed to make duo-tone naturals: http://murrinwold.yuku.com/topic/398

I also did a bit of tweaking on yours: http://murrinwold.yuku.com/topic/397

Let me know if you have any objections to my mad experiementation.


Thats Ok sweetie. Is that a new site you've put up? I love fantasy too.

But a note to the thread.
Do you think it's possible to get the colour wheel to work for the TONE file????
I'm trying that now but I'm not litirate in ANY kind of coding I'm learning as I go along so any heads up would be great.

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Forum Resident
#13 Old 28th Dec 2009 at 8:15 PM
It's just where I plunk things I don't want to lose. I'm too lazy to jump through hoops to post things and too cheap to set up a proper site.

I agree about the color wheel. It would solve everything. I can't imagine why they didn't do things that way from the start. Sadly, I haven't the vaguest idea how to make it happen either.
Forum Resident
#14 Old 29th Dec 2009 at 3:00 AM
This does not seem to be working for me at all, it just seems to swap my colours around on the UI....... I've been though it a couple of times now and there's nothing I seem to be doing wrong (at least I don't think so).
Your UI mod doesn't seem to be showing up either. Is your game patched to date?

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Lab Assistant
Original Poster
#15 Old 29th Dec 2009 at 5:15 AM Last edited by Rez Delnava : 4th Feb 2010 at 11:16 PM.
Admittedly, my game is not patched to 1.8/2.3 due to the issues of that patch known to break CC downloaded in Sims3Pack format, so I was waiting until EA issued a fix, or at least admitted that they broke something (my guess is that the patch will come long before EA admits to any wrong-doing).

However, I don't think the most recent patch would have broken UI mods like it did to core mods and Sims3Pack CC. But just to be sure, could someone please check the 'Date Modified' column on Sims3/Game/bin/UI/UI.package. The date of the UI.Package file I used to make the mod is Nov-17-2009, so if there is anything newer than that, then I will need to grab the update and remake the mod.

This appears to be a problem with the package uploaded above. I tried downloading that one, removed all my other mods, cleared my caches, then tried loading CAS, and the mod didn't appear.

So, lets try again with this one. Anyone that grabbed the above one should re-download.
Forum Resident
#16 Old 30th Dec 2009 at 3:01 PM Last edited by missy harries : 30th Dec 2009 at 10:06 PM.
Quote: Originally posted by Rez Delnava
However, I don't think the most recent patch would have broken UI mods like it did to core mods and Sims3Pack CC. But just to be sure, could someone please check the 'Date Modified' column on Sims3/Game/bin/UI/UI.package. The date of the UI.Package file I used to make the mod is Nov-17-2009, so if there is anything newer than that, then I will need to grab the update and remake the mod.


Cecked the date for ya and it's 15/12/09.
Your new package doesn't want to work for me either........

I de-patched my game (reinstall) to see if that would work but there's still no joy, it's just the same thing. Either it just doesn't like me or I'm doing something wrong.
Anyone else having problems????
I've been going over it so many times and I'm starting to lose heart.......
Could you upload the skintone you got working here please? At least then I can check for sure.

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Lab Assistant
Original Poster
#17 Old 31st Dec 2009 at 12:15 AM
I was afraid of that... so my mod will only be good for 1.7/2.2 installations.

I will patch up (or force my brother to patch up, since he uses less CC than I do...) and work out a new LAYO mod before this weekend.

Also, you mentioned that when you followed the tutorial, all it did was move the colors around. That means you probably did it right, since adding new TONE files will place the color-pick circle in a different order (i.e. adding new TONEs won't add to the end of the list, it sometimes puts them in the middle, etc.)
Forum Resident
#18 Old 31st Dec 2009 at 12:43 AM
Thanks babe, you've given me some hope.

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Forum Resident
#19 Old 31st Dec 2009 at 2:55 PM
I have to hone some basic skills before I can tackle making skintones, but I would be more than willing to test the mod and any skintones. My game is patched through 1.8/2.3 though.
Test Subject
#20 Old 5th Jan 2010 at 5:54 PM
Okay I have the altered thing that shows the skin tones - they're currently showing as black - I used the blue skin tone as a base

So I was wondering if anyone could explain it in 'newb talk' as I'm new at this, how I could then add in a custom skin tone 'images' as it were?

Also is it meant to show up as black? O_o?
Forum Resident
#21 Old 5th Jan 2010 at 10:52 PM
Quote: Originally posted by Batqueen23
Okay I have the altered thing that shows the skin tones - they're currently showing as black - I used the blue skin tone as a base

So I was wondering if anyone could explain it in 'newb talk' as I'm new at this, how I could then add in a custom skin tone 'images' as it were?

Also is it meant to show up as black? O_o?


It's showing up as black probally because it was saved wrongly.
Heres a check list
- Uncheack load mipmaps upon loading image
- make sure image is flattened before saving
- make sure image size is 64 x 64
- make sure it's saved in DXT5 format with Genarate mipmaps checked
Import and save

Hope that helped. Just retrace your steps.

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Test Subject
#22 Old 6th Jan 2010 at 6:43 AM
no I mean it was showing black before I thought of adding in the skin files to create the Na'vi markings.

But let me get this straight

Load the DDS files that I've recoloured saved as DXT3 making sure I uncheck the mipmaps
Make sure image is flattened
Adjust image size for the image files to 64 x 64
Save as a DXT5 with mipmaps checked
then Import and Save?

What about the hex editing still to do to the TONE file so it registers these?
Forum Resident
#23 Old 6th Jan 2010 at 9:32 AM
You should only need to do the hex editing once (asuming you 've done it corectly). In my experience I've gotten the black skin because I forgot something while saving (usually flatten......). Its a good idea to do the hex editing first that way once you know the hex change has worked and is looking good in game, go back to your package to change the ramp files. I sugest that order because the hex is the more complicated.
You can also save as DXT3 (I only say 5 because it's what I tend to stick to).

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Test Subject
#24 Old 6th Jan 2010 at 2:30 PM
I'm having trouble understanding some parts. So please forgive me if I ask stupid questions.

Quote:
1) Open your copy of FullBuild0.package, making sure that tags and names are turned on. Sort either by Tag or type, we are looking for TONE 0x03555BA8 files. Seven of these files will appear there, one is the TONE file for the hair, the other six are the default skin colors. Pick one of these (this example will be using 'Alien Skin') and extract the file to a working directory.


So this I assume you mean to open it with s3pe?

Quote:
2) Give your extracted file a new name and Instance ID. For the Instance ID, its usually best to use an FNV64 hash of the name. My new name will be 'Alien Skin Custom' which hashes out to 0x62C7BCE9DD24BDEA


How do you do this? Can you do this inside of s3pe, or do you need to do it within the hex editor program?

Quote:
4) The tone ramp files now need new names and instances; again, use FNV64 hash, keeping both of the files the same instance number. My new tone ramps I'm gonna call CustomToneRamp1 which hashes to 0x1C670D4285A0CC7D


I'm confused by when you say "keeping both of the files..." and then changing it. Does it have to be changed in the hex program, and are we changing the instance ID?
Forum Resident
#25 Old 6th Jan 2010 at 3:26 PM Last edited by missy harries : 6th Jan 2010 at 4:29 PM.
missybrina

All of that is done using S3PE 1 - Fire up S3PE, File - Open - navigate to whereever your game files are located and open up FullBuild0. Once you've located the file you want right click it and then click on Export to package. Save it to a folder location thats easy to find for yourself.

2 - When you save your exported package name it whatever suits you and open it up in S3PE.
On the tab bar at the top click on Tools - FNV Hash. This'll bring up a dialogue box, type in the name of your package where it says Text to hash and click calculate then just copy the FNV64 hash string it genarates for you.


3 - Double click your package file which will bring up another dialogue box and just paste your copied Instance where it says.... well.... instance. Hit OK and then save. Don't worry if your instance doesn't change right away, mine tend not to change till I save.

Rinse and repeat for the ramp files once you've added them to your package.

BTW I'm using the latest S3PE. If yours is an older one then it may differ a little so make sure you've got the latest.

Disclaimer: These are the personally, personal opinions of me, myself and I. Yours may vary.
Terms & conditions do not apply
Page 1 of 10
Back to top