; AstraYao

; Constants -------------------------

[Constants]
global $active = 0
global $creditinfo = 0
global persist $headpiece = 2
global persist $choker = 0
global persist $jacketArms = 5
global persist $jacketFrills = 0
global persist $wrists = 0
global persist $top = 8
global persist $nipples = 0
global persist $dress = 5
global persist $bottom = 7
global persist $pussy = 0
global persist $pussyOut = 1
global persist $legs = 5
global persist $shoes = 0
global persist $cumTits = 0
global persist $cumBelly  = 0
global persist $cumPussy  = 0
global persist $cumThighs  = 0
global persist $pubes = 0
global persist $WT = 0
global persist $outfit = 0

 

;Keymappings for individual clothing items -------------------------
[KeyjacketArms]
condition = $active == 1
key = no_modifiers 6
type = cycle
$jacketArms = 5,6,7,8
$creditinfo = 0

[Keyheadpiece]
condition = $active == 1
key = alt 6
type = cycle
$headpiece = 0,2
$creditinfo = 0

 

[Keychoker]
condition = $active == 1
key = no_modifiers 7
type = cycle
$choker = 0,1,3
$creditinfo = 0
 

[Keytop]
condition = $active == 1
key = no_modifiers y
type = cycle
$top = 8,13
$creditinfo = 0


[Keybottom]
condition = $active == 1
key = no_modifiers h
type = cycle
$bottom = 7,11
$creditinfo = 0



 

[Keylegs]
condition = $active == 1
key = no_modifiers n
type = cycle
$legs = 1,5
$creditinfo = 0

[Keyshoes]
condition = $active == 1
key = alt n
type = cycle
$shoes = 0,1,2
$creditinfo = 0

[KeyPubes]
condition = $active == 1
key = =
type = cycle
$pubes = 0,1
$creditinfo = 0

[KeyWT]
condition = $active == 1
key = _
type = cycle
$WT = 0,1
$creditinfo = 0

 
 

;Present Section -------------------------
[Present]
post $active = 0
run = CommandListCreditInfo
if $bottom == 14
run = CommandListGapeAnimT1
endif

; Overrides -------------------------

[TextureOverrideAstraYaoHeadBlend]
hash = c3c08f85
handling = skip
vb2 = ResourceAstraYaoHeadBlend
if DRAW_TYPE == 1
	vb0 = ResourceAstraYaoHeadPosition
	draw = 7269, 0

	$active = 1
endif

[TextureOverrideAstraYaoHeadTexcoord]
hash = 8ba0b335
vb1 = ResourceAstraYaoHeadTexcoord

[TextureOverrideAstraYaoHeadVertexLimitRaise]
hash = d3c951b9
override_vertex_count = 7269
override_byte_stride = 40

[TextureOverrideAstraYaoDressBlend]
hash = 9d35c352
handling = skip
vb2 = ResourceAstraYaoDressBlend
if DRAW_TYPE == 1
	vb0 = ResourceAstraYaoDressPosition
	draw = 135769, 0

	$active = 1
endif

[TextureOverrideAstraYaoDressTexcoord]
hash = 240d8c83
vb1 = ResourceAstraYaoDressTexcoord

[TextureOverrideAstraYaoDressVertexLimitRaise]
hash = 13a07361
override_vertex_count = 135769
override_byte_stride = 40

[TextureOverrideAstraYaoBodyBlend]
hash = bc4d6455
handling = skip
vb2 = ResourceAstraYaoBodyBlend
if DRAW_TYPE == 1
	vb0 = ResourceAstraYaoBodyPosition
	draw = 576465, 0

	$active = 1
endif

[TextureOverrideAstraYaoBodyTexcoord]
hash = 1433ee78
vb1 = ResourceAstraYaoBodyTexcoord

[TextureOverrideAstraYaoBodyVertexLimitRaise]
hash = 8a8dbdc5
override_vertex_count = 576465
override_byte_stride = 40

[TextureOverrideAstraYaoHeadIB]
hash = 53cdac6c
handling = skip

[TextureOverrideAstraYaoHeadA]
hash = 53cdac6c
match_first_index = 0
ib = ResourceAstraYaoHeadAIB
Resource\ZZMI\Diffuse = ref ResourceAstraYaoBodyADiffuse
Resource\ZZMI\NormalMap = ref ResourceAstraYaoBodyANormalMap
Resource\ZZMI\LightMap = ref ResourceAstraYaoBodyALightMap
Resource\ZZMI\MaterialMap = ref ResourceAstraYaoBodyAMaterialMap
run = CommandList\ZZMI\SetTextures
; AY Bangs (2073)
drawindexed = 5679, 0, 0

[TextureOverrideAstraYaoHeadB]
hash = 53cdac6c
match_first_index = 4368
ib = ResourceAstraYaoHeadBIB
run = CommandList\ZZMI\SetTextures
; AY Earrings (536)
drawindexed = 1296, 0, 0
; AY Hair Ornament (1047)
drawindexed = 3570, 1296, 0
; AY Hair.Back (3613)
drawindexed = 10917, 4866, 0

[TextureOverrideAstraYaoDressIB]
hash = 7a110804
handling = skip

[TextureOverrideAstraYaoDressA]
hash = 7a110804
match_first_index = 0
ib = ResourceAstraYaoDressAIB
Resource\ZZMI\Diffuse = ref ResourceAstraYaoBodyADiffuse
Resource\ZZMI\NormalMap = ref ResourceAstraYaoBodyANormalMap
Resource\ZZMI\LightMap = ref ResourceAstraYaoBodyALightMap
Resource\ZZMI\MaterialMap = ref ResourceAstraYaoBodyAMaterialMap
run = CommandList\ZZMI\SetTextures

; Head
; AY Hair Ornament.TasselRing (1070)
drawindexed = 3876, 0, 0

if $headpiece == 0
elif $headpiece == 1
; Bunny Headband (528)
drawindexed = 2424, 3876, 0
elif $headpiece == 2
; Xmas Santa Hat (7904)
drawindexed = 45312, 6300, 0
endif

; Dress Neck
if $choker == 0
; Dress Choker (126)
drawindexed = 384, 57690, 0
; Dress Choker Ribbon (252)
drawindexed = 738, 58074, 0
; Dress Pearl Necklace (426)
drawindexed = 1584, 58812, 0
	if $top == 0
		; AY Jacket.Dress Under Jacket.BackChokerConnector (64)
		drawindexed = 168, 150318, 0
	endif
elif $choker == 1
; Choker Tag (282)
drawindexed = 672, 57018, 0
elif $choker == 2
; Bunny Suit Collar (1431)
drawindexed = 5406, 51612, 0
elif $choker == 3
endif

; Dress Arms
if $jacketArms == 0
 
elif $jacketArms == 5
; Xmas Gloves (7562)
drawindexed = 40728, 450465, 0
; Xmas Shawl (6804)
drawindexed = 35616, 491193, 0
elif $jacketArms == 6
; Xmas Gloves (7562)
drawindexed = 40728, 450465, 0
elif $jacketArms == 7
; Xmas Shawl (6804)
drawindexed = 35616, 491193, 0
elif $jacketArms == 8
; No Arm Covers
endif

if $jacketArms <= 3
	if $jacketFrills == 0
	; Dress Jacket Frills (1847)
	drawindexed = 6054, 93432, 0
	endif
endif

if $jacketArms != 4
; AstraBody Upper.Arms (1738)
drawindexed = 9348, 60396, 0
endif

if $jacketArms >= 4
if $wrists == 0
; Dress Bangles.L (307)
drawindexed = 1032, 92400, 0
elif $wrists == 1
; Big Bangle (136)
drawindexed = 384, 69744, 0
; Pearl Bangles.R (1072)
drawindexed = 4704, 119016, 0
elif $wrists == 2
; Dress Bangles.L (307)
drawindexed = 1032, 92400, 0
; Big Bangle (136)
drawindexed = 384, 69744, 0
; Pearl Bangles.R (1072)
drawindexed = 4704, 119016, 0
elif $wrists == 3
; Dress Bangles.L (307)
drawindexed = 1032, 92400, 0
; Pearl Bangles.R (1072)
drawindexed = 4704, 119016, 0
elif $wrists == 4
; Big Bangle (136)
drawindexed = 384, 69744, 0
elif $wrists == 5
; Pearl Bangles.R (1072)
drawindexed = 4704, 119016, 0
elif $wrists == 6
; Bunny Suit Cuffs (1119)
drawindexed = 3936, 88464, 0
elif $wrists == 7
; No Bangles
endif
else
	if $wrists <= 4
	; Dress Bangles.L (307)
	drawindexed = 1032, 92400, 0
	else
	; No Bangles
	endif
endif


; Dress Chest
if $top == 0
; AY Dress Bra (535)
drawindexed = 2406, 137352, 0
	if $dress <= 3 || ($bottom <= 3 && $bottom > 0)
	; AY Dress BunnySuit.Top (433)
	drawindexed = 1260, 526809, 0
	else
	; AY Dress Top.Corset (346)
	drawindexed = 1014, 529197, 0
	endif

; AY Dress Mid.Backfrills (56)
drawindexed = 156, 142176, 0
elif $top == 1
; AstraBody Upper.TitsOut (3818)
drawindexed = 20094, 209448, 0
; AY Dress Bra Cover Down (571)
drawindexed = 2418, 139758, 0
	if $dress <= 3 || ($bottom <= 3 && $bottom > 0)
	; AY Dress BunnySuit.Top (433)
	drawindexed = 1260, 526809, 0
	else
	; AY Dress Top.Corset (346)
	drawindexed = 1014, 529197, 0
	endif
; ; AY Dress Mid (369)
; drawindexed = 1128, 528069, 0
; AY Dress Mid.Backfrills (56)
drawindexed = 156, 142176, 0
elif $top == 2
; AstraBody Upper.TitsOut (3818)
drawindexed = 20094, 209448, 0
	if $dress <= 3 || ($bottom <= 3 && $bottom > 0)
	; AY Dress BunnySuit.Top (433)
	drawindexed = 1260, 526809, 0
	else
	; AY Dress Top.Corset (346)
	drawindexed = 1014, 529197, 0
	endif
; ; AY Dress Mid (369)
; drawindexed = 1128, 528069, 0
; AY Dress Mid.Backfrills (56)
drawindexed = 156, 142176, 0
elif $top == 3
; White Lacy Bra (1354)
drawindexed = 6264, 437205, 0
elif $top == 4
; White Lacy Bra.Open (1724)
drawindexed = 6996, 443469, 0
elif $top == 5
; Pearl Bra (10128)
drawindexed = 46080, 270705, 0
; Pearl Bra.Nipple Straps (1144)
drawindexed = 5280, 316785, 0
elif $top == 6
; Pearl Bra (10128)
drawindexed = 46080, 270705, 0
; AstraBody Upper.Nipples (1094)
drawindexed = 5400, 204048, 0
elif $top == 7
; Bikini Top (674)
drawindexed = 1524, 234942, 0
elif $top == 8
; Red Bikini Top (674)
drawindexed = 1524, 340689, 0
; Red Bikini Top.XmasFluff (6582)
drawindexed = 36240, 342213, 0
elif $top == 9
; Red Bikini Top (674)
drawindexed = 1524, 340689, 0
elif $top == 10
; Bunny Suit Leotard.Top (1082)
drawindexed = 5538, 238626, 0
elif $top == 11
; Bunny Suit Leotard.Top.Down (1037)
drawindexed = 9525, 244164, 0
; AstraBody Upper.TitsOut (3818)
drawindexed = 20094, 209448, 0
elif $top == 12
; Gape Chain Bikini.Regular (7908)
drawindexed = 12408, 254313, 0
; AstraBody Upper.GapeTits (4912)
drawindexed = 25494, 178554, 0
elif $top == 13
; AstraBody Upper.TitsOut (3818)
drawindexed = 20094, 209448, 0

endif

if $top <= 10 && $top != 1 && $top != 2
; AstraBody Upper (3816)
drawindexed = 20310, 158244, 0
endif

if $top == 1 || $top == 2 || $top == 11 || $top == 13
	if $nipples == 0
		; AstraBody Upper.TitsOut.Nipples (1094)
		drawindexed = 5400, 229542, 0
	elif $nipples == 1
		; AY Disc Bra (3051)
		drawindexed = 13632, 123720, 0
	elif $nipples == 2
	; Nipple Heart Pasties (196)
	drawindexed = 864, 269841, 0
	; Nipple Heart Frame (312)
	drawindexed = 1440, 268401, 0
	elif $nipples == 3
	; Nipple Heart Frame (312)
	drawindexed = 1440, 268401, 0
	; AstraBody Upper.TitsOut.Nipples (1094)
	drawindexed = 5400, 229542, 0
	elif $nipples == 4
	; Dress Nipple Star Covers (204)
	drawindexed = 624, 253689, 0
	elif $nipples == 5
	; Nipple Flowers (500)
	drawindexed = 1680, 266721, 0
	elif $nipples == 6
	; Bunny Suit Heart Nipple Pasties (458)
	drawindexed = 2160, 236466, 0
	elif $nipples == 7
	; Pearl Nipple Piercing (208)
	drawindexed = 960, 322065, 0
	; AstraBody Upper.TitsOut.Nipples (1094)
	drawindexed = 5400, 229542, 0
	elif $nipples == 8
	; Pearl Nipple Rings.Normal (1638)
	drawindexed = 8832, 323025, 0
	; AstraBody Upper.TitsOut.Nipples (1094)
	drawindexed = 5400, 229542, 0
	elif $nipples == 9
	; Pearl Nipple Rings.Vertical (1638)
	drawindexed = 8832, 331857, 0
	; AstraBody Upper.TitsOut.Nipples (1094)
	drawindexed = 5400, 229542, 0
	endif
endif

if $cumTits == 0
elif $cumTits == 1
	if $top == 1 || $top == 2 || $top == 11 || $top == 13
		; Titty Cum (1319)
		drawindexed = 7296, 378453, 0
	else
		; Titty Cum.Above Dress (4734)
		drawindexed = 21504, 415701, 0
	endif
elif $cumTits == 2
	if $top == 1 || $top == 2 || $top == 11 || $top == 13
		; Titty Cum (1319)
		drawindexed = 7296, 378453, 0
		; Titty Cum More (6994)
		drawindexed = 29952, 385749, 0
	else
		; Titty Cum.Above Dress (4734)
		drawindexed = 21504, 415701, 0
	endif

endif

if $cumBelly == 2
; Tummy Cum (2474)
drawindexed = 14784, 530211, 0
endif

; Dress Midriff


; Dress Dress

if ($top == 10 || $top == 11)

else
	if $dress == 4
		; AY Dress Top.Corset (346)
		drawindexed = 1014, 529197, 0
	elif $top <= 2 || ($top == 10 || $top == 11) || $dress > 4
	else
	; ; AY Dress Mid (369)
	drawindexed = 1128, 528069, 0
	endif

	if $dress == 0
	; Dress Skirt.OG (2697)
	drawindexed = 9768, 579990, 0
	elif $dress == 1
	; Dress Skirt.Exposed (3618)
	drawindexed = 11691, 549501, 0
	elif $dress == 2
	; Dress Skirt.Mini (2952)
	drawindexed = 9768, 561192, 0
	elif $dress == 3
	; Dress Skirt.Mini.Exposed (2708)
	drawindexed = 9030, 570960, 0
	elif $dress == 4
	; Dress BunnySuit.Top.Ribbons (1230)
	drawindexed = 4506, 544995, 0
	elif $dress == 5
	; Dressless
	endif
endif

[TextureOverrideAstraYaoBodyIB]
hash = 92f33156
handling = skip

[TextureOverrideAstraYaoBodyA]
hash = 92f33156
match_first_index = 0
ib = ResourceAstraYaoBodyAIB

if $pubes == 0 && $WT == 0
	Resource\ZZMI\Diffuse = ref ResourceAstraYaoBodyADiffuse
elif $pubes == 1 && $WT == 0
	Resource\ZZMI\Diffuse = ref ResourceAstraYaoBodyADiffuseP
elif $pubes == 0 && $WT == 1
	Resource\ZZMI\Diffuse = ref ResourceAstraYaoBodyADiffuseWT
elif $pubes == 1 && $WT == 1
	Resource\ZZMI\Diffuse = ref ResourceAstraYaoBodyADiffusePWT
endif
Resource\ZZMI\NormalMap = ref ResourceAstraYaoBodyANormalMap
Resource\ZZMI\LightMap = ref ResourceAstraYaoBodyALightMap
Resource\ZZMI\MaterialMap = ref ResourceAstraYaoBodyAMaterialMap
run = CommandList\ZZMI\SetTextures

; Body.Hands (2111)
drawindexed = 9360, 0, 0

if $jacketArms == 5
; Xmas Gloves (7562)
; Xmas Shawl (6804)
; Xmas Gloves.Hands (556)
drawindexed = 2646, 9360, 0
elif $jacketArms == 6
; Xmas Gloves (7562)
; Xmas Gloves.Hands (556)
drawindexed = 2646, 9360, 0
endif

; Body Pelvis

if ($top == 10 || $top == 11)
; Bunny Suit Leotard.Bottom (926)
drawindexed = 4656, 249153, 0
; Body.Pelvis.NoSpread (7265)
drawindexed = 38166, 208161, 0
; ; Bunny Tail (934)
drawindexed = 4272, 253809, 0
$pussyOut = 0
elif $bottom == 0
; Body.Pelvis.NoSpread (7265)
drawindexed = 38166, 208161, 0
; Body Shorts (601)
drawindexed = 2769, 42108, 0
$pussyOut = 0
elif $bottom == 1
; Body.Pelvis.NoSpread (7265)
drawindexed = 38166, 208161, 0
	if $top <= 2 || $dress <= 3
	; AY Dress BunnySuit.Bottom (914)
	drawindexed = 3126, 12006, 0
	else
	; Body Shorts (601)
	drawindexed = 2769, 42108, 0
	endif
$pussyOut = 0
elif $bottom == 2
if $top <= 2 || $dress <= 3
	; AY Dress BunnySuit.Bottom.Pearls (1832)
	drawindexed = 8040, 18498, 0
	else
	; Body Shorts (601)
	drawindexed = 2769, 42108, 0
	endif
; Body.Pelvis.NoSpread (7265)
drawindexed = 38166, 208161, 0
$pussyOut = 0
elif $bottom == 3
	if $top <= 2 || $dress <= 3
	; Body.Pelvis (7263)
	drawindexed = 38154, 44877, 0
	; AY Dress BunnySuit.Bottom.Open (972)
	drawindexed = 3366, 15132, 0
	$pussyOut = 1
	else
	; Body Shorts (601)
	drawindexed = 2769, 42108, 0
	; Body.Pelvis.NoSpread (7265)
	drawindexed = 38166, 208161, 0
	$pussyOut = 0
	endif
elif $bottom == 4
; Body.Pelvis.NoSpread (7265)
drawindexed = 38166, 208161, 0
; Panties (324)
drawindexed = 1200, 258081, 0
$pussyOut = 0
elif $bottom == 5
; Panties.Crotchless (310)
drawindexed = 1074, 259281, 0
$pussyOut = 1
elif $bottom == 6
; Bikini Bottom (648)
drawindexed = 2514, 39594, 0
; Body.Pelvis.NoSpread (7265)
drawindexed = 38166, 208161, 0
$pussyOut = 0
elif $bottom == 7
; Red Bikini Bottom (442)
drawindexed = 1470, 338451, 0
; Red Bikini Bottom.XmasFluff (7942)
drawindexed = 43980, 339921, 0
; Body.Pelvis.NoSpread (7265)
drawindexed = 38166, 208161, 0
$pussyOut = 0
elif $bottom == 8
; Red Bikini Bottom (442)
drawindexed = 1470, 338451, 0
; Body.Pelvis.NoSpread (7265)
drawindexed = 38166, 208161, 0
$pussyOut = 0
elif $bottom == 9
; Pearl Panties.Covered (7380)
drawindexed = 33831, 265473, 0
; Body.Pelvis.NoSpread (7265)
drawindexed = 38166, 208161, 0
$pussyOut = 0
elif $bottom == 10
; Pearl Panties.Exposed (6600)
drawindexed = 30231, 299304, 0
$pussyOut = 1
elif $bottom == 11
	; Body.Pelvis (7263)
	drawindexed = 38154, 44877, 0
$pussyOut = 1
elif $bottom == 12
; ; Bunny Buttplug Tail Holder (747)
drawindexed = 2826, 246327, 0
; ; Bunny Tail (934)
drawindexed = 4272, 253809, 0
$pussyOut = 1
; ; Body.Pelvis.ClitPiercing (7265)
; drawindexed = 38154, 121185, 0
elif $bottom == 13
; Body.Pelvis.AnalBeads (7267)
drawindexed = 38154, 83031, 0
; Pearl Anal Beads (1069)
drawindexed = 5118, 260355, 0
$pussyOut = 0
elif $bottom == 14
if $gape == 0
; Body.Pelvis.GapePins (7646)
drawindexed = 39786, 383901, 0
elif $gape == 1
; Body.Pelvis.GapePins.f001 (7627)
drawindexed = 39786, 383901, 0
elif $gape == 2
; Body.Pelvis.GapePins.f002 (7627)
drawindexed = 39786, 423687, 0
elif $gape == 3
; Body.Pelvis.GapePins.f003 (7627)
drawindexed = 39786, 463473, 0
elif $gape == 4
; Body.Pelvis.GapePins.f004 (7627)
drawindexed = 39786, 503259, 0
elif $gape == 5
; Body.Pelvis.GapePins.f005 (7627)
drawindexed = 39786, 543045, 0
elif $gape == 6
; Body.Pelvis.GapePins.f006 (7627)
drawindexed = 39786, 582831, 0
elif $gape == 7
; Body.Pelvis.GapePins.f007 (7627)
drawindexed = 39786, 622617, 0
elif $gape == 8
; Body.Pelvis.GapePins.f008 (7627)
drawindexed = 39786, 662403, 0
elif $gape == 9
; Body.Pelvis.GapePins.f009 (7627)
drawindexed = 39786, 702189, 0
elif $gape == 10
; Body.Pelvis.GapePins.f010 (7627)
drawindexed = 39786, 741975, 0
elif $gape == 11
; Body.Pelvis.GapePins.f011 (7627)
drawindexed = 39786, 781761, 0
elif $gape == 12
; Body.Pelvis.GapePins.f012 (7627)
drawindexed = 39786, 821547, 0
elif $gape == 13
; Body.Pelvis.GapePins.f013 (7627)
drawindexed = 39786, 861333, 0
elif $gape == 14
; Body.Pelvis.GapePins.f014 (7627)
drawindexed = 39786, 901119, 0
elif $gape == 15
; Body.Pelvis.GapePins.f015 (7627)
drawindexed = 39786, 940905, 0
elif $gape == 16
; Body.Pelvis.GapePins.f016 (7627)
drawindexed = 39786, 980691, 0
elif $gape == 17
; Body.Pelvis.GapePins.f017 (7627)
drawindexed = 39786, 1020477, 0
elif $gape == 18
; Body.Pelvis.GapePins.f018 (7627)
drawindexed = 39786, 1060263, 0
elif $gape == 19
; Body.Pelvis.GapePins.f019 (7627)
drawindexed = 39786, 1100049, 0
elif $gape == 20
; Body.Pelvis.GapePins.f020 (7627)
drawindexed = 39786, 1139835, 0
elif $gape == 21
; Body.Pelvis.GapePins.f021 (7627)
drawindexed = 39786, 1179621, 0
elif $gape == 22
; Body.Pelvis.GapePins.f022 (7627)
drawindexed = 39786, 1219407, 0
elif $gape == 23
; Body.Pelvis.GapePins.f023 (7627)
drawindexed = 39786, 1259193, 0
elif $gape == 24
; Body.Pelvis.GapePins.f024 (7627)
drawindexed = 39786, 1298979, 0
elif $gape == 25
; Body.Pelvis.GapePins.f025 (7627)
drawindexed = 39786, 1338765, 0
elif $gape == 26
; Body.Pelvis.GapePins.f026 (7627)
drawindexed = 39786, 1378551, 0
elif $gape == 27
; Body.Pelvis.GapePins.f027 (7627)
drawindexed = 39786, 1418337, 0
elif $gape == 28
; Body.Pelvis.GapePins.f028 (7627)
drawindexed = 39786, 1458123, 0
elif $gape == 29
; Body.Pelvis.GapePins.f029 (7627)
drawindexed = 39786, 1497909, 0
elif $gape == 30
; Body.Pelvis.GapePins.f030 (7627)
drawindexed = 39786, 1537695, 0
elif $gape == 31
; Body.Pelvis.GapePins.f031 (7627)
drawindexed = 39786, 1577481, 0
elif $gape == 32
; Body.Pelvis.GapePins.f032 (7627)
drawindexed = 39786, 1617267, 0
elif $gape == 33
; Body.Pelvis.GapePins.f033 (7627)
drawindexed = 39786, 1657053, 0
elif $gape == 34
; Body.Pelvis.GapePins.f034 (7627)
drawindexed = 39786, 1696839, 0
elif $gape == 35
; Body.Pelvis.GapePins.f035 (7627)
drawindexed = 39786, 1736625, 0
elif $gape == 36
; Body.Pelvis.GapePins.f036 (7627)
drawindexed = 39786, 1776411, 0
elif $gape == 37
; Body.Pelvis.GapePins.f037 (7627)
drawindexed = 39786, 1816197, 0
elif $gape == 38
; Body.Pelvis.GapePins.f038 (7627)
drawindexed = 39786, 1855983, 0
elif $gape == 39
; Body.Pelvis.GapePins.f039 (7627)
drawindexed = 39786, 1895769, 0
elif $gape == 40
; Body.Pelvis.GapePins.f040 (7627)
drawindexed = 39786, 1935555, 0
elif $gape == 41
; Body.Pelvis.GapePins.f041 (7627)
drawindexed = 39786, 1975341, 0
elif $gape == 42
; Body.Pelvis.GapePins.f042 (7627)
drawindexed = 39786, 2015127, 0
elif $gape == 43
; Body.Pelvis.GapePins.f043 (7627)
drawindexed = 39786, 2054913, 0
elif $gape == 44
; Body.Pelvis.GapePins.f044 (7627)
drawindexed = 39786, 2094699, 0
elif $gape == 45
; Body.Pelvis.GapePins.f045 (7627)
drawindexed = 39786, 2134485, 0
elif $gape == 46
; Body.Pelvis.GapePins.f046 (7627)
drawindexed = 39786, 2174271, 0
elif $gape == 47
; Body.Pelvis.GapePins.f047 (7627)
drawindexed = 39786, 2214057, 0
elif $gape == 48
; Body.Pelvis.GapePins.f048 (7627)
drawindexed = 39786, 2253843, 0
elif $gape == 49
; Body.Pelvis.GapePins.f049 (7627)
drawindexed = 39786, 2293629, 0
elif $gape == 50
; Body.Pelvis.GapePins.f050 (7627)
drawindexed = 39786, 2333415, 0
endif
$pussyOut = 0
elif $bottom == 15
; Body.Pelvis.GapePanties (14538)
drawindexed = 48822, 159339, 0
		if $cumPussy == 1
			; CumInGape (26240)
			drawindexed = 35064, 2375229, 0
		endif
$pussyOut = 0
endif

if $cumBelly >= 1
	; Belly Cum (2226)
	drawindexed = 13056, 26538, 0
endif

; Body Pussy
if $bottom >= 14
	if $pussy == 0
	elif $pussy == 1
	elif $pussy == 2
	elif $pussy == 3
	elif $pussy == 4
	elif $pussy == 5
	; Pearl Clit Piercing (104)
	drawindexed = 480, 2410935, 0
	elif $pussy == 6
	; Pearl Clit Pin (96)
	drawindexed = 378, 2411415, 0
	elif $pussy == 7
	; Pearl Clit Ring (819)
	drawindexed = 4416, 2411793, 0
	endif
elif $pussyOut == 1
	if $pussy == 0
	; Body.Pelvis (7263)
	drawindexed = 38154, 44877, 0
		if $cumPussy >= 1
			; Pussy Cum (1307)
			drawindexed = 6912, 2416209, 0
			if $cumPussy == 2
			; Pubic Cum (3366)
			drawindexed = 8916, 329535, 0
			endif
		endif
	elif $pussy == 1
	; Pussy Heart Frame (420)
	drawindexed = 1956, 2423121, 0
	; Pussy Heart Pasty (410)
	drawindexed = 2064, 2425077, 0
	; Body.Pelvis.NoSpread (7265)
	drawindexed = 38166, 208161, 0
	elif $pussy == 2
	; Pussy Heart Frame (420)
	drawindexed = 1956, 2423121, 0
	; Body.Pelvis.NoSpread (7265)
	drawindexed = 38166, 208161, 0
	elif $pussy == 3
	; Bunny Suit Heart Pussy Pasty (464)
	drawindexed = 2028, 2373201, 0
	; Body.Pelvis.NoSpread (7265)
	drawindexed = 38166, 208161, 0
	elif $pussy == 4
	; Pussy Star Pasty (252)
	drawindexed = 864, 2427141, 0
	; Body.Pelvis.NoSpread (7265)
	drawindexed = 38166, 208161, 0
	elif $pussy == 5
	; Pearl Clit Piercing (104)
	drawindexed = 480, 2410935, 0
	; Body.Pelvis (7263)
	drawindexed = 38154, 44877, 0
		if $cumPussy >= 1
			; Pussy Cum (1307)
			drawindexed = 6912, 2416209, 0
			if $cumPussy == 2
			; Pubic Cum (3366)
			drawindexed = 8916, 329535, 0
			endif
		endif
	elif $pussy == 6
	; Body.Pelvis.ClitPiercing (7265)
	drawindexed = 38154, 121185, 0
	; Pearl Clit Pin (96)
	drawindexed = 378, 2411415, 0
		if $cumPussy >= 1
			; Pussy Cum (1307)
			drawindexed = 6912, 2416209, 0
			if $cumPussy == 2
			; Pubic Cum (3366)
			drawindexed = 8916, 329535, 0
			endif
		endif
	elif $pussy == 7
	; Body.Pelvis.ClitPiercing (7265)
	drawindexed = 38154, 121185, 0
	; Pearl Clit Ring (819)
	drawindexed = 4416, 2411793, 0
		if $cumPussy >= 1
			; Pussy Cum (1307)
			drawindexed = 6912, 2416209, 0
			if $cumPussy == 2
			; Pubic Cum (3366)
			drawindexed = 8916, 329535, 0
			endif
		endif
	elif $pussy == 99
	; Gape Chain Underwear.ClitRing (302)
	drawindexed = 642, 2410293, 0
	; Vaginal Pearl (282)
	drawindexed = 1200, 2428005, 0
	endif
endif

; Body Legs
if $legs == 0
; Body.Legs.PearlStrap (7390)
drawindexed = 38448, 2464965, 0
elif $legs == 1
; Body.Legs.Bare (6814)
drawindexed = 35760, 2429205, 0
elif $legs == 2
; Body.Legs.Stockings (7138)
drawindexed = 36858, 2699649, 0
elif $legs == 3
	if $bottom <= 10
	; Bunny Suit Legs.Top.OverGear (2502)
	drawindexed = 11508, 2800419, 0
	else
	; Bunny Suit Legs.Top (2502)
	drawindexed = 11508, 2788911, 0
	endif
; Bunny Suit Leggings (5180)
drawindexed = 29688, 2736507, 0
; ; Body.Legs.Bare (6814)
; drawindexed = 35760, 2429205, 0
elif $legs == 4
	if $bottom <= 10
	; Bunny Suit Legs.Top.OverGear (2502)
	drawindexed = 11508, 2800419, 0
	else
	; Bunny Suit Legs.Top (2502)
	drawindexed = 11508, 2788911, 0
	endif
; Bunny Suit Legs.BuiltInHeels (7593)
drawindexed = 22716, 2766195, 0
elif $legs == 5
; Body.Legs.PearlStrap.XmasLeggings (36781)
drawindexed = 196236, 2503413, 0
endif

if $legs <= 3
; Body Feet
	if $shoes == 0
		; AY Heels (1982)
		drawindexed = 7020, 2823831, 0
	elif $shoes == 1
		; AY Sandals (2154)
		drawindexed = 7044, 2830851, 0
	elif $shoes == 2
		; No Shoes
	endif
endif

if $cumThighs == 1
; Thigh Cum (1992)
drawindexed = 11904, 2811927, 0
endif


; CommandList -----------------------

[CommandListCreditInfo]
if $creditinfo == 0 && $active > 0
	pre Resource\ShaderFixes\help.ini\Notification = ResourceCreditInfo
	pre run = CustomShader\ShaderFixes\help.ini\FormatText
	pre $\ShaderFixes\help.ini\notification_timeout = time + 5.0
	$creditinfo = 1
endif

[CommandListGapeAnim]
; Drive $gape across $gstart..$gend using $animTime (ping-pong loop)
; - $gstart, $gin, $gout, $gend define key frames
; - $animTime is advanced by $gapeSpeed each Present tick
; - $gape set to nearest frame (stored in $gape)
if $gapeDir == 1
	$animTime = $animTime + $gapeSpeed
	if $animTime >= $gend
		$animTime = $gend
		$gapeDir = 0
	endif
else
	$animTime = $animTime - $gapeSpeed
	if $animTime <= $gstart
		$animTime = $gstart
		$gapeDir = 1
	endif
endif
$gape = $animTime

[CommandListGapeAnimT]
if $gInit == 0
	$gLastTime = time
	$gInit = 1
endif

$elapsed = time - $gLastTime
if $elapsed >= $animTime
	$gLastTime = time
	$elapsed = 0
endif

$animFrames = $gend - $gstart
if $animFrames < 0
	$animFrames = -$animFrames
endif

; avoid division by zero
if $animTime <= 0 || $animFrames == 0
	$gape = $gstart
else
	$cyclePos = $elapsed / $animTime
	$half = 0.5
	if $cyclePos < $half
		; forward half: 0..0.5 -> gstart..gend
		$progress = $cyclePos / $half
		$step = ($progress * $animFrames) //1
		$gape = $gstart + $step
	else
		; backward half: 0.5..1.0 -> gend..gstart
		$progress = ($cyclePos - $half) / $half
		$step = ($progress * $animFrames) //1
		$gape = $gend - $step
	endif
endif

[CommandListGapeAnimT1]
;Animates the cycle forward by animTime and then in reverse by animTime2 before repeating.

if $gInit == 0
	$gLastTime = time
	$gInit = 1
	$phase = 0
	$P1T = 0
	$P2T = 0
endif

;Get current time in cycle
$elapsed = time - $gLastTime

;Reset time when elapsed has completed full in/out cycle.
if $phase == 0
	$gLastTime = time
	$elapsed = 0
	$phase = 1
	$P1T = 0
	$P2T = 0
endif

if $phase == 1
	$P1T = $elapsed / $animTime	
elif $phase == 2
	$P2T = ($elapsed-$animTime) / $animTime2	
endif

;Phase 1 Play Forwards
if $P1T < 1 && $phase == 1
	$step = ($P1T * $animFrames) //1
	$gape = $step
elif $P1T >= 1 && $phase == 1
	$phase = 2
endif

;Phase 2 Play Backwards
if $phase == 2 && $P2T < 1
	$step = ($P2T * $animFrames) //1
	$gape = $animFrames - $step
elif $phase == 2 && $P2T >= 1
	$phase = 0
endif


[CommandListGapeAnimT2]
;P1: Gstart -> Gout... P2: Gout -> Gin P3: Gin -> Gout... Repeat P2, P3 X times. P4: Gout -> Gend. P5: Gend -> GStart
;Repeat loop

if $gInit == 0
	$gLastTime = time
	$gInit = 1
	$phase == 1
endif

$elapsed = time - $gLastTime
if $elapsed >= $GT1
	$phase = $phase + 1
	$gLastTime = time
	$elapsed = 0
endif

;Phase Changes
if $phase == 1
	$pStart = $gstart
	$pEnd = $gout
	$pTime = $GT1
elif $phase == 2
	$pStart = $gout
	$pEnd = $gin
	$pTime = $GT2
elif $phase == 3
	$pStart = $gin
	$pEnd = $gout
	$pTime = $GT3
elif $phase == 4
	$pStart = $gout
	$pEnd = $gend
	$pTime = $GT4
elif $phase == 5
	$pStart = $gend
	$pEnd = $gin
	$pTime = $GT5
endif

;Forward Loops
if $phase == 1 || $phase == 3 || $phase == 4
	$animFrames = $pEnd - $pStart
	; avoid division by zero
	if $animTime <= 0 || $animFrames == 0
		$gape = $gstart
	else
		$cyclePos = $elapsed / $pTime
		$step = ($cyclePos * $animFrames) //1
		$gape = $pStart + $step
	endif
;Reverse Loops
elif $phase == 2 || $phase == 5
	$animFrames = $pStart - $pEnd
	; avoid division by zero
	if $animTime <= 0 || $animFrames == 0
		$gape = $gout
	else
		$cyclePos = $elapsed / $pTime
		$step = ($cyclePos * $animFrames) //1
		$gape = $gout - $step
	endif
endif

; Resources -------------------------

[ResourceAstraYaoHeadPosition]
type = Buffer
stride = 40
filename = AstraYaoHeadPosition.buf

[ResourceAstraYaoHeadBlend]
type = Buffer
stride = 32
filename = AstraYaoHeadBlend.buf

[ResourceAstraYaoHeadTexcoord]
type = Buffer
stride = 24
filename = AstraYaoHeadTexcoord.buf

[ResourceAstraYaoHeadAIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = AstraYaoHeadA.ib

[ResourceAstraYaoHeadBIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = AstraYaoHeadB.ib

[ResourceAstraYaoDressPosition]
type = Buffer
stride = 40
filename = AstraYaoDressPosition.buf

[ResourceAstraYaoDressBlend]
type = Buffer
stride = 32
filename = AstraYaoDressBlend.buf

[ResourceAstraYaoDressTexcoord]
type = Buffer
stride = 24
filename = AstraYaoDressTexcoord.buf

[ResourceAstraYaoDressAIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = AstraYaoDressA.ib

[ResourceAstraYaoBodyPosition]
type = Buffer
stride = 40
filename = AstraYaoBodyPosition.buf

[ResourceAstraYaoBodyBlend]
type = Buffer
stride = 32
filename = AstraYaoBodyBlend.buf

[ResourceAstraYaoBodyTexcoord]
type = Buffer
stride = 24
filename = AstraYaoBodyTexcoord.buf

[ResourceAstraYaoBodyAIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = AstraYaoBodyA.ib

[ResourceAstraYaoBodyADiffuse]
filename = AstraYaoBodyADiffuse.dds

[ResourceAstraYaoBodyADiffuseP]
filename = AstraYaoBodyADiffuseP.dds
[ResourceAstraYaoBodyADiffusePWT]
filename = AstraYaoBodyADiffusePWT.dds
[ResourceAstraYaoBodyADiffuseWT]
filename = AstraYaoBodyADiffuseWT.dds

[ResourceAstraYaoBodyANormalMap]
filename = AstraYaoBodyANormalMap.dds

[ResourceAstraYaoBodyALightMap]
filename = AstraYaoBodyALightMap.dds

[ResourceAstraYaoBodyAMaterialMap]
filename = AstraYaoBodyAMaterialMap.dds

[ResourceCreditInfo]
type = Buffer
data = "Created by www.patreon.com/lewd_lad || https://lewdlad.fanbox.cc/"

[ResourceSaveAInfo]
type = Buffer
data = "Astra Yao Outfit A Saved"

[ResourceLoadAInfo]
type = Buffer
data = "Astra Yao Outfit A Loaded"

[ResourceSaveBInfo]
type = Buffer
data = "Astra Yao Outfit B Saved"

[ResourceLoadBInfo]
type = Buffer
data = "Astra Yao Outfit B Loaded"

[ResourceSaveCInfo]
type = Buffer
data = "Astra Yao Outfit C Saved"

[ResourceLoadCInfo]
type = Buffer
data = "Astra Yao Outfit C Loaded"

[ResourceSaveDInfo]
type = Buffer
data = "Astra Yao Outfit D Saved"

[ResourceLoadDInfo]
type = Buffer
data = "Astra Yao Outfit D Loaded"

; .ini generated by XXMI (XX-Model-Importer) v1.6.3
; If you have any issues or find any bugs, please open a ticket at https://github.com/leotorrez/XXMI-Tools/issues

;Help Menu Stuff__________________________________________________________________________________

[Constants]
global persist $language = 0
global $menu = 0
global persist $BG = 0
;Horizontal Resolution of Help Image
global $XRes = 1024
;Vertical Resolution of Help Image
global $YRes = 1024

[ResourceMenu]
filename = Menu.dds

[ResourceMenuCN]
filename = MenuCN.dds

[ResourceMenuJP]
filename = MenuJP.dds

[ResourceMenuKR]
filename = MenuKR.dds

[ResourceA]
filename = A.dds
[ResourceB]
filename = B.dds
[ResourceC]
filename = C.dds
[ResourceD]
filename = D.dds
[ResourceE]
filename = E.dds
[ResourceF]
filename = F.dds
[ResourceG]
filename = G.dds
[ResourceH]
filename = H.dds
[ResourceI]
filename = I.dds
[ResourceJ]
filename = JA.dds
[ResourceK]
filename = KA.dds
[ResourceL]
filename = L.dds

[Present]
if $active == 1 && $menu == 1
  run = CommandListMenu
endif

[CustomShaderElement]
hs = null
ds = null
gs = null
cs = null
run = BuiltInCommandListUnbindAllRenderTargets
vs = draw_2d.hlsl
ps = draw_2d.hlsl
blend = ADD SRC_ALPHA INV_SRC_ALPHA
cull = none
topology = triangle_strip
o0 = set_viewport bb
Draw = 4,0

[KeyHelp]
condition = $active
key = no_shift no_ctrl /
type = cycle
$menu = 0,1

[KeyLanguage]
condition = $active
key = shift /
type = cycle
$language = 0,1,2,3
$creditinfo = 0

[CommandListMenu]
;DRAW CURSOR
;x87 = 0.2
;y87 = 0.5
if res_height > 1000
x87 = ($XRes/res_height)/(res_width/res_height)
y87 = ($YRes/res_height)
z87 = 0.55
w87 = 0.5-(1024/res_height/2)
else
x87 = ($XRes/res_height*.75)/(res_width/res_height)
y87 = ($YRes/res_height*.75)
z87 = 0.55
w87 = 0.5-(1024/res_height*.75/2)
endif

ps-t100 = ResourceA
if $outfit == 1
	ps-t100 = ResourceA
elif $outfit == 2
	ps-t100 = ResourceB
elif $outfit == 3
	ps-t100 = ResourceC
elif $outfit == 4
	ps-t100 = ResourceD
elif $outfit == 5
	ps-t100 = ResourceE
elif $outfit == 6
	ps-t100 = ResourceF
elif $outfit == 7
	ps-t100 = ResourceG
elif $outfit == 8
	ps-t100 = ResourceH
elif $outfit == 9
	ps-t100 = ResourceI
elif $outfit == 10
	ps-t100 = ResourceJ
elif $outfit == 11
	ps-t100 = ResourceK
elif $outfit == 12
	ps-t100 = ResourceL
endif
run = CustomShaderElement

if $language == 0
	ps-t100 = ResourceMenu
elif $language == 1
	ps-t100 = ResourceMenuCN
elif $language == 2
	ps-t100 = ResourceMenuJP
elif $language == 3
	ps-t100 = ResourceMenuKR
endif
run = CustomShaderElement




;NEW AND UNUSED

; Dress Top.DressPart.Skirt (2178)
; drawindexed = 7608, 589758, 0

