What is a Sim PE Package?
Any individual file for your game which can be explored with Sim PE. When you export a recolor in bodyshop, it generates all the little bits and pieces (resources) needed for that bit of content, minus the mesh, into one package. However, these resources don't all need to be in the same package to still work, they just need to exist somewhere in your downloads folder where your game can find them. For example, you may have noticed that the game resources are organized together by type, with the TXTRs in one package, the Property Sets in another, etc.
You can separate or combine the individual resources of bodyshop generated packages by right-clicking > "extract", saving it to your computer, then starting a new file and adding your extracted file with right-click > add. Once you've moved it over, the original resource can be deleted from the other bodyshop generated package. You can also add an entire package into another one by doing right-click> add and changing the type of file you're adding to "All Files", as seen in this tutorial. Your game has an easier time loading files that are packaged into bundle rather than packages that are broken up by each individual recolor.
Never, ever delete or alter the Maxis game files in your Program Files folder in any way. You can however, right-click and extract them (leaving the originals exactly the same) and put them in a new package. This new package is an "override" or "default replacement" of the game files which can be safely edited.
In this tutorial we will go into:
- WHAT'S IN A BODYSHOP PACKAGE? - Basics of each resource
- TXMT (Material Definition) - A few tips and tricks for this resource
- BUMPMAPS - JUST DELETE THEM - What's a bumpmap and how to (and why you should) delete it.
WHAT'S IN A BODYSHOP PACKAGE?
- BINX - BINARY INDEX: How your file will be sorted in the catalog. Editing the "sortindex" string can change where your file shows up in the catalog. Lower numbers show up towards the back of the catalog and higher ones show up towards the front, unless you de-customize and pin them to EPs/SPs, in which case they will show up in the opposite order. Files with the same number show up side by side.
- 3IDR - 3D ID REFERENCING FILE: This is what links all the different parts of an item so that they work together. Meshers use this to link the recolor file to the mesh, and defaulters can extract these for the Maxis outfits to create defaults that link up packages with a different number of subsets and won't conflict with recolors of the original Maxis outfit.
- STR# - [TEXT LISTS]: Where you find your file's tooltip.
- GZPS (PROPERTY SET): The properties of your item, such as the category, shoe sounds, game version, etc. hat_plays_sims has a fantastic tutorial on all the fun stuff you can do with this, so I'll steer you over there because she already explained most of it. The only thing I really have to talk about subsets, which you can read about here.
- TXTR: The PNGs that make up the textures for your item. If you have Nvidia DDS utilities installed, you can use "build DXT" to import PNG textures directly into Sim PE, which pixellates them less than bodyshop. (Here's a tutorial that explains where to get those and how to set them up.) This will have a name such as "##0x5fba618f!body~stdMatBaseTexture
Name" which is very important. This is the most "fattening" part of CC; remove the textures and the package is an ittybitty thing.
- Directory of Compressed Files: Shows your file has been compressed.
TXMT (MATERIAL DEFINITION):
This tells your item what texture to use and how to display it. Each subset of your mesh has it's own TXMT, and in it you will find these four tabs:
- cMaterialDefinition tab: Most of the time you want the "type" to be "SimSkin" so that the empty or transparent parts of your texture show up as skin. Changing the type to "SimStandardMaterial" makes them invisible or transparent, such as with alpha subsets.
- Properties tab: All the little bits of code that change how your texture is displayed. (or not displayed)
- File List: Not important to what we're talking about. :P Mainly just shows what your item was cloned from.
- Categorized Properties: The same stuff in the properties tab, just displayed differently.
- stdMatBaseTextureName: This needs to match the name of the TXTR in your package or one that exists elsewhere (known as repositorying). If the texture name listed here is not in your downloads folder or game, you will get the infamous "Flesh Suit" problem.
- stdMatEnvCubeTextureName: Makes things shiny.
- stdMatAlphaTestEnabled: On an alpha subset, this should be set to "1" (or "true" in the categorized tab) to make the empty parts of your texture invisible instead of black. On non-alpha subsets it should be "0". (false)
- stdMatAlphaBlendMode: When set to "blend" and used with the above, enables the subset to be transparent.
my old nemesis. The bumpmap which gives a 3d look to the surface of your clothing. Has it's own TXTR which can double your filesize. You'll mainly find these on basegame clothes, as once meshes got more detailed Maxis stopped using them entirely, as should everyone.See below for information on how to delete these.
Export, import, and merge buttons: A few of my favorite things! These allow you to copy an entire pre-existing TXMT file over to another file, so you don't have to edit the little codes one by one. Especially handy of you're repositorying alphas or shiny bits. I keep a few of these on hand, which I will share with you too:
- Basic: A matte texture with no bumpmap. Use this for the majority of clothing! Also use to make accessories UNSHINY, such as cases where your hat was cloned from a shiny shiny pair of glasses.
- Null: For groups that are just bare skin with no texture, such as bare arms or feet, import this in, then delete the TXTR for that group. Can also be used to make an alpha layer completely invisible.
- ReflectionHighContrast: High contrast metallic shine, taken from the servos.
Change "TEXTURE NAME HERE" to the proper name of the TXTR or you'll make a flesh suit.
- hafiseazale has some good tips for object TXMTs which you could potentially use for clothing as well.
- Outfits cloned from basegame clothes will have longer TXMTs with various extraneous bits that aren't necessary. I always import the "basic" one above to replace them for the sake of tidiness.
- When you make recolors of shiny things, bodyshop will generate a new "stdMatEnvCubeTextureName" texture. This is a waste of space. It's best to just delete it and put in the name of a pre-existing envcube.
- There are a bunch of different envcubes in game which you can try plugging in the names of to get different looks. Have fun experimenting, but be careful poking around in your game files!
- If you're a mesher and want to make a shiny outfit, make sure to put all flesh (hands, arms, neck, cleavage etc) in a separate subset with the shiny part as its own group, otherwise you'll get shiny looking flesh!
- When repositorying Maxis items, you can export the TXMT of the original outfit and import it in the file you're slaving to make sure you have all the same properties.
In case you haven't noticed, I don't like bumpmaps, mainly because the majority of humans do not use them properly. Here are the main problems I see with these little monsters:
- The creator left in the bumpmap of the cloned filed, so there's a ghostly Maxis outfit overlayed over the new outfit.
- The creator didn't want the bumpmap, so they hid it by filling it with gray, and every package contains a big gray square texture that does literally nothing but supersize the file.
- They intentionally created a bumpmap, and it looks terrible.
- Option #1: Delete the bumpmap TXTR, import in my "Basic" TXMT and put in the correct texture name.
- Option #2: Delete the bumpmap TXTR, then delete these four lines:
To make things easiest on yourself, delete the bumpmap from your first recolor package and then export the non-bumpmapped file from bodyshop again, so that none of the recolors generated from it will have bumpmaps. Then you won't have to delete them from every single new package! To make things even easier when creating new meshes, clone your recolor file from an outfit that already has the bumpmaps removed. (It doesn't have to be a Maxis basegame mesh, seriously. CC outfits will work fine!)
IF THOU MUST: Bumpmaps have their justified uses for adding dimension to simpler meshes where the details are "painted on" a flat surface rather than meshed on three-dimensionally. Some justified cases would be: underwear/swimwear (when they're on a nude mesh and don't have meshed on details) and certain BG, Uni, and NL meshes. (Bella and Dina's original dresses are really just nude tops with skirts) You can however, create pretty much the same effect without a bumpmap using highlights and shadows on the texture.
If you really think you need one, remember that bodyshop generates a separate bumpmap with each recolor package. NOBODY NEEDS 12 IDENTICAL BUMPMAPS; even Maxis knew this! Delete them all except for one and repository each recolor to that. Export/import the bumpmap to your mesh file so that it won't be deleted no matter what recolors the downloader removes. If you're recoloring a basegame mesh which can use the original bumpmap, find the original bumpmap that bodyshop is copy and repository that to your files, then delete the ones that bodyshop sprouted.