====== Dedupe ====== A long standing issue with texture mods for dresses is, that some texture mods create more than one item. The reason for the duplicated items are textures that are used on more than one dress. Now, as the Mod system has no idea what dress the modder actually wants to be cloned/modded, it needs to duplicate all dresses using the same/shared texture. For a few mods this doesn't matter, but as the amount of mods increases, the unwanted items will start to fill up the customizer. So the only solution to not break backwards compatiblity of already existing mods, is to give the modder the ability to select the wanted dresses by hand. ===== How ===== It works in a similar way like the //.txf// files do. Just place a **text file** next to the texture with the same name but having **.dup** as extension. Write down the Item's ''identifier'' that you want to have duplicated, each one in a separate line.\\ ===== Example ===== This will create a new //Jeans// and a new //Capri Jeans// item but will not create the //Short Jeans// item. ^Filename ^Content^ |F_Jeans001_Base.dup|Dress463_Description\\ Dress464_Description | ===== Important Note ===== Please note, that you **cannot** fully remove a mod by using an //empty// .dup file. To remove all items, the **mod texture** must be removed instead! ===== Table of texture names to .dup entries ===== ^Texture Name ^Items^ |F_Jeans001_Base|{{:en:dedupe:cloth0463.png?128|}} ''Dress463_Description'' (Jeans) \\ {{:en:dedupe:cloth0464.png?128|}} ''Dress464_Description'' (Capri Jeans) \\ {{:en:dedupe:cloth0465.png?128|}} ''Dress465_Description'' (Short Jeans) \\ | |F_Shoe002_Base|{{:en:dedupe:cloth0003.png?128|}} ''Dress80_Description'' (Flipflops) \\ {{:en:dedupe:cloth0081.png?128|}} ''Dress81_Description'' (High Heel Sandals) \\ | |M_Thong001_Black|{{:en:dedupe:cloth0170.png?128|}} ''Dress170_Description'' (Black Thong) \\ {{:en:dedupe:cloth0171.png?128|}} ''Dress171_Description'' (White Thong) \\ | |F_SilkUnderwear001_Seam|{{:en:dedupe:cloth0377.png?128|}} ''Dress377_Description'' (Silk Hotpants) \\ {{:en:dedupe:cloth0378.png?128|}} ''Dress378_Description'' (Silk Bra) \\ | |F_Pirate001_Coat_Patch|{{:en:dedupe:cloth0198.png?128|}} ''Dress198_Description'' (Pirate Patch) \\ {{:en:dedupe:cloth0199.png?128|}} ''Dress199_Description'' (Pirate Coat) \\ | |F_Angel001_Seam|{{:en:dedupe:cloth0379.png?128|}} ''Dress379_Description'' (Angels Hotpants) \\ {{:en:dedupe:cloth0380.png?128|}} ''Dress380_Description'' (Angels Bra) \\ | |F_Anklet001|''Dress423_Description'' (Anklet) \\ ''Dress428_Description'' (Anklet) \\ | |F_Anklet002|''Dress423_Description'' (Anklet) \\ ''Dress429_Description'' (Anklet) \\ | |F_Anklet003|''Dress426_Description'' (Anklet) \\ ''Dress431_Description'' (Anklet) \\ | |F_Ring001|''Dress392_Description'' (Ring) \\ ''Dress394_Description'' (Ring) \\ ''Dress397_Description'' (Ring) \\ ''Dress399_Description'' (Ring) \\ | |F_Ring002|''Dress393_Description'' (Ring) \\ ''Dress398_Description'' (Ring) \\ | |F_Ring003|''Dress396_Description'' (Ring) \\ ''Dress421_Description'' (Ring) \\ | |F_Ring004|''Dress395_Description'' (Ring) \\ ''Dress400_Description'' (Ring) \\ | |F_Cowgirl001_Top_Bandana|{{:en:dedupe:cloth0190.png?128|}} ''Dress190_Description'' (Cowgirl Top) \\ {{:en:dedupe:cloth0192.png?128|}} ''Dress192_Description'' (Cowgirl Bandana) \\ | |F_Stewardess001_Hat_Bandana|{{:en:dedupe:cloth0300.png?128|}} ''Dress300_Description'' (Stewardess Hat) \\ {{:en:dedupe:cloth0301.png?128|}} ''Dress301_Description'' (Stewardess Bandana) \\ | |F_Baroque001_Laces|{{:en:dedupe:cloth0058.png?128|}} ''Dress128_Description'' (Corset) \\ {{:en:dedupe:cloth0130.png?128|}} ''Dress130_Description'' (Baroque Pants) \\ {{:en:dedupe:cloth0190.png?128|}} ''Dress190_Description'' (Cowgirl Top) \\ {{:en:dedupe:cloth0199.png?128|}} ''Dress199_Description'' (Pirate Coat) \\ | |F_BondageRope001|''Dress582_Description'' (Bondage) \\ ''Dress583_Description'' (Bondage) \\ ''Dress584_Description'' (Bondage) \\ ''Dress585_Description'' (Bondage) \\ | |F_LeatherEnsemble001_Seam|{{:en:dedupe:cloth0495.png?128|}} ''Dress495_Description'' (Leather Underbust Corset) \\ {{:en:dedupe:cloth0498.png?128|}} ''Dress498_Description'' (Open Crotch Leather Thong) \\ | |F_BlackSatinCorset001_Seam01|{{:en:dedupe:cloth0310.png?128|}} ''Dress310_Description'' (White Thong) \\ {{:en:dedupe:cloth0311.png?128|}} ''Dress311_Description'' (Black Satin Corset) \\ | |F_BlackSatinCorset001_Seam02|{{:en:dedupe:cloth0311.png?128|}} ''Dress311_Description'' (Black Satin Corset) \\ {{:en:dedupe:cloth0312.png?128|}} ''Dress312_Description'' (Black Satin Neckband) \\ | |F_Fetish001_Hook|{{:en:dedupe:cloth0495.png?128|}} ''Dress495_Description'' (Leather Underbust Corset) \\ {{:en:dedupe:cloth0539.png?128|}} ''Dress539_Description'' (Gothic Dress) \\ | |F_Fetish001_Gloves_Boots|{{:en:dedupe:cloth0082.png?128|}} ''Dress82_Description'' (Red Knee High Boots) \\ {{:en:dedupe:cloth0083.png?128|}} ''Dress83_Description'' (Black Knee High Boots) \\ {{:en:dedupe:cloth0088.png?128|}} ''Dress88_Description'' (White Knee High Boots) \\ | |F_Police001_Badge|{{:en:dedupe:cloth0522.png?128|}} ''Dress522_Description'' (Police Uniform Hat) \\ {{:en:dedupe:cloth0524.png?128|}} ''Dress524_Description'' (Police Uniform Top) \\ | |F_Racing001_Checker01|{{:en:dedupe:cloth0483.png?128|}} ''Dress483_Description'' (Pit Babe Top) \\ {{:en:dedupe:cloth0485.png?128|}} ''Dress485_Description'' (Pit Babe Boots) \\ | |F_FrenchMaid001|{{:en:dedupe:cloth0139.png?128|}} ''Dress139_Description'' (Necklace Maid) \\ {{:en:dedupe:cloth0140.png?128|}} ''Dress140_Description'' (French Maid Top) \\ {{:en:dedupe:cloth0141.png?128|}} ''Dress141_Description'' (French Maid Skirt) \\ {{:en:dedupe:cloth0144.png?128|}} ''Dress144_Description'' (French Maid Hat) \\ | |F_Necklace001|{{:en:dedupe:cloth0389.png?128|}} ''Dress389_Description'' (Necklace 04) \\ {{:en:dedupe:cloth0391.png?128|}} ''Dress391_Description'' (Necklace 06) \\ | |F_Necklace002|{{:en:dedupe:cloth0386.png?128|}} ''Dress386_Description'' (Necklace 01) \\ {{:en:dedupe:cloth0387.png?128|}} ''Dress387_Description'' (Necklace 02) \\ | |F_Necklace007_Violet|{{:en:dedupe:cloth0388.png?128|}} ''Dress388_Description'' (Necklace 03) \\ {{:en:dedupe:cloth0390.png?128|}} ''Dress390_Description'' (Necklace 05) \\ | |F_Nurse001|{{:en:dedupe:cloth0054.png?128|}} ''Dress54_Description'' (Nurse Overall) \\ {{:en:dedupe:cloth0055.png?128|}} ''Dress55_Description'' (Nurse Cap) \\ | |F_Aerobic001_Shoes|{{:en:dedupe:cloth0297.png?128|}} ''Dress297_Description'' (Running Shoes and Stockings) \\ {{:en:dedupe:cloth0298.png?128|}} ''Dress298_Description'' (Running Shoes) \\ | |F_Shoe001_FlipFlops_Highheels|{{:en:dedupe:cloth0003.png?128|}} ''Dress80_Description'' (Flipflops) \\ {{:en:dedupe:cloth0081.png?128|}} ''Dress81_Description'' (High Heel Sandals) \\ | |F_Shoe002_RedBoots_RedOverkneeBoots|{{:en:dedupe:cloth0082.png?128|}} ''Dress82_Description'' (Red Knee High Boots) \\ {{:en:dedupe:cloth0083.png?128|}} ''Dress83_Description'' (Black Knee High Boots) \\ {{:en:dedupe:cloth0088.png?128|}} ''Dress88_Description'' (White Knee High Boots) \\ | |F_Swim001_Bikini|{{:en:dedupe:cloth0737.png?128|}} ''Dress859_Description'' (Bikini Top) \\ {{:en:dedupe:cloth0738.png?128|}} ''Dress860_Description'' (Bikini Panty) \\ | |F_Yacht001_Panty|{{:en:dedupe:cloth0766.png?128|}} ''Dress892_Description'' (Purple Lingerie Panty) \\ {{:en:dedupe:cloth0766.png?128|}} ''Dress910_Description'' (Silk Garterbelt) \\ | |M_Doctor001_Coat_Mask|{{:en:dedupe:cloth0186.png?128|}} ''Dress186_Description'' (Doctor Coat) \\ {{:en:dedupe:cloth0187.png?128|}} ''Dress187_Description'' (Doctor Mask) \\ | |M_Doctor001_Pants_Hat|{{:en:dedupe:cloth0185.png?128|}} ''Dress185_Description'' (Doctor Pants) \\ {{:en:dedupe:cloth0188.png?128|}} ''Dress188_Description'' (Doctor Hat) \\ | |M_Space001_Seam|{{:en:dedupe:cloth0613.png?128|}} ''Dress613_Description'' (Space Top) \\ {{:en:dedupe:cloth0614.png?128|}} ''Dress614_Description'' (Space Pants) \\ | |M_Firefighter001_Tanktop_Helmet|{{:en:dedupe:cloth0164.png?128|}} ''Dress164_Description'' (Firefighter Shirt) \\ {{:en:dedupe:cloth0165.png?128|}} ''Dress165_Description'' (Firefighter Helmet) \\ | |M_Officer001_Top_Helmet|{{:en:dedupe:cloth0167.png?128|}} ''Dress167_Description'' (Officer Helmet ) \\ {{:en:dedupe:cloth0168.png?128|}} ''Dress168_Description'' (Officer Shirt) \\ | |M_Officer001_Pants_Boots|{{:en:dedupe:cloth0169.png?128|}} ''Dress169_Description'' (Officer Leather Pants) \\ {{:en:dedupe:cloth0094.png?128|}} ''Dress94_Description'' (Officer Boots) \\ | |Baroque001_Masks|{{:en:dedupe:cloth0131.png?128|}} ''Dress131_Description'' (Venetian Mask) \\ {{:en:dedupe:cloth0135.png?128|}} ''Dress135_Description'' (Venetian Mask) \\ | |Baroque001_WigsShoesMisc|{{:en:dedupe:cloth0058.png?128|}} ''Dress128_Description'' (Corset) \\ {{:en:dedupe:cloth0129.png?128|}} ''Dress129_Description'' (White Garter Belt) \\ {{:en:dedupe:cloth0134.png?128|}} ''Dress134_Description'' (Baroque Pants) \\ {{:en:dedupe:cloth0136.png?128|}} ''Dress136_Description'' (Baroque Wig) \\ {{:en:dedupe:cloth0137.png?128|}} ''Dress137_Description'' (Baroque Wig) \\ {{:en:dedupe:cloth0474.png?128|}} ''Dress474_Description'' (Black Garter Belt) \\ {{:en:dedupe:cloth0086.png?128|}} ''Dress86_Description'' (Baroque Shoes) \\ {{:en:dedupe:cloth0087.png?128|}} ''Dress87_Description'' (Baroque Shoes) \\ | |Gagball001|{{:en:dedupe:tool0019.png?128|}} ''Dress45_Description'' (Gag Ball Female) \\ {{:en:dedupe:tool0019.png?128|}} ''Dress45_G02_Description'' (Gag Ball Male) \\ | |F_Space002_Top_Armguard|{{:en:dedupe:cloth0178.png?128|}} ''Dress178_Description'' (Spacy Top) \\ {{:en:dedupe:cloth0180.png?128|}} ''Dress180_Description'' (Armguards) \\ | ===== .dup Extensions Settings ===== Another issue with texture mods is (or better //was//), that modders cannot control which modded items can be dressed with other items, but had to live with the original item's settings. With .dup extensions, it's now possible, though, to configure dress compatibility and suppression. There are 2 groups of configurations possible now: **%%DontBlock%%** and **%%DontSuppress%%**. ==== DontBlock ==== %%DontBlock%% allows dressing items even if they are configured to use or actually //block// the same area. That means e.g. a skirt can now be dressed with a blouse that overlaps the skirt area by adding a simple line to the .dup file. The list of %%DontBlock%% entries supported as .dup extension are as follows: ^%%.dup entry%% ^Description^ |''DontBlock_Shank''|Dont remove dressed on the shank (mostly used by shoes)| |''DontBlock_Blouse''|Don't remove blouses if used (mostly used by fetish tops)| |''DontBlock_Pants''|Don't block pants or skirts (used by tops)| |''DontBlock_LowerArm''|Don't block lower arm (used by gloves)| |''DontBlock_UpperArm''|Don't block upper arm (used by tops)| |''DontBlock_BraWaist''|Don't block bra/waist area (used by bras+tops)| |''DontBlock_Panties''|Don't block panties (used by skirts, pants, ...)| |''DontBlock_Bra''|Don't block bras (used by catsuit, fetish top, ...)| ==== DontSuppress ==== %%DontSuppress%% enables the modder, to keep items visible or keep features enabled, even if the original item is configured to hide items or suppress features specific areas. Additionally (specifically added for this feature), it allows to disable hiding of body meshes beneath items. With this it's now even possible e.g. to keep the lower leg visible underneath modded shoes. The list of %%DontSupress%% entries supported as .dup extension are as follows: ^.dup entry ^Description^ |''DontSuppress_Pregnant''|Don't suppress pregnant belly| |''DontSuppress_SkirtPanties''|Don't hide parts of panties when dressed with skirts| |''DontSuppress_AtomicTits''|Don't suppress atomic tits| |''DontSuppress_NippleLeftPiercing''|Don't hide left nipple piercing| |''DontSuppress_NippleRightPiercing''|Don't hide right nipple piercing| |''DontSuppress_Bra''|Don't hide the bra| |''DontSuppress_Undershirt''|Don't hide the undershirt (same as bra but for male-speech)| |''DontSuppress_Panties''|Don't hide panties| |''DontSuppress_Garter''|Don't hide garter| |''DontSuppress_BellyPiercing''|Don't hide belly piercing| |''DontSuppress_LowerArm''|Don't hide lower arm clothes| |''DontSuppress_UpperArm''|Don't hide upper arm clothes| |''DontSuppress_Neck''|Don't hide neck clothes| |''DontSuppress_BodyArmLowerL''|Don't hide body mesh lower arm left| |''DontSuppress_BodyArmLowerR''|Don't hide body mesh lower arm right| |''DontSuppress_BodyArmUpperL''|Don't hide body mesh upper arm left| |''DontSuppress_BodyArmUpperR''|Don't hide body mesh upper arm right| |''DontSuppress_BodyHandL''|Don't hide left hand mesh| |''DontSuppress_BodyHandR''|Don't hide right hand mesh| |''DontSuppress_BodyFingernailsL''|Don't hide left fingernails| |''DontSuppress_BodyFingernailsR''|Don't hide right fingernails| |''DontSuppress_BodyLegLowerL''|Don't hide lower leg left| |''DontSuppress_BodyLegLowerR''|Don't hide lower leg right| |''DontSuppress_BodyLegUpperL''|Don't hide upper leg left| |''DontSuppress_BodyLegUpperR''|Don't hide upper leg right| |''DontSuppress_BodyMainLower''|Don't hide lower torso| |''DontSuppress_BodyMainUpper''|Don't hide upper torso| |''DontSuppress_BodyGenitalia''|Don't hide genitalia (male penis)| |''DontSuppress_BodyFootL''|Don't hide foot left| |''DontSuppress_BodyFootR''|Don't hide foot right| |''DontSuppress_TattooLegL''|Don't hide tattoo leg left| |''DontSuppress_TattooLegR''|Don't hide tattoo leg right| |''DontSuppress_TattooLowerBack''|Don't hide tattoo lower back| |''DontSuppress_TattooNippleL''|Don't hide tattoo nipple left| |''DontSuppress_TattooNippleR''|Don't hide tattoo nipple right| |''DontSuppress_TattooShoulder''|Don't hide tattoo shoulder| |''DontSuppress_TattooNeck''|Don't hide tattoo neck| |''DontSuppress_TattooArmR''|Don't hide tattoo on arm| ===== The Tool ===== Please note, that only item duplication can be configured using the //Dedupe// Tool. So, let //Dedupe// create the .dup file first and afterwards add the .dup extension settings! ==== Select Game ==== {{:en:dedupe:dedupe_select_game.jpg?600 |}} First you need to select the game you want to edit the .dup files for. Only installed games are shown here and the first installed game found is selected automatically on starup. ==== Select Items ==== {{:en:dedupe:dedupe_select_items.jpg?600 |}} For every mod that creates duplicates you'll get an entry on the left panel. Double click the folder name and the list of textures gets shown. Then click on the texture and you'll get a list of all items this texture creates. Pick the ones you really want to have. Again, unticking all will result in creating all items. ==== Save ==== {{:en:dedupe:dedupe_save_dup.jpg?600 |}} When you've finished selecting your items, the save button will be enabled. Click it to write the .dup file on disk. The .dup file gets automatically saved when you're selecting another item, too. ==== Download ==== [[http://cdn.content.thrixxx.com/files/DedupeSetup-1.0.2.msi]] Alternative download links if link above doesn't work: * [[http://www.gamerotica.com/DedupeSetup-1.0.2.msi]] * [[http://www.gamerotica.com/DedupeSetup-1.0.2.zip]] * [[http://cdn.content.thrixxx.com/files/DedupeSetup-1.0.2.zip]]