diff --git a/src/art/artJS.js b/src/art/artJS.js index 38305afb7398a1dda553722a14a0f616840ae41d..019cd3b5a05fb62f7852ca04a0f39ab6eaf46424 100644 --- a/src/art/artJS.js +++ b/src/art/artJS.js @@ -191,37 +191,37 @@ window.skinColorCatcher = function (artSlave) { labiaColor: "#d76b93", lipsColor: "#ff69b4" }; - if (artSlave.skin == "camouflage patterned") { + if (artSlave.skin === "camouflage patterned") { colorSlave.skinColor = "#78875a"; colorSlave.areolaColor = "#939F7A"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#708050"; - } else if (artSlave.skin == "dyed red") { + } else if (artSlave.skin === "dyed red") { colorSlave.skinColor = "#bc4949"; colorSlave.areolaColor = "#C96D6D"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#b04040"; - } else if (artSlave.skin == "dyed green") { + } else if (artSlave.skin === "dyed green") { colorSlave.skinColor = "#A6C373"; colorSlave.areolaColor = "#B7CF8F"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#A0C070"; - } else if (artSlave.skin == "dyed blue") { + } else if (artSlave.skin === "dyed blue") { colorSlave.skinColor = "#5b8eb7"; colorSlave.areolaColor = "#7BA4C5"; colorSlave.labiaColor = "#F977A3"; colorSlave.lipsColor = "#5080b0"; - } else if (artSlave.skin == "dyed pink") { + } else if (artSlave.skin === "dyed pink") { colorSlave.skinColor = "#fe62b0"; colorSlave.areolaColor = "#fc45a1"; colorSlave.labiaColor = "#fba2c0"; colorSlave.lipsColor = "#ff4291"; - } else if (artSlave.skin == "dyed gray") { + } else if (artSlave.skin === "dyed gray") { colorSlave.skinColor = "#bdbdbd"; colorSlave.areolaColor = "#666666"; colorSlave.labiaColor = "#8C8C8C"; colorSlave.lipsColor = "#171717"; - } else if (artSlave.skin == "tiger striped") { + } else if (artSlave.skin === "tiger striped") { colorSlave.skinColor = "#e2d75d"; colorSlave.areolaColor = "#E7DF7D"; colorSlave.labiaColor = "#F977A3"; diff --git a/src/art/artWidgets.tw b/src/art/artWidgets.tw index 3c6bf94f054e24b10ca37705f7602c0070f2406b..b0bf63b04dde8f301e8808873843dfe5d28c7105 100644 --- a/src/art/artWidgets.tw +++ b/src/art/artWidgets.tw @@ -31,25 +31,12 @@ $args[2]: icon UI Display for vector art, 1 for on. <<elseif $imageChoice == 1>> /* VECTOR ART BY NOX*/ -<<if ndef $seeVectorArtHighlights>> - <<set $seeVectorArtHighlights = 1>> -<</if>> <<set _artSlave = $args[0] >> -<<silently>> /* prepare HTML color codes for slave display */ /* note: latex clothing is mostly emulated by rubber color for skin (and shoes) */ /* TODO: consistently use American "color" instead of "colour" for all identifiers */ -<<include Art_Vector_Set_Colour_Outfit_>> -<<include Art_Vector_Set_Colour_Skin_>> -<<include Art_Vector_Set_Colour_Hair_>> -<<include Art_Vector_Set_Colour_Shoe_>> -<</silently>> +<<run ArtVectorColor(_artSlave)>> <<include Art_Vector_Generate_Stylesheet_>> -/* -each passage adds one layer of vector art -vector art added later is drawn over previously added art -(what is listed on the bottom in the code appears on the top of the image) -*/ <<= VectorArt(_artSlave)>> <<elseif $imageChoice == 2>> /* VECTOR ART BY NOX - Pregmod Legacy Version */ diff --git a/src/art/vector/ArtVectorColor.js b/src/art/vector/ArtVectorColor.js new file mode 100644 index 0000000000000000000000000000000000000000..f7613a449ef38fa1d2cff96cc6c26ed98244da16 --- /dev/null +++ b/src/art/vector/ArtVectorColor.js @@ -0,0 +1,387 @@ +window.ArtVectorColor = function(slave) { + const T = State.temporary; + let outfitBaseColour; + + /* + WARNING: Some of these temporary variables are used in wardrobeUse.tw or salon.tw + Known examples are _outfitBaseColour, _glassesColor, and _shoeColour + */ + setOutfitColor(); + setSkinColor(); + setHairColor(); + setShoeColor(); + + function setOutfitColor() { + /* TODO: rewrite all textual descriptions not to explicitly mention the latex being of black color. */ + if (slave.clothes === "a Fuckdoll suit" || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit" || slave.clothes === "a cybersuit") + outfitBaseColour = slave.clothingBaseColor || "#515351"; /* use custom color, or use default latex color */ + else if (slave.clothes == "a comfortable bodysuit") + outfitBaseColour = slave.clothingBaseColor || "#464646"; /* use custom color, or use default bodysuit color */ + + /* head addons */ + if (slave.collar === "porcelain mask") + T.glassesColor = slave.glassesColor || "#FFFFFF"; /* use custom color or white */ + else + T.glassesColor = slave.glassesColor || "#010101"; /* use custom color or default */ + + T.eyeColor = extractColor(slave.eyeColor, 1); + T.outfitBaseColour = outfitBaseColour; + } + + function setSkinColor() { + let colorSlave = skinColorCatcher(slave); + + /* setting default values */ + T.areolaStyle = colorSlave.areolaColor; + T.bellybuttonStyle = colorSlave.areolaColor; + T.labiaStyle = colorSlave.labiaColor; + T.skinColour = colorSlave.skinColor; + /* todo: introduce fleshStyle */ + /* these need to be declared so they can be set conditionally */ + T.headSkinStyle = undefined; + T.torsoSkinStyle = undefined; + T.boobSkinStyle = undefined; + T.penisSkinStyle = undefined; + T.scrotumSkinStyle = undefined; + T.bellySkinStyle = undefined; + + /* BEGIN SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */ + if (slave.clothes === "a Fuckdoll suit") { + /* slave is a fuckdoll - display all skin as if it was black rubber */ + T.skinColour = outfitBaseColour; + T.areolaStyle = "fill:rgba(81,83,81,1);"; + T.labiaStyle = T.areolaStyle; + T.bellybuttonStyle = T.areolaStyle; + } else if (slave.clothes === "restrictive latex") { /* slave wears restrictive latex - display most skin as if it was rubber */ + /* nice latex does not cover any privates. */ + T.boobSkinStyle = "fill:"+T.skinColour+";"; + T.penisSkinStyle = "fill:"+T.skinColour+";"; + T.scrotumSkinStyle = "fill:"+T.skinColour+";"; + T.torsoSkinStyle = "fill:"+T.skinColour+";"; + /* rest of body is covered in latex */ + T.skinColour = outfitBaseColour; + T.bellybuttonStyle = outfitBaseColour; + } else if (slave.clothes === "a latex catsuit") { + /* nice latex does not cover head. */ + T.headSkinStyle = "fill:"+T.skinColour+";"; + /* rest of body is covered in latex */ + T.skinColour = outfitBaseColour; + /* catsuit covers areolae and crotch, too */ + T.bellybuttonStyle = outfitBaseColour; + } else if (slave.clothes === "a cybersuit") { + /* rest of body is covered in latex */ + T.skinColour = outfitBaseColour; + T.bellybuttonStyle = outfitBaseColour; + } else if (slave.clothes === "a comfortable bodysuit") { + /* nice bodysuit does not cover head. */ + T.headSkinStyle = "fill:"+T.skinColour+";"; + /* rest of body is covered in bodysuit */ + T.skinColour = outfitBaseColour; + T.bellySkinStyle = outfitBaseColour; + T.bellybuttonStyle = outfitBaseColour; + } + /* END SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */ + + /* outfit dick coloring to match outfit rgba in svg */ + switch (slave.clothes) { + case "a cheerleader outfit": + T.scrotumSkinStyle = "fill:rgba(250,186,0,1);"; + T.bellySkinStyle = "fill:rgba(95,110,160,1);"; + break; + case "cutoffs and a t-shirt": + T.scrotumSkinStyle = "fill:rgba(81,124,211,1);"; + break; + case "a halter top dress": + T.scrotumSkinStyle = "fill:rgba(94,51,124,1);"; + T.bellySkinStyle = "fill:rgba(94,51,124,1);"; + break; + case "a burqa": + case "a hijab and abaya": + case "a niqab and abaya": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + T.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "a hijab and blouse": + T.scrotumSkinStyle = "fill:rgba(85,0,34,1);"; + T.bellySkinStyle = "fill:rgba(85,0,34,1);"; + break; + case "a burkini": + T.scrotumSkinStyle = "fill:rgba(0,97,158,1);"; + T.bellySkinStyle = "fill:rgba(0,97,158,1);"; + break; + case "a klan robe": + T.scrotumSkinStyle = "fill:rgba(236,236,236,1);"; + T.bellySkinStyle = "fill:rgba(236,236,236,1);"; + break; + case "a nice maid outfit": + case "a slutty maid outfit": + T.scrotumSkinStyle = "fill:rgba(225,225,225,1);"; + T.bellySkinStyle = "fill:rgba(225,225,225,1);"; + break; + case "a leotard": + T.scrotumSkinStyle = "fill:rgba(120,15,55,1);"; + T.bellySkinStyle = "fill:rgba(120,15,55,1);"; + break; + case "a military uniform": + T.scrotumSkinStyle = "fill:rgba(34,42,18,1);"; + T.bellySkinStyle = "fill:rgba(34,42,18,1);"; + break; + case "a mini dress": + T.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; + T.bellySkinStyle = "fill:rgba(26,26,26,1);"; + break; + case "a nice nurse outfit": + T.scrotumSkinStyle = "fill:rgba(0,128,128,1);"; + T.bellySkinStyle = "fill:rgba(0,128,128,1);"; + break; + case "a slutty nurse outfit": + T.scrotumSkinStyle = "fill:rgba(255,255,255,1);"; + break; + case "a scalemail bikini": + T.scrotumSkinStyle = "fill:rgba(133,146,158,1);"; + break; + case "striped panties": + T.scrotumSkinStyle = "fill:rgba(255,255,255,1);"; + break; + case "a schoolgirl outfit": + T.scrotumSkinStyle = "fill:rgba(28,31,36,1);"; + T.bellySkinStyle = "fill:rgba(28,31,36,1);"; + break; + case "a ball gown": + T.scrotumSkinStyle = "fill:rgba(128,0,0,1);"; + T.bellySkinStyle = "fill:rgba(128,0,0,1);"; + break; + case "battledress": + T.scrotumSkinStyle = "fill:rgba(34,42,18,1);"; + T.bellySkinStyle = "fill:rgba(34,42,18,1);"; + break; + case "a slave gown": + T.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + T.bellySkinStyle = "fill:rgba(200,200,200,1);"; + break; + case "a slutty outfit": + T.scrotumSkinStyle = "fill:rgba(63,126,181,1);"; + break; + case "spats and a tank top": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "a succubus outfit": + T.scrotumSkinStyle = "fill:rgba(128,0,0,1);"; + T.bellySkinStyle = "fill:rgba(128,0,0,1);"; + break; + case "nice business attire": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + T.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "slutty business attire": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "attractive lingerie for a pregnant woman": + T.scrotumSkinStyle = "fill:rgba(153,153,153,1);"; + break; + case "a bunny outfit": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + T.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "conservative clothing": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + T.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "harem gauze": + T.scrotumSkinStyle = "fill:rgba(0,168,131,1);"; + break; + case "a huipil": + T.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + T.bellySkinStyle = "fill:rgba(200,200,200,1);"; + break; + case "a kimono": + T.scrotumSkinStyle = "fill:rgba(0,91,150,1);"; + T.bellySkinStyle = "fill:rgba(0,91,150,1);"; + break; + case "a maternity dress": + T.scrotumSkinStyle = "fill:rgba(48,54,72,1);"; + T.bellySkinStyle = "fill:rgba(48,54,72,1);"; + break; + case "a slutty qipao": + T.scrotumSkinStyle = "fill:rgba(204,177,68,1);"; + T.bellySkinStyle = "fill:rgba(204,177,68,1);"; + break; + case "stretch pants and a crop-top": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "a toga": + T.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + T.bellySkinStyle = "fill:rgba(200,200,200,1);"; + break; + case "a penitent nuns habit": + T.scrotumSkinStyle = "fill:rgba(114,93,73,1);"; + break; + case "a fallen nuns habit": + T.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "a chattel habit": + T.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + break; + case "a monokini": + T.scrotumSkinStyle = "fill:rgba(33,47,61,1);"; + break; + case "a schutzstaffel uniform": + case "a slutty schutzstaffel uniform": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + T.bellySkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "a red army uniform": + T.scrotumSkinStyle = "fill:rgba(114,93,73,1);"; + T.bellySkinStyle = "fill:rgba(114,93,73,1);"; + break; + case "an apron": + T.scrotumSkinStyle = "fill:rgba(255,105,180,1);"; + T.bellySkinStyle = "fill:rgba(255,105,180,1);"; + break; + case "a dirndl": + T.scrotumSkinStyle = "fill:rgba(128,0,51,1);"; + T.bellySkinStyle = "fill:rgba(128,0,51,1);"; + break; + case "lederhosen": + T.scrotumSkinStyle = "fill:rgba(93,83,108,1);"; + break; + case "a long qipao": + T.scrotumSkinStyle = "fill:rgba(0,128,0,1);"; + break; + case "a mounty outfit": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + T.bellySkinStyle = "fill:rgba(128,0,0,1);"; + break; + case "battlearmor": + T.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; + break; + case "striped underwear": + T.scrotumSkinStyle = "fill:rgba(255,255,255,1);"; + break; + case "panties": + T.scrotumSkinStyle = "fill:rgba(255,170,238,1);"; + break; + case "a thong": + T.scrotumSkinStyle = "fill:rgba(34,28,36,1);"; + break; + case "a button-up shirt and panties": + case "a t-shirt and panties": + T.scrotumSkinStyle = "fill:rgba(255,255,255,1);"; + T.bellySkinStyle = "fill:rgba(255,255,255,1);"; + break; + case "a slutty klan robe": + T.scrotumSkinStyle = "fill:rgba(128,0,0,1);"; + break; + case "cutoffs": + T.scrotumSkinStyle = "fill:rgba(81,124,211,1);"; + break; + case "sport shorts": + case "sport shorts and a sports bra": + T.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; + break; + case "a t-shirt and thong": + T.scrotumSkinStyle = "fill:rgba(200,55,171,1);"; + T.bellySkinStyle = "fill:rgba(200,55,171,1);"; + break; + case "jeans": + T.scrotumSkinStyle = "fill:rgba(81,124,211,1);"; + break; + case "leather pants": + case "leather pants and a tube top": + T.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; + break; + case "leather pants and pasties": + T.scrotumSkinStyle = "fill:rgba(85,0,0,1);"; + break; + case "a t-shirt and jeans": + T.scrotumSkinStyle = "fill:rgba(81,124,211,1);"; + T.bellySkinStyle = "fill:rgba(255,255,255,1);"; + break; + case "a tank-top and panties": + T.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; + T.bellySkinStyle = "fill:rgba(26,26,26,1);"; + break; + case "a tank-top": + T.bellySkinStyle = "fill:rgba(255,255,255,1);"; + break; + case "a tube top and thong": + T.scrotumSkinStyle = "fill:rgba(34,28,36,1);"; + break; + case "boyshorts": + T.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; + break; + case "an oversized t-shirt and boyshorts": + T.bellySkinStyle = "fill:rgba(255,255,255,1);"; + break; + case "a sweater and panties": + T.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; + T.bellySkinStyle = "fill:rgba(212,170,0,1);"; + break; + case "a sweater and cutoffs": + T.scrotumSkinStyle = "fill:rgba(77,77,77,1);"; + T.bellySkinStyle = "fill:rgba(85,0,0,1);"; + break; + case "a police uniform": + T.scrotumSkinStyle = "fill:rgba(11,23,40,1);"; + T.bellySkinStyle = "fill:rgba(11,23,40,1);"; + break; + case "a one-piece swimsuit": + T.scrotumSkinStyle = "fill:rgba(22,45,80,1);"; + T.bellySkinStyle = "fill:rgba(22,45,80,1);"; + break; + case "a skimpy loincloth": + T.scrotumSkinStyle = "fill:rgba(145,124,111,1);"; + break; + case "kitty lingerie": + T.scrotumSkinStyle = "fill:rgba(255,170,238,1);"; + break; + case "an oversized t-shirt": + T.bellySkinStyle = "fill:rgba(255,255,255,1);"; + break; + case "a hanbok": + T.bellySkinStyle = "fill:rgba(255,109,182,1);"; + break; + case "a gothic lolita dress": + T.bellySkinStyle = "fill:rgba(26,26,26,1);"; + break; + case "a sweater": + T.bellySkinStyle = "fill:rgba(85,0,0,1);"; + break; + case "sport shorts and a t-shirt": + T.scrotumSkinStyle = "fill:rgba(200,55,171,1);"; + T.bellySkinStyle = "fill:rgba(200,55,171,1);"; + break; + case "a biyelgee costume": + T.scrotumSkinStyle = "fill:rgba(33,68,120,1);"; + } + } + + function setHairColor() { + T.hairColour = extractColor(slave.hColor); + T.pubicHairColour = extractColor(slave.pubicHColor); + T.underarmHairColour = extractColor(slave.underArmHColor); + T.eyebrowHairColour = extractColor(slave.eyebrowHColor); + T.sclerae = extractColor(slave.sclerae); + } + + function setShoeColor() { + /* BEWARE: _shoeColour is read by Wardrobe Use */ + + /* note: only heels use this shadow */ + T.shoeShadowColour = "#616a6b"; + + if (slave.shoes === "none") + T.shoeColour = "#595959"; + else + T.shoeColour = "#80808080"; + + /* override color in case of full body latex outfit, or custom color*/ + if (slave.clothes === "a Fuckdoll suit" || slave.clothes === "restrictive latex") { + T.shoeColour = T.skinColour; + T.shoeShadowColour = T.shoeColour+";opacity: 0.5"; /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */ + } else if (slave.shoeColor !== undefined) { + T.shoeColour = slave.shoeColor+";opacity: 0.4"; /* shoe color selected by user */ + T.shoeShadowColour = T.shoeColour+";opacity: 0.5"; /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */ + } + } +}; diff --git a/src/art/vector/Set_Colour_Hair.tw b/src/art/vector/Set_Colour_Hair.tw deleted file mode 100644 index 3e7470c2836db883493a87b5cb8d3aa53d03a506..0000000000000000000000000000000000000000 --- a/src/art/vector/Set_Colour_Hair.tw +++ /dev/null @@ -1,13 +0,0 @@ -:: Art_Vector_Set_Colour_Hair_ [nobr] - -/* -"Free-Cities Dyes (taken from Cosmetic Rules Assistant Settings)"- -to-"HTML Color"-Map -courtesy of Nov-X -*/ - -<<set _hairColour = extractColor(_artSlave.hColor) >> -<<set _pubicHairColour = extractColor(_artSlave.pubicHColor) >> -<<set _underarmHairColour = extractColor(_artSlave.underArmHColor) >> -<<set _eyebrowHairColour = extractColor(_artSlave.eyebrowHColor) >> -<<set _sclerae = extractColor(_artSlave.sclerae) >> \ No newline at end of file diff --git a/src/art/vector/Set_Colour_Outfit.js b/src/art/vector/Set_Colour_Outfit.js deleted file mode 100644 index b48d35a8078bce83a423d3ed7f5671209b02cdd3..0000000000000000000000000000000000000000 --- a/src/art/vector/Set_Colour_Outfit.js +++ /dev/null @@ -1,53 +0,0 @@ -window.Art_Vector_Set_Colour_Outfit = function(artSlave) { - -var s = { - outfitBaseColour : undefined, - glassesColor : undefined - } - -if (artSlave.fuckdoll != 0 || artSlave.clothes == "restrictive latex" || artSlave.clothes == "a latex catsuit" || artSlave.clothes == "a cybersuit") { - s.outfitBaseColour = "#515351" ; /* standard "black rubber" latex color */ - if (artSlave.clothingBaseColor) { - s.outfitBaseColour = artSlave.clothingBaseColor ; /* latex color selected by user */ - /* TODO: rewrite all textual descriptions not to explicitly mention the latex being of black color. */ - } -} - -if (artSlave.fuckdoll != 0 || artSlave.clothes == "a comfortable bodysuit") { - s.outfitBaseColour = "#464646" ; /* bodysuit */ - if (artSlave.clothingBaseColor) { - s.outfitBaseColour = artSlave.clothingBaseColor ; /* bodysuit color selected by user */ - } -} - -/* head addons */ -switch (artSlave.eyewear) { - case "corrective glasses": - case "glasses": - case "blurring glasses": - s.glassesColor = "#010101"; - break; - default: - /* use color for "glasses" by default */ - s.glassesColor = "#010101"; - } - -switch (artSlave.collar) { - case "porcelain mask": - s.glassesColor = "#FFFFFF"; - break; - default: - /* use color for "mask" by default */ - s.glassesColor = "#010101"; - } - -if (artSlave.glassesColor) { - s.glassesColor = artSlave.glassesColor; /* glasses color selected by user */ -} - -if (artSlave.eyeColor) { - s.eyeColor = extractColor(artSlave.eyeColor, 1); -} - -return s; -} diff --git a/src/art/vector/Set_Colour_Outfit.tw b/src/art/vector/Set_Colour_Outfit.tw deleted file mode 100644 index 08c35b6c1e0c0a5123f1b1a160a4ded6da620c7e..0000000000000000000000000000000000000000 --- a/src/art/vector/Set_Colour_Outfit.tw +++ /dev/null @@ -1,10 +0,0 @@ -:: Art_Vector_Set_Colour_Outfit_ - -/* BEWARE: _outfitBaseColour is used by Art_Vector_Set_Colour_Skin_ */ -/* BEWARE: _outfitBaseColour is read by Wardrobe Use */ -/* BEWARE: _glassesColor is read by Wardrobe Use */ - -<<set _s = Art_Vector_Set_Colour_Outfit(_artSlave) >> -<<set _outfitBaseColour = _s.outfitBaseColour>> -<<set _glassesColor = _s.glassesColor>> -<<set _eyeColor = _s.eyeColor>> \ No newline at end of file diff --git a/src/art/vector/Set_Colour_Shoe.tw b/src/art/vector/Set_Colour_Shoe.tw deleted file mode 100644 index c33f5997f3ceb5d52b7b12e81488da820f7eea4a..0000000000000000000000000000000000000000 --- a/src/art/vector/Set_Colour_Shoe.tw +++ /dev/null @@ -1,33 +0,0 @@ -:: Art_Vector_Set_Colour_Shoe_ [nobr] - -/* courtesy of Nov-X */ - -/* BEWARE: _shoeColour is read by Wardrobe Use */ - -/* note: only heels use this shadow */ -<<set _shoeShadowColour = "#616a6b">> - -<<switch _artSlave.shoes>> -<<case "extreme heels" "heels">> - <<set _shoeColour = "#80808080">> -<<case "boots">> - <<set _shoeColour = "#80808080">> -<<case "flats">> - <<set _shoeColour = "#80808080">> -<<case "pumps">> - <<set _shoeColour = "#80808080">> -<<default>> - /* use color for "heels" by default */ - <<set _shoeColour = "#595959">> -<</switch>> - -<<if def _artSlave.shoeColor>> - <<set _shoeColour = _artSlave.shoeColor+";opacity: 0.4">> /* shoe color selected by user */ - <<set _shoeShadowColour = _shoeColour+";opacity: 0.5">> /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */ -<</if>> - -/* override color in case of full body latex outfit */ -<<if _artSlave.fuckdoll != 0 || _artSlave.clothes == "restrictive latex" >> - <<set _shoeColour = _skinColour>> - <<set _shoeShadowColour = _shoeColour+";opacity: 0.5">> /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */ -<</if>> diff --git a/src/art/vector/Set_Colour_Skin.js b/src/art/vector/Set_Colour_Skin.js deleted file mode 100644 index 790667177f9c73853427d39531648686a2aafd2a..0000000000000000000000000000000000000000 --- a/src/art/vector/Set_Colour_Skin.js +++ /dev/null @@ -1,370 +0,0 @@ -window.Art_Vector_Set_Colour_Skin = function(artSlave, outfitBaseColour) { - -/* create an aggregator object yielding all computed styles */ -var s = { - areolaStyle: "#d76b93", /* this is the default and can be customized later */ - labiaStyle: "#d76b93", /* this is the default and can be customized later */ - bellybuttonStyle: "#d76b93", - /* todo: introduce fleshStyle */ - /* these need to be declared so they can be set conditionally */ - headSkinStyle: undefined, - torsoSkinStyle: undefined, - boobSkinStyle: undefined, - penisSkinStyle: undefined, - scrotumSkinStyle: undefined, - bellySkinStyle: undefined, - skinColour: undefined, - eyeColor: undefined, -} - - var colorSlave = skinColorCatcher(artSlave); - s.areolaStyle = colorSlave.areolaColor; - s.bellybuttonStyle = colorSlave.areolaColor; - s.labiaStyle = colorSlave.labiaColor; - s.skinColour = colorSlave.skinColor; - -/* BEGIN SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */ - -if (artSlave.fuckdoll != 0) { - /* slave is a fuckdoll - display all skin as if it was black rubber */ - s.skinColour = outfitBaseColour; - s.areolaStyle = "fill:rgba(81,83,81,1);"; - s.labiaStyle = s.areolaStyle; - s.bellybuttonStyle = s.areolaStyle; -} - -/* slave wears restrictive latex - display most skin as if it was rubber */ -if (artSlave.clothes == "restrictive latex") { - /* nice latex does not cover any privates. */ - s.boobSkinStyle = "fill:"+s.skinColour+";"; - s.penisSkinStyle = "fill:"+s.skinColour+";"; - s.scrotumSkinStyle = "fill:"+s.skinColour+";"; - s.torsoSkinStyle = "fill:"+s.skinColour+";"; - /* rest of body is covered in latex */ - s.skinColour = outfitBaseColour; - s.bellybuttonStyle = outfitBaseColour; -} - -if (artSlave.clothes == "a latex catsuit") { - /* nice latex does not cover head. */ - s.headSkinStyle = "fill:"+s.skinColour+";"; - /* rest of body is covered in latex */ - s.skinColour = outfitBaseColour; - /* catsuit covers areolae and crotch, too */ - s.bellybuttonStyle = outfitBaseColour; -} - -if (artSlave.clothes == "a cybersuit") { - /* rest of body is covered in latex */ - s.skinColour = outfitBaseColour; - s.bellybuttonStyle = outfitBaseColour; -} - -/* END SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */ - -if (artSlave.clothes == "a comfortable bodysuit") { - /* nice bodysuit does not cover head. */ - s.headSkinStyle = "fill:"+s.skinColour+";"; - /* rest of body is covered in bodysuit */ - s.skinColour = outfitBaseColour; - s.bellySkinStyle = outfitBaseColour; - s.bellybuttonStyle = outfitBaseColour; -} - -/* outfit dick coloring to match outfit rgba in svg */ -switch (artSlave.clothes) { -case "a cheerleader outfit": - s.scrotumSkinStyle = "fill:rgba(250,186,0,1);"; - s.bellySkinStyle = "fill:rgba(95,110,160,1);"; - break; -case "cutoffs and a t-shirt": - s.scrotumSkinStyle = "fill:rgba(81,124,211,1);"; - break; -case "a halter top dress": - s.scrotumSkinStyle = "fill:rgba(94,51,124,1);"; - s.bellySkinStyle = "fill:rgba(94,51,124,1);"; - break; -case "a hijab and abaya": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - s.bellySkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "a niqab and abaya": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - s.bellySkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "a burqa": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - s.bellySkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "a hijab and blouse": - s.scrotumSkinStyle = "fill:rgba(85,0,34,1);"; - s.bellySkinStyle = "fill:rgba(85,0,34,1);"; - break; -case "a burkini": - s.scrotumSkinStyle = "fill:rgba(0,97,158,1);"; - s.bellySkinStyle = "fill:rgba(0,97,158,1);"; - break; -case "a klan robe": - s.scrotumSkinStyle = "fill:rgba(236,236,236,1);"; - s.bellySkinStyle = "fill:rgba(236,236,236,1);"; - break; -case "a nice maid outfit": - s.scrotumSkinStyle = "fill:rgba(225,225,225,1);"; - s.bellySkinStyle = "fill:rgba(225,225,225,1);"; - break; -case "a slutty maid outfit": - s.scrotumSkinStyle = "fill:rgba(225,225,225,1);"; - s.bellySkinStyle = "fill:rgba(225,225,225,1);"; - break; -case "a leotard": - s.scrotumSkinStyle = "fill:rgba(120,15,55,1);"; - s.bellySkinStyle = "fill:rgba(120,15,55,1);"; - break; -case "a military uniform": - s.scrotumSkinStyle = "fill:rgba(34,42,18,1);"; - s.bellySkinStyle = "fill:rgba(34,42,18,1);"; - break; -case "a mini dress": - s.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; - s.bellySkinStyle = "fill:rgba(26,26,26,1);"; - break; -case "a nice nurse outfit": - s.scrotumSkinStyle = "fill:rgba(0,128,128,1);"; - s.bellySkinStyle = "fill:rgba(0,128,128,1);"; - break; -case "a slutty nurse outfit": - s.scrotumSkinStyle = "fill:rgba(255,255,255,1);"; - break; -case "a scalemail bikini": - s.scrotumSkinStyle = "fill:rgba(133,146,158,1);"; - break; -case "striped panties": - s.scrotumSkinStyle = "fill:rgba(255,255,255,1);"; - break; -case "a schoolgirl outfit": - s.scrotumSkinStyle = "fill:rgba(28,31,36,1);"; - s.bellySkinStyle = "fill:rgba(28,31,36,1);"; - break; -case "a ball gown": - s.scrotumSkinStyle = "fill:rgba(128,0,0,1);"; - s.bellySkinStyle = "fill:rgba(128,0,0,1);"; - break; -case "battledress": - s.scrotumSkinStyle = "fill:rgba(34,42,18,1);"; - s.bellySkinStyle = "fill:rgba(34,42,18,1);"; - break; -case "a slave gown": - s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; - s.bellySkinStyle = "fill:rgba(200,200,200,1);"; - break; -case "a slutty outfit": - s.scrotumSkinStyle = "fill:rgba(63,126,181,1);"; - break; -case "spats and a tank top": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "a succubus outfit": - s.scrotumSkinStyle = "fill:rgba(128,0,0,1);"; - s.bellySkinStyle = "fill:rgba(128,0,0,1);"; - break; -case "nice business attire": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - s.bellySkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "slutty business attire": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "attractive lingerie for a pregnant woman": - s.scrotumSkinStyle = "fill:rgba(153,153,153,1);"; - break; -case "a bunny outfit": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - s.bellySkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "conservative clothing": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - s.bellySkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "harem gauze": - s.scrotumSkinStyle = "fill:rgba(0,168,131,1);"; - break; -case "a huipil": - s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; - s.bellySkinStyle = "fill:rgba(200,200,200,1);"; - break; -case "a kimono": - s.scrotumSkinStyle = "fill:rgba(0,91,150,1);"; - s.bellySkinStyle = "fill:rgba(0,91,150,1);"; - break; -case "a maternity dress": - s.scrotumSkinStyle = "fill:rgba(48,54,72,1);"; - s.bellySkinStyle = "fill:rgba(48,54,72,1);"; - break; -case "a slutty qipao": - s.scrotumSkinStyle = "fill:rgba(204,177,68,1);"; - s.bellySkinStyle = "fill:rgba(204,177,68,1);"; - break; -case "stretch pants and a crop-top": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "a toga": - s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; - s.bellySkinStyle = "fill:rgba(200,200,200,1);"; - break; -case "a penitent nuns habit": - s.scrotumSkinStyle = "fill:rgba(114,93,73,1);"; - break; -case "a chattel habit": - s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; - break; -case "a monokini": - s.scrotumSkinStyle = "fill:rgba(33,47,61,1);"; - break; -case "a schutzstaffel uniform": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - s.bellySkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "a slutty schutzstaffel uniform": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - s.bellySkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "a red army uniform": - s.scrotumSkinStyle = "fill:rgba(114,93,73,1);"; - s.bellySkinStyle = "fill:rgba(114,93,73,1);"; - break; -case "an apron": - s.scrotumSkinStyle = "fill:rgba(255,105,180,1);"; - s.bellySkinStyle = "fill:rgba(255,105,180,1);"; - break; -case "a fallen nuns habit": - s.bellySkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "a dirndl": - s.scrotumSkinStyle = "fill:rgba(128,0,51,1);"; - s.bellySkinStyle = "fill:rgba(128,0,51,1);"; - break; -case "lederhosen": - s.scrotumSkinStyle = "fill:rgba(93,83,108,1);"; - break; -case "a long qipao": - s.scrotumSkinStyle = "fill:rgba(0,128,0,1);"; - break; -case "a mounty outfit": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - s.bellySkinStyle = "fill:rgba(128,0,0,1);"; - break; -case "battlearmor": - s.scrotumSkinStyle = "fill:rgba(200,200,200,1);"; - break; -case "striped underwear": - s.scrotumSkinStyle = "fill:rgba(255,255,255,1);"; - break; -case "panties": - s.scrotumSkinStyle = "fill:rgba(255,170,238,1);"; - break; -case "a thong": - s.scrotumSkinStyle = "fill:rgba(34,28,36,1);"; - break; -case "a button-up shirt and panties": - s.scrotumSkinStyle = "fill:rgba(255,255,255,1);"; - s.bellySkinStyle = "fill:rgba(255,255,255,1);"; - break; -case "a slutty klan robe": - s.scrotumSkinStyle = "fill:rgba(128,0,0,1);"; - break; -case "cutoffs": - s.scrotumSkinStyle = "fill:rgba(81,124,211,1);"; - break; -case "sport shorts": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "sport shorts": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "sport shorts and a sports bra": - s.scrotumSkinStyle = "fill:rgba(51,51,51,1);"; - break; -case "a t-shirt and thong": - s.scrotumSkinStyle = "fill:rgba(200,55,171,1);"; - s.bellySkinStyle = "fill:rgba(200,55,171,1);"; - break; -case "a t-shirt and panties": - s.scrotumSkinStyle = "fill:rgba(255,255,255,1);"; - s.bellySkinStyle = "fill:rgba(255,255,255,1);"; - break; -case "jeans": - s.scrotumSkinStyle = "fill:rgba(81,124,211,1);"; - break; -case "leather pants": - s.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; - break; -case "leather pants and pasties": - s.scrotumSkinStyle = "fill:rgba(85,0,0,1);"; - break; -case "leather pants and a tube top": - s.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; - break; -case "a t-shirt and jeans": - s.scrotumSkinStyle = "fill:rgba(81,124,211,1);"; - s.bellySkinStyle = "fill:rgba(255,255,255,1);"; - break; -case "a tank-top and panties": - s.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; - s.bellySkinStyle = "fill:rgba(26,26,26,1);"; - break; -case "a tank-top": - s.bellySkinStyle = "fill:rgba(255,255,255,1);"; - break; -case "a tube top and thong": - s.scrotumSkinStyle = "fill:rgba(34,28,36,1);"; - break; -case "boyshorts": - s.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; - break; -case "an oversized t-shirt and boyshorts": - s.bellySkinStyle = "fill:rgba(255,255,255,1);"; - break; -case "a sweater and panties": - s.scrotumSkinStyle = "fill:rgba(26,26,26,1);"; - s.bellySkinStyle = "fill:rgba(212,170,0,1);"; - break; -case "a sweater and cutoffs": - s.scrotumSkinStyle = "fill:rgba(77,77,77,1);"; - s.bellySkinStyle = "fill:rgba(85,0,0,1);"; - break; -case "a police uniform": - s.scrotumSkinStyle = "fill:rgba(11,23,40,1);"; - s.bellySkinStyle = "fill:rgba(11,23,40,1);"; - break; -case "a one-piece swimsuit": - s.scrotumSkinStyle = "fill:rgba(22,45,80,1);"; - s.bellySkinStyle = "fill:rgba(22,45,80,1);"; - break; -case "a skimpy loincloth": - s.scrotumSkinStyle = "fill:rgba(145,124,111,1);"; - break; -case "kitty lingerie": - s.scrotumSkinStyle = "fill:rgba(255,170,238,1);"; - break; -case "an oversized t-shirt": - s.bellySkinStyle = "fill:rgba(255,255,255,1);"; - break; -case "a hanbok": - s.bellySkinStyle = "fill:rgba(255,109,182,1);"; - break; -case "a gothic lolita dress": - s.bellySkinStyle = "fill:rgba(26,26,26,1);"; - break; -case "a sweater": - s.bellySkinStyle = "fill:rgba(85,0,0,1);"; - break; -case "sport shorts and a t-shirt": - s.scrotumSkinStyle = "fill:rgba(200,55,171,1);"; - s.bellySkinStyle = "fill:rgba(200,55,171,1);"; - break; -case "a biyelgee costume": - s.scrotumSkinStyle = "fill:rgba(33,68,120,1);"; -} - -return s; -} diff --git a/src/art/vector/Set_Colour_Skin.tw b/src/art/vector/Set_Colour_Skin.tw deleted file mode 100644 index 2e2fba0e1480ab2f77e6c59d5d7436135affb79e..0000000000000000000000000000000000000000 --- a/src/art/vector/Set_Colour_Skin.tw +++ /dev/null @@ -1,15 +0,0 @@ -:: Art_Vector_Set_Colour_Skin_ - -/* BEWARE: _outfitBaseColour is set by Art_Vector_Set_Colour_Outfit_ */ - -<<set _s = Art_Vector_Set_Colour_Skin(_artSlave, _outfitBaseColour) >> -<<set _areolaStyle = _s.areolaStyle>> -<<set _bellySkinStyle = _s.bellySkinStyle>> -<<set _boobSkinStyle = _s.boobSkinStyle>> -<<set _headSkinStyle = _s.headSkinStyle>> -<<set _labiaStyle = _s.labiaStyle>> -<<set _penisSkinStyle = _s.penisSkinStyle>> -<<set _scrotumSkinStyle = _s.scrotumSkinStyle>> -<<set _skinColour = _s.skinColour>> -<<set _torsoSkinStyle = _s.torsoSkinStyle>> -<<set _bellybuttonStyle = _s.bellybuttonStyle>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 4508a44250de139840eff4d038b575ebe30bdc72..95bd960c17f821c111cf6684de7659216dffe84b 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -2484,6 +2484,9 @@ Setting missing global variables: <<set $PCSlutContacts = 1>> <</if>> +<<if ndef $seeVectorArtHighlights>> + <<set $seeVectorArtHighlights = 1>> +<</if>> <<if ndef $seeFaces>> <<set $seeFaces = 1>> <</if>>