; Soukaku

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

[Constants]
global persist $breasts = 0
global persist $legs = 0
global persist $skirt = 1
global persist $mask = 1
global persist $socks = 1
global persist $tail = 1
global $active = 0
global $creditinfo = 0

[KeyswapBreasts]
condition = $active == 1
key = VK_RIGHT
back = VK_LEFT
type = cycle
$breasts = 0,1,2,3,4,5,6,7,8

[KeyswapLegs]
condition = $active == 1
key = VK_DOWN
type = cycle
$legs = 0,1,2

[KeyswapSkirt]
condition = $active == 1
key = VK_UP
type = cycle
$skirt = 0,1,2

[KeyswapMask]
condition = $active == 1
key = 7
type = cycle
$mask = 0,1

[KeyswapSocks]
condition = $active == 1
key = 8
type = cycle
$socks = 0,1

[KeyswapTail]
condition = $active == 1
key = 9
type = cycle
$tail = 0,1

[Present]
post $active = 0
run = CommandListCreditInfo

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

[TextureOverrideSoukakuHairBlend]
hash = f65883f3
run = CommandListSoukakuHairBlend
$active = 1

[TextureOverrideSoukakuHairTexcoord]
hash = 43fb429d
vb1 = ResourceSoukakuHairTexcoord

[TextureOverrideSoukakuHairVertexLimitRaise]
hash = 5432bbb8
; override_vertex_count = 11848
; override_byte_stride = 92

[TextureOverrideSoukakuHairIB]
hash = fe70c7a3
handling = skip

[TextureOverrideSoukakuHairA]
hash = fe70c7a3
match_first_index = 0
run = CommandListSkinTexture
run = CommandListSoukakuHairA

[TextureOverrideSoukakuBodyBlend]
hash = dbbbafef
run = CommandListSoukakuBodyBlend
$active = 1

[TextureOverrideSoukakuBodyTexcoord]
hash = 176fb4d5
run = CommandListSoukakuBodyTexcoord

[TextureOverrideSoukakuBodyVertexLimitRaise]
hash = ff00994d
; override_vertex_count = 2000000
; override_byte_stride = 92

[TextureOverrideSoukakuBodyIB]
hash = ced49ff8
handling = skip

[TextureOverrideSoukakuBodyA]
hash = ced49ff8
match_first_index = 0
run = CommandListSkinTexture
run = CommandListSoukakuBodyA

[TextureOverrideSoukakuMaskBlend]
hash = 5c5d1e7c
run = CommandListSoukakuMaskBlend
$active = 1

[TextureOverrideSoukakuMaskTexcoord]
hash = e261ddc0
vb1 = ResourceSoukakuMaskTexcoord

[TextureOverrideSoukakuMaskVertexLimitRaise]
hash = ddd3fb88
; override_vertex_count = 1882
; override_byte_stride = 68

[TextureOverrideSoukakuMaskIB]
hash = 1315178e
handling = skip

[TextureOverrideSoukakuMaskA]
hash = 1315178e
match_first_index = 0
run = CommandListSkinTexture
run = CommandListSoukakuMaskA

; LOD1

[TextureOverrideSoukakuHairBlend.LOD1]
hash = 69953397
run = CommandListSoukakuHairBlend
$active = 1

[TextureOverrideSoukakuHairTexcoord.LOD1]
hash = eb9a2b3d
vb1 = ResourceSoukakuHairTexcoord

[TextureOverrideSoukakuHairVertexLimitRaise.LOD1]
hash = 004ab002
; override_vertex_count = 11848
; override_byte_stride = 92

[TextureOverrideSoukakuHairIB.LOD1]
hash = 21897fb4
handling = skip

[TextureOverrideSoukakuHairA.LOD1]
hash = 21897fb4
match_first_index = 0
run = CommandListSkinTexture
run = CommandListSoukakuHairA

[TextureOverrideSoukakuBodyBlend.LOD1]
hash = 673dfba0
run = CommandListSoukakuBodyBlend
$active = 1

[TextureOverrideSoukakuBodyTexcoord.LOD1]
hash = 53463fbf
run = CommandListSoukakuBodyTexcoord

[TextureOverrideSoukakuBodyVertexLimitRaise.LOD1]
hash = 2bd2868d
; override_vertex_count = 2000000
; override_byte_stride = 92

[TextureOverrideSoukakuBodyIB.LOD1]
hash = d206e760
handling = skip

[TextureOverrideSoukakuBodyA.LOD1]
hash = d206e760
match_first_index = 0
run = CommandListSkinTexture
run = CommandListSoukakuBodyA

[TextureOverrideSoukakuMaskBlend.LOD1]
hash = e938d6a5
run = CommandListSoukakuMaskBlend
$active = 1

[TextureOverrideSoukakuMaskTexcoord.LOD1]
hash = e801f85b
vb1 = ResourceSoukakuMaskTexcoord

[TextureOverrideSoukakuMaskVertexLimitRaise.LOD1]
hash = ad73aefc
; override_vertex_count = 1882
; override_byte_stride = 68

[TextureOverrideSoukakuMaskIB.LOD1]
hash = 67d08e66
handling = skip

[TextureOverrideSoukakuMaskA.LOD1]
hash = 67d08e66
match_first_index = 0
run = CommandListSkinTexture
run = CommandListSoukakuMaskA

; LOD2

[TextureOverrideSoukakuHairBlend.LOD2]
hash = 3b5c2b28
run = CommandListSoukakuHairBlend
$active = 1

[TextureOverrideSoukakuHairTexcoord.LOD2]
hash = 86d05e98
vb1 = ResourceSoukakuHairTexcoord

[TextureOverrideSoukakuHairVertexLimitRaise.LOD2]
hash = ee9813d0
; override_vertex_count = 11848
; override_byte_stride = 92

[TextureOverrideSoukakuHairIB.LOD2]
hash = 739794b9
handling = skip

[TextureOverrideSoukakuHairA.LOD2]
hash = 739794b9
match_first_index = 0
run = CommandListSkinTexture
run = CommandListSoukakuHairA

[TextureOverrideSoukakuBodyBlend.LOD2]
hash = 12675d3a
run = CommandListSoukakuBodyBlend
$active = 1

[TextureOverrideSoukakuBodyTexcoord.LOD2]
hash = f33c7451
run = CommandListSoukakuBodyTexcoord

[TextureOverrideSoukakuBodyVertexLimitRaise.LOD2]
hash = 3ace68e8
; override_vertex_count = 2000000
; override_byte_stride = 92

[TextureOverrideSoukakuBodyIB.LOD2]
hash = c12cfb76
handling = skip

[TextureOverrideSoukakuBodyA.LOD2]
hash = c12cfb76
match_first_index = 0
run = CommandListSkinTexture
run = CommandListSoukakuBodyA

[TextureOverrideSoukakuMaskBlend.LOD2]
hash = 4b5fab6b
run = CommandListSoukakuMaskBlend
$active = 1

[TextureOverrideSoukakuMaskTexcoord.LOD2]
hash = 411b284d
vb1 = ResourceSoukakuMaskTexcoordLOD2

[TextureOverrideSoukakuMaskVertexLimitRaise.LOD2]
hash = 26257365
; override_vertex_count = 1882
; override_byte_stride = 68

[TextureOverrideSoukakuMaskIB.LOD2]
hash = 5aed0e0a
handling = skip

[TextureOverrideSoukakuMaskA.LOD2]
hash = 5aed0e0a
match_first_index = 0
run = CommandListSkinTexture
run = CommandListSoukakuMaskA

; Textures

[TextureOverrideSoukakuHairADiffuse]
hash = 32ea0d00
this = ResourceSoukakuHairADiffuse

[TextureOverrideSoukaku.HairA.Diffuse.1024]
hash = 34a3ff5b
this = ResourceSoukakuHairADiffuse

[TextureOverrideSoukakuHairANormalMap]
hash = 8498ee4d
this = ResourceSoukakuHairANormalMap

[TextureOverrideSoukaku.HairA.NormalMap.1024]
hash = 0003126a
this = ResourceSoukakuHairANormalMap

[TextureOverrideSoukakuHairALightMap]
hash = 04654e94
this = ResourceSoukakuHairALightMap

[TextureOverrideSoukaku.HairA.LightMap.1024]
hash = 7bbb3d02
this = ResourceSoukakuHairALightMap

[TextureOverrideSoukakuHairAMaterialMap]
hash = d1444c52
this = ResourceSoukakuHairAMaterialMap

[TextureOverrideSoukaku.HairA.MaterialMap.1024]
hash = 218689cf
this = ResourceSoukakuHairAMaterialMap

[TextureOverrideSoukakuBodyADiffuse]
hash = ee31954b
this = ResourceSoukakuBodyADiffuse

[TextureOverrideSoukaku.BodyA.Diffuse.1024]
hash = 6f5d31fc
this = ResourceSoukakuBodyADiffuse

[TextureOverrideSoukakuBodyANormalMap]
hash = 363e3d70
this = ResourceSoukakuBodyANormalMap

[TextureOverrideSoukaku.BodyA.NormalMap.1024]
hash = 77c48d32
this = ResourceSoukakuBodyANormalMap

[TextureOverrideSoukakuBodyALightMap]
hash = 112a36a4
this = ResourceSoukakuBodyALightMap

[TextureOverrideSoukaku.BodyA.LightMap.1024]
hash = c0f0bb74
this = ResourceSoukakuBodyALightMap

[TextureOverrideSoukakuBodyAMaterialMap]
hash = d638ddf9
this = ResourceSoukakuBodyAMaterialMap

[TextureOverrideSoukaku.BodyA.MaterialMap.1024]
hash = 1ec28297
this = ResourceSoukakuBodyAMaterialMap

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

[CommandListSoukakuHairBlend]
handling = skip
vb2 = ResourceSoukakuHairBlend
if DRAW_TYPE == 1
	vb0 = ResourceSoukakuHairPosition
	draw = 11848,0
endif

[CommandListSoukakuHairA]
ib = ResourceSoukakuHairAIB
ps-t4 = ResourceSoukakuHairANormalMap
; SoukakuHairA-vb0=beac45e4.txt.002 (5924)
drawindexed = 21270, 0, 0
; SoukakuHairA
	; SoukakuHairA-vb0=beac45e4.txt.002 (5924)
	drawindexed = 21270, 21270, 0

[CommandListSoukakuMaskBlend]
handling = skip
vb2 = ResourceSoukakuMaskBlend
if DRAW_TYPE == 1
	vb0 = ResourceSoukakuMaskPosition
	draw = 1882,0
endif

[CommandListSoukakuMaskA]
ib = ResourceSoukakuMaskAIB
ps-t4 = ResourceSoukakuHairANormalMap

if $mask == 1
	; SoukakuMaskA-vb0=3a6a6326.txt (941)
	drawindexed = 2088, 0, 0
	; SoukakuMaskA
		; SoukakuMaskA-vb0=3a6a6326.txt (941)
		drawindexed = 2088, 2088, 0
endif

[CommandListSoukakuBodyBlend]
handling = skip
if $legs == 0
	vb2 = ResourceSoukakuBodyBlend.0
	if DRAW_TYPE == 1
		vb0 = ResourceSoukakuBodyPosition.0
		draw = 98753,0
	endif
elif $legs == 1
	vb2 = ResourceSoukakuBodyBlend.1
	if DRAW_TYPE == 1
		vb0 = ResourceSoukakuBodyPosition.1
		draw = 101327,0
	endif
elif $legs == 2
	vb2 = ResourceSoukakuBodyBlend.2
	if DRAW_TYPE == 1
		vb0 = ResourceSoukakuBodyPosition.2
		draw = 103091,0
	endif
endif

[CommandListSoukakuBodyTexcoord]
if $legs == 0
	vb1 = ResourceSoukakuBodyTexcoord.0
elif $legs == 1
	vb1 = ResourceSoukakuBodyTexcoord.1
elif $legs == 2
	vb1 = ResourceSoukakuBodyTexcoord.2
endif

[CommandListSoukakuBodyA]
ps-t4 = ResourceSoukakuBodyANormalMap
if $legs == 0
	ib = ResourceSoukakuBodyAIB.0
	; SoukakuBodyA-vb0=a426e353.txt.002 (2399)
	drawindexed = 9861, 0, 0
	
	; SoukakuBodyA
	
		if $breasts == 0
			; 0 bondage flat thong (8248)
			drawindexed = 41682, 9861, 0
		elif $breasts == 1
			; 0 bondage thong (10626)
			drawindexed = 54726, 51543, 0
		elif $breasts == 2
			; 0 cross thong (10738)
			drawindexed = 56034, 106269, 0
		elif $breasts == 3
			; 0 parallel thong (10579)
			drawindexed = 55338, 162303, 0
		elif $breasts == 4
			; 0 puffed flat thong (8556)
			drawindexed = 43866, 217641, 0
		elif $breasts == 5
			; 0 puffed thong (10148)
			drawindexed = 53190, 261507, 0
		elif $breasts == 6
			; 0 shirt flat thong (8828)
			drawindexed = 44706, 314697, 0
		elif $breasts == 7
			; 0 shirt thong (11278)
			drawindexed = 58818, 359403, 0
		elif $breasts == 8
			; 0 zipped thong (10762)
			drawindexed = 54297, 418221, 0
		endif
		
		if $skirt == 2
			; 3 belts (620)
			drawindexed = 1644, 472518, 0
		elif $skirt == 1
			; 3 skirt (1174)
			drawindexed = 3738, 474162, 0
		endif
		
		if $socks == 1
			; 3 socks (2244)
			drawindexed = 10752, 477900, 0
		endif
		
		if $tail == 1
			; 3 tail (154)
			drawindexed = 630, 488652, 0
		endif
		
		; SoukakuBodyA-vb0=a426e353.txt.002 (2399)
		drawindexed = 9861, 489282, 0
elif $legs == 1
	ib = ResourceSoukakuBodyAIB.1
	; SoukakuBodyA-vb0=a426e353.txt.002 (2399)
	drawindexed = 9861, 0, 0
	
	; SoukakuBodyA
	
		if $breasts == 0
			; 0 bondage flat stocking 1 (8534)
			drawindexed = 43026, 9861, 0
		elif $breasts == 1
			; 0 bondage stocking 1 (10912)
			drawindexed = 56070, 52887, 0
		elif $breasts == 2
			; 0 cross stocking 1 (11024)
			drawindexed = 57378, 108957, 0
		elif $breasts == 3
			; 0 parallel stocking 1 (10865)
			drawindexed = 56682, 166335, 0
		elif $breasts == 4
			; 0 puffed flat stocking 1 (8842)
			drawindexed = 45210, 223017, 0
		elif $breasts == 5
			; 0 puffed stocking 1 (10434)
			drawindexed = 54534, 268227, 0
		elif $breasts == 6
			; 0 shirt flat stocking 1 (9114)
			drawindexed = 46050, 322761, 0
		elif $breasts == 7
			; 0 shirt stocking 1 (11564)
			drawindexed = 60162, 368811, 0
		elif $breasts == 8
			; 0 zipped stocking 1 (11048)
			drawindexed = 55641, 428973, 0
		endif
		
		if $skirt == 2
			; 3 belts (620)
			drawindexed = 1644, 484614, 0
		elif $skirt == 1
			; 3 skirt (1174)
			drawindexed = 3738, 486258, 0
		endif
		
		if $socks == 1
			; 3 socks (2244)
			drawindexed = 10752, 489996, 0
		endif
		
		if $tail == 1
			; 3 tail (154)
			drawindexed = 630, 500748, 0
		endif
		
		; SoukakuBodyA-vb0=a426e353.txt.002 (2399)
		drawindexed = 9861, 501378, 0
elif $legs == 2
	ib = ResourceSoukakuBodyAIB.2
	; SoukakuBodyA-vb0=a426e353.txt.002 (2399)
	drawindexed = 9861, 0, 0
	
	; SoukakuBodyA
	
		if $breasts == 0
			; 0 bondage flat stocking 2 (8730)
			drawindexed = 43218, 9861, 0
		elif $breasts == 1
			; 0 bondage stocking 2 (11108)
			drawindexed = 56262, 53079, 0
		elif $breasts == 2
			; 0 cross stocking 2 (11220)
			drawindexed = 57570, 109341, 0
		elif $breasts == 3
			; 0 parallel stocking 2 (11061)
			drawindexed = 56874, 166911, 0
		elif $breasts == 4
			; 0 puffed flat stocking 2 (9038)
			drawindexed = 45402, 223785, 0
		elif $breasts == 5
			; 0 puffed stocking 2 (10630)
			drawindexed = 54726, 269187, 0
		elif $breasts == 6
			; 0 shirt flat stocking 2 (9310)
			drawindexed = 46242, 323913, 0
		elif $breasts == 7
			; 0 shirt stocking 2 (11760)
			drawindexed = 60354, 370155, 0
		elif $breasts == 8
			; 0 zipped stocking 2 (11244)
			drawindexed = 55833, 430509, 0
		endif
		
		if $skirt == 2
			; 3 belts (620)
			drawindexed = 1644, 486342, 0
		elif $skirt == 1
			; 3 skirt (1174)
			drawindexed = 3738, 487986, 0
		endif
		
		if $socks == 1
			; 3 socks (2244)
			drawindexed = 10752, 491724, 0
		endif
		
		if $tail == 1
			; 3 tail (154)
			drawindexed = 630, 502476, 0
		endif
		
		; SoukakuBodyA-vb0=a426e353.txt.002 (2399)
		drawindexed = 9861, 503106, 0
endif

[CommandListCreditInfo]
if $creditinfo == 0 && $active == 1
    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

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

[ResourceSoukakuHairPosition]
type = Buffer
stride = 40
filename = .\SoukakuModThong\SoukakuHairPosition.buf

[ResourceSoukakuHairBlend]
type = Buffer
stride = 32
filename = .\SoukakuModThong\SoukakuHairBlend.buf

[ResourceSoukakuHairTexcoord]
type = Buffer
stride = 20
filename = .\SoukakuModThong\SoukakuHairTexcoord.buf

[ResourceSoukakuBodyPosition.0]
type = Buffer
stride = 40
filename = .\SoukakuModThong\SoukakuBodyPosition.buf

[ResourceSoukakuBodyBlend.0]
type = Buffer
stride = 32
filename = .\SoukakuModThong\SoukakuBodyBlend.buf

[ResourceSoukakuBodyTexcoord.0]
type = Buffer
stride = 20
filename = .\SoukakuModThong\SoukakuBodyTexcoord.buf

[ResourceSoukakuMaskPosition]
type = Buffer
stride = 40
filename = .\SoukakuModThong\SoukakuMaskPosition.buf

[ResourceSoukakuMaskBlend]
type = Buffer
stride = 8
filename = .\SoukakuModThong\SoukakuMaskBlend.buf

[ResourceSoukakuMaskTexcoord]
type = Buffer
stride = 20
filename = .\SoukakuModThong\SoukakuMaskTexcoord.buf

[ResourceSoukakuMaskTexcoordLOD2]
type = Buffer
stride = 28
filename = .\SoukakuModThong\SoukakuMaskTexcoordLOD2.buf

[ResourceSoukakuHairAIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\SoukakuModThong\SoukakuHairA.ib

[ResourceSoukakuBodyAIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\SoukakuModThong\SoukakuBodyA.ib

[ResourceSoukakuMaskAIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\SoukakuModThong\SoukakuMaskA.ib

[ResourceSoukakuBodyPosition.1]
type = Buffer
stride = 40
filename = .\SoukakuModStocking1\SoukakuBodyPosition.buf

[ResourceSoukakuBodyBlend.1]
type = Buffer
stride = 32
filename = .\SoukakuModStocking1\SoukakuBodyBlend.buf

[ResourceSoukakuBodyTexcoord.1]
type = Buffer
stride = 20
filename = .\SoukakuModStocking1\SoukakuBodyTexcoord.buf

[ResourceSoukakuBodyAIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\SoukakuModStocking1\SoukakuBodyA.ib

[ResourceSoukakuBodyPosition.2]
type = Buffer
stride = 40
filename = .\SoukakuModStocking2\SoukakuBodyPosition.buf

[ResourceSoukakuBodyBlend.2]
type = Buffer
stride = 32
filename = .\SoukakuModStocking2\SoukakuBodyBlend.buf

[ResourceSoukakuBodyTexcoord.2]
type = Buffer
stride = 20
filename = .\SoukakuModStocking2\SoukakuBodyTexcoord.buf

[ResourceSoukakuBodyAIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\SoukakuModStocking2\SoukakuBodyA.ib

[ResourceSoukakuHairADiffuse]
filename = .\SoukakuModThong\SoukakuHairADiffuse.dds

[ResourceSoukakuHairANormalMap]
filename = .\SoukakuModThong\SoukakuHairANormalMap.dds

[ResourceSoukakuHairALightMap]
filename = .\SoukakuModThong\SoukakuHairALightMap.dds

[ResourceSoukakuHairAMaterialMap]
filename = .\SoukakuModThong\SoukakuHairAMaterialMap.dds

[ResourceSoukakuBodyADiffuse]
filename = .\SoukakuModThong\SoukakuBodyADiffuse.dds

[ResourceSoukakuBodyANormalMap]
filename = .\SoukakuModThong\SoukakuBodyANormalMap.dds

[ResourceSoukakuBodyALightMap]
filename = .\SoukakuModThong\SoukakuBodyALightMap.dds

[ResourceSoukakuBodyAMaterialMap]
filename = .\SoukakuModThong\SoukakuBodyAMaterialMap.dds

[ResourceCreditInfo]
type = Buffer
data = "Created by CREOMASTER"

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