Replies: 1 (Who?), Viewed: 2945 times. | You are currently not a member of this group. Would you like to join it now?
Test Subject
Original Poster
#1 Old 4th Apr 2013 at 6:04 AM
Default Clothing Cloning and Bundle-Spliting/Merging Functionality
Two roadblocks I have hit made me wonder if these two things in a utility (or in different utilities if deemed more appropriate) might be useful to others as well.

To clarify what I mean by "clothing cloning" there is this thread I started on leefish a while back:

I'd like to be able to take a file from which I have removed all the redundant and unnecessary parts and copy it changing just the internal unique identification, so that I can then go in and just update the texture for each. A numerical entry of the number of unique clones to output would be all the more handy.

JanH tells us in that thread I mentioned:

"It's been a while since the last post here, but since I had a similar problem, I though I'd share my knowledge with you.
My problem was that I had created a variation of a clothing mesh (a tucked-in version of an untucked shirt), and wanted to find some way of duplicating the recolours of the original shirt mesh, so I could use them on my custom mesh as well, without having to go through Bodyshop and having to export all the textures and then re-importing them again for the custom mesh.
After having read through this thread and doing a little bit of testing myself by importing the same custom recolour in Bodyshop two times, it seems that the only changes between the two files are:
- the group number, which also appears in the names of the texture images and materials, and which of course is referenced within the 3IDR
- the sortindex within the BINX

What I then did was:
1. Open the last file I had imported via Bodyshop, and note it's sortindex within the BINX.
2. Copy the original recolours to a new folder, so I won't mix them up.
3. Delete the TXTM and TXTR resources from the recolour package, as I'll reference these from the original recolour via the 3IDR file.
4. Add one to the value obtained in step 1, and use that number as the new sortindex. This step is not mandatory however, as you can use any other sortindex to control where in the Content List your recolour is placed, and it seems to work even if multiple recolours share a common sortindex.
5. Change the Group-ID of all resources (bar the CLST) to a new custom value. For now I'm just picking some random number from the 0x5Fxxxxxx range which seems to get used by Bodyshop, judging from the packages present in my SavedSims foler, and hope it won't collide with something else. If anybody knows any better method for this, I'd be glad to hear about it.
6. Change the entries in the 3IDR referencing the Text List and the Property Set to reflect the new Group-ID.
7. Use the Body Mesh linking tool to link the 3IDR to the new mesh.
8. Save the package, and if everything went well, it should now appear in Bodyshop as a new, separate recolour using the custom mesh."

The other functionality I'd find extremely helpful, splitting up items that are bundled into one big package file (as well as perhaps the opposite, joining files,) would fit very nicely into the clean installer. I have already attempted to use it for this but unfortunately a package file containing multiple objects/floors/walls/terrains only shows up as one item to check or uncheck, it is not recognized as containing multiple items, thus they can't be separated using the save as feature, the way that components in Sims2Pack files can. I have tried splitting these things up by using SimPE to delete all unwanted resources, but I get bad files that crash the game. I think it has to do with the group numbers and individual items in a package using something like 0xFFFFF... while the bundled items are using some other configuration.

Thanks for taking the time to read, and thanks for your most excellent utilities!
Lab Assistant
#2 Old 10th Apr 2013 at 2:00 PM
Try Aquilegia's tutorial for texture referencing (the clothing equivalent of the repository method for objects):

As for splitting, it depends on how the files were built. If the textures aren't reused, you can split it apart by instance values, making sure all resources for any trio of instance values are included in one package file. If the textures are reused, you have to make sure that the textures appear in all packages that need them.

Picking through files in this manner isn't what Clean Installer is intended for. The Maxis Lot Packager simply concatenates the entire package files and adds a header containing the file names, which Clean Installer uses and the Maxis Installer ignores. Neither installer looks at instance values or anything else inside the package files.
Back to top