; Merged Mod: .\YelanMod0\Yelan.ini, .\YelanMod1\Yelan.ini

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

[Constants]
global persist $swapvar = 0
global persist $swaptexc = 0
global persist $swaptoki = 0
global persist $swapcoat = 0
global persist $swapmask = 1
global $Burst = 0
global $active
global $creditinfo = 0

[KeySwap]
condition = $active == 1
key = /
type = cycle
$swapvar = 0,1
$creditinfo = 0

[KeyCoat]
condition = $active == 1
key = VK_UP
type = cycle
$swapcoat  = 0,1
$creditinfo = 0

[KeyToki]
condition = $active == 1
key = ]
type = cycle
$swaptoki  = 0,1
$creditinfo = 0

[KeyMask]
condition = $active == 1
key = VK_LEFT
type = cycle
$swapmask = 0,1
$creditinfo = 0

[KeyTexc]
condition = $active == 1
key = VK_DOWN
type = cycle
$swaptexc = 0,1
$creditinfo = 0

[Present]
post $active = 0
post $Burst = 0

if $Burst == 1
    $swapvar = 1
else
    $swapvar = 0
endif

; Shader ------------------------------

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

[TextureOverrideYelanBurst]
hash = d98e85df
$Burst = 1

[TextureOverrideYelanPosition]
hash = c58c76f9
run = CommandListYelanPosition
$active = 1

[TextureOverrideYelanBlend]
hash = f6e01e3c
run = CommandListYelanBlend

[TextureOverrideYelanTexcoord]
hash = 428b836c
run = CommandListYelanTexcoord

[TextureOverrideYelanVertexLimitRaise]
hash = d17ac213

[TextureOverrideYelanIB]
hash = 82e14ea2
run = CommandListYelanIB

[TextureOverrideYelanHead]
hash = 82e14ea2
match_first_index = 0
run = CommandListYelanHead

[TextureOverrideYelanBody]
hash = 82e14ea2
match_first_index = 20913
run = CommandListYelanBody

[TextureOverrideYelanDress]
hash = 82e14ea2
match_first_index = 51759
run = CommandListYelanDress

[TextureOverrideYelanExtra]
hash = 82e14ea2
match_first_index = 54042
if $swapcoat == 0
run = CommandListYelanExtra
else if $swapcoat == 1
handling = skip
endif

[TextureOverrideYelanFaceHeadDiffuse]
hash = d3c0b54a
run = CommandListYelanFaceHeadDiffuse

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

[CommandListYelanPosition]
if $swapvar == 0 && $swaptoki == 0
	vb0 = ResourceYelanPosition.0
else if $swapvar == 1 && $swaptoki == 0
	vb0 = ResourceYelanPosition.1
else if $swapvar == 0 && $swaptoki == 1
	vb0 = ResourceYelanPosition.2
else if $swapvar == 1 && $swaptoki == 1
	vb0 = ResourceYelanPosition.3
endif

[CommandListYelanBlend]
if $swapvar == 0 && $swaptoki == 0
	vb1 = ResourceYelanBlend.0
	handling = skip
	draw = 39860,0
else if $swapvar == 1 && $swaptoki == 0
	vb1 = ResourceYelanBlend.1
	handling = skip
	draw = 37673,0
else if $swapvar == 0 && $swaptoki == 1
	vb1 = ResourceYelanBlend.2
	handling = skip
	draw = 57683,0 
else if $swapvar == 1 && $swaptoki == 1
	vb1 = ResourceYelanBlend.3
	handling = skip
	draw = 58217,0 
endif

[CommandListYelanTexcoord]
if $swapvar == 0 && $swaptoki == 0
	vb1 = ResourceYelanTexcoord.0
else if $swapvar == 1 && $swaptoki == 0
	vb1 = ResourceYelanTexcoord.1
else if $swapvar == 0 && $swaptoki == 1
	vb1 = ResourceYelanTexcoord.2
else if $swapvar == 1 && $swaptoki == 1
	vb1 = ResourceYelanTexcoord.3
endif

[CommandListYelanIB]
if $swapvar == 0 && $swaptoki == 0
	handling = skip	
else if $swapvar == 1 && $swaptoki == 0
	handling = skip
else if $swapvar == 0 && $swaptoki == 1
	handling = skip	
else if $swapvar == 1 && $swaptoki == 1
	handling = skip
endif

[CommandListYelanHead]
if $swapvar == 0 && $swaptoki == 0
	ib = ResourceYelanHeadIB.0
	ps-t0 = ResourceYelanHeadDiffuse.0
	ps-t1 = ResourceYelanHeadLightMap.0
	drawindexed = auto
else if $swapvar == 1 && $swaptoki == 0
	ib = ResourceYelanHeadIB.1
	ps-t0 = ResourceYelanHeadDiffuse.1
	ps-t1 = ResourceYelanHeadLightMap.1
	drawindexed = auto
else if $swapvar == 0 && $swaptoki == 1
	ib = ResourceYelanHeadIB.2
	ps-t0 = ResourceYelanHeadDiffuse.2
	ps-t1 = ResourceYelanHeadLightMap.2
	drawindexed = auto
else if $swapvar == 1 && $swaptoki == 1
	ib = ResourceYelanHeadIB.3
	ps-t0 = ResourceYelanHeadDiffuse.3
	ps-t1 = ResourceYelanHeadLightMap.3
	drawindexed = auto
endif

[CommandListYelanBody]
if $swapvar == 0 && $swaptoki == 0
	ib = ResourceYelanBodyIB.0
	if $swaptexc == 0
	ps-t0 = ResourceYelanBodyDiffuse.0
	ps-t1 = ResourceYelanBodyLightMap.0
	else if $swaptexc == 1
	ps-t0 = ResourceYelanBodyDiffuse.98
	ps-t1 = ResourceYelanBodyLightMap.98
	endif
	if $swaptexc == 0 && $swapmask ==1
    	ps-t69 = ResourceYelanTransparencyMask.0
    	run = CommandList\TexFx\Transparency.0
	else if $swaptexc == 1 && $swapmask ==0
    	ps-t69 = ResourceYelanTransparencyMask.1
    	run = CommandList\TexFx\Transparency.0
	else if $swaptexc == 1 && $swapmask ==1
    	ps-t69 = ResourceYelanTransparencyMask.2
    	run = CommandList\TexFx\Transparency.0
    	endif	
	drawindexed = auto
else if $swapvar == 1 && $swaptoki == 0
	ib = ResourceYelanBodyIB.1
	if $swaptexc == 0
	ps-t0 = ResourceYelanBodyDiffuse.1
	ps-t1 = ResourceYelanBodyLightMap.1
	else if $swaptexc == 1
	ps-t0 = ResourceYelanBodyDiffuse.99
	ps-t1 = ResourceYelanBodyLightMap.99
	endif
	if $swapmask == 1
	ps-t69 = ResourceYelanTransparencyMask.0
    	run = CommandList\TexFx\Transparency.0
	endif
	drawindexed = auto
else if $swapvar == 0 && $swaptoki == 1
	ib = ResourceYelanBodyIB.2
	if $swaptexc == 0
	ps-t0 = ResourceYelanBodyDiffuse.2
	ps-t1 = ResourceYelanBodyLightMap.2
	else if $swaptexc == 1
	ps-t0 = ResourceYelanBodyDiffuse.98
	ps-t1 = ResourceYelanBodyLightMap.98
	endif
	if $swaptexc == 0 && $swapmask ==1
    	ps-t69 = ResourceYelanTransparencyMask.0
    	run = CommandList\TexFx\Transparency.0
	else if $swaptexc == 1 && $swapmask ==0
    	ps-t69 = ResourceYelanTransparencyMask.1
    	run = CommandList\TexFx\Transparency.0
	else if $swaptexc == 1 && $swapmask ==1
    	ps-t69 = ResourceYelanTransparencyMask.2
    	run = CommandList\TexFx\Transparency.0
    	endif	
	drawindexed = auto
else if $swapvar == 1 && $swaptoki == 1
	ib = ResourceYelanBodyIB.3
	if $swaptexc == 0
	ps-t0 = ResourceYelanBodyDiffuse.3
	ps-t1 = ResourceYelanBodyLightMap.3
	else if $swaptexc == 1
	ps-t0 = ResourceYelanBodyDiffuse.99
	ps-t1 = ResourceYelanBodyLightMap.99
	endif
	if $swapmask == 1
	ps-t69 = ResourceYelanTransparencyMask.0
    	run = CommandList\TexFx\Transparency.0
	endif
	drawindexed = auto
endif

[CommandListYelanDress]
if $swapvar == 0 && $swaptoki == 0
	ib = null
	ps-t0 = ResourceYelanDressDiffuse.0
	ps-t1 = ResourceYelanDressLightMap.0
	drawindexed = auto
else if $swapvar == 1 && $swaptoki == 0
	ib = null
	ps-t0 = ResourceYelanDressDiffuse.1
	ps-t1 = ResourceYelanDressLightMap.1
	drawindexed = auto
else if $swapvar == 0 && $swaptoki == 1
	ib = ResourceYelanDressIB.2
	ps-t0 = ResourceYelanDressDiffuse.2
	ps-t1 = ResourceYelanDressLightMap.2
	drawindexed = auto
else if $swapvar == 1 && $swaptoki == 1
	ib = ResourceYelanDressIB.3
	ps-t0 = ResourceYelanDressDiffuse.3
	ps-t1 = ResourceYelanDressLightMap.3
	drawindexed = auto
endif

[CommandListYelanExtra]
if $swapvar == 0 && $swaptoki == 0
	ib = ResourceYelanExtraIB.0
	ps-t0 = ResourceYelanExtraDiffuse.0
	ps-t1 = ResourceYelanExtraLightMap.0
	drawindexed = auto
else if $swapvar == 1 && $swaptoki == 0
	ib = ResourceYelanExtraIB.1
	ps-t0 = ResourceYelanExtraDiffuse.1
	ps-t1 = ResourceYelanExtraLightMap.1
	drawindexed = auto
else if $swapvar == 0 && $swaptoki == 1
	ib = ResourceYelanExtraIB.2
	ps-t0 = ResourceYelanExtraDiffuse.2
	ps-t1 = ResourceYelanExtraLightMap.2
	drawindexed = auto
else if $swapvar == 1 && $swaptoki == 1
	ib = ResourceYelanExtraIB.3
	ps-t0 = ResourceYelanExtraDiffuse.3
	ps-t1 = ResourceYelanExtraLightMap.3
	drawindexed = auto
endif

[CommandListYelanFaceHeadDiffuse]
if $swapvar == 0 && $swaptoki == 0
	this = ResourceYelanFaceHeadDiffuse.0
else if $swapvar == 1 && $swaptoki == 0
	this = ResourceYelanFaceHeadDiffuse.1
else if $swapvar == 0 && $swaptoki == 1
	this = ResourceYelanFaceHeadDiffuse.2
else if $swapvar == 1 && $swaptoki == 1
	this = ResourceYelanFaceHeadDiffuse.3
endif

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

[ResourceYelanPosition.0]
type = Buffer
stride = 40
filename = .\YelanMod0\YelanPosition.buf

[ResourceYelanBlend.0]
type = Buffer
stride = 32
filename = .\YelanMod0\YelanBlend.buf

[ResourceYelanTexcoord.0]
type = Buffer
stride = 20
filename = .\YelanMod0\YelanTexcoord.buf

[ResourceYelanHeadIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\YelanMod0\YelanHead.ib

[ResourceYelanBodyIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\YelanMod0\YelanBody.ib

[ResourceYelanDressIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\YelanMod0\YelanDress.ib

[ResourceYelanExtraIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\YelanMod0\YelanExtra.ib

[ResourceYelanHeadDiffuse.0]
filename = .\YelanMod0\YelanHeadDiffuse.dds

[ResourceYelanHeadLightMap.0]
filename = .\YelanMod0\YelanHeadLightMap.dds

[ResourceYelanBodyDiffuse.0]
filename = .\YelanMod0\YelanBodyDiffuse.dds

[ResourceYelanBodyLightMap.0]
filename = .\YelanMod0\YelanBodyLightMap.dds

[ResourceYelanDressDiffuse.0]
filename = .\YelanMod0\YelanDressDiffuse.dds

[ResourceYelanDressLightMap.0]
filename = .\YelanMod0\YelanDressLightMap.dds

[ResourceYelanExtraDiffuse.0]
filename = .\YelanMod0\YelanExtraDiffuse.dds

[ResourceYelanExtraLightMap.0]
filename = .\YelanMod0\YelanExtraLightMap.dds

[ResourceYelanFaceHeadDiffuse.0]
filename = .\YelanMod0\YelanFaceHeadDiffuse.dds

[ResourceYelanPosition.1]
type = Buffer
stride = 40
filename = .\YelanMod1\YelanPosition.buf

[ResourceYelanBlend.1]
type = Buffer
stride = 32
filename = .\YelanMod1\YelanBlend.buf

[ResourceYelanTexcoord.1]
type = Buffer
stride = 20
filename = .\YelanMod1\YelanTexcoord.buf

[ResourceYelanHeadIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\YelanMod0\YelanHead.ib

[ResourceYelanBodyIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\YelanMod1\YelanBody.ib

[ResourceYelanDressIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\YelanMod0\YelanDress.ib

[ResourceYelanExtraIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\YelanMod1\YelanExtra.ib

[ResourceYelanHeadDiffuse.1]
filename = .\YelanMod0\YelanHeadDiffuse.dds

[ResourceYelanHeadLightMap.1]
filename = .\YelanMod0\YelanHeadLightMap.dds

[ResourceYelanBodyDiffuse.1]
filename = .\YelanMod1\YelanBodyDiffuse.dds

[ResourceYelanBodyLightMap.1]
filename = .\YelanMod1\YelanBodyLightMap.dds

[ResourceYelanDressDiffuse.1]
filename = .\YelanMod0\YelanDressDiffuse.dds

[ResourceYelanDressLightMap.1]
filename = .\YelanMod0\YelanDressLightMap.dds

[ResourceYelanExtraDiffuse.1]
filename = .\YelanMod0\YelanExtraDiffuse.dds

[ResourceYelanExtraLightMap.1]
filename = .\YelanMod0\YelanExtraLightMap.dds

[ResourceYelanFaceHeadDiffuse.1]
filename = .\YelanMod0\YelanFaceHeadDiffuse.dds

[ResourceYelanPosition.2]
type = Buffer
stride = 40
filename = .\toki0\YelanPosition.buf

[ResourceYelanBlend.2]
type = Buffer
stride = 32
filename = .\toki0\YelanBlend.buf

[ResourceYelanTexcoord.2]
type = Buffer
stride = 20
filename = .\toki0\YelanTexcoord.buf

[ResourceYelanHeadIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\toki0\YelanHead.ib

[ResourceYelanBodyIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\toki0\YelanBody.ib

[ResourceYelanDressIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\toki0\YelanDress.ib

[ResourceYelanExtraIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\toki0\YelanExtra.ib

[ResourceYelanHeadDiffuse.2]
filename = .\toki0\YelanHeadDiffuse.dds

[ResourceYelanHeadLightMap.2]
filename = .\toki0\YelanHeadLightMap.dds

[ResourceYelanBodyDiffuse.2]
filename = .\YelanMod0\YelanBodyDiffuse.dds

[ResourceYelanBodyLightMap.2]
filename = .\YelanMod0\YelanBodyLightMap.dds

[ResourceYelanDressDiffuse.2]
filename = .\toki0\YelanHeadDiffuse.dds

[ResourceYelanDressLightMap.2]
filename = .\toki0\YelanHeadLightMap.dds

[ResourceYelanExtraDiffuse.2]
filename = .\YelanMod0\YelanExtraDiffuse.dds

[ResourceYelanExtraLightMap.2]
filename = .\YelanMod0\YelanExtraLightMap.dds

[ResourceYelanFaceHeadDiffuse.2]
filename = .\toki0\YelanFaceHeadDiffuse.dds

[ResourceYelanPosition.3]
type = Buffer
stride = 40
filename = .\toki1\YelanPosition.buf

[ResourceYelanBlend.3]
type = Buffer
stride = 32
filename = .\toki1\YelanBlend.buf

[ResourceYelanTexcoord.3]
type = Buffer
stride = 20
filename = .\toki1\YelanTexcoord.buf

[ResourceYelanHeadIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\toki1\YelanHead.ib

[ResourceYelanBodyIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\toki1\YelanBody.ib

[ResourceYelanDressIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\toki1\YelanDress.ib

[ResourceYelanExtraIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\toki1\YelanExtra.ib

[ResourceYelanHeadDiffuse.3]
filename = .\toki0\YelanHeadDiffuse.dds

[ResourceYelanHeadLightMap.3]
filename = .\toki0\YelanHeadLightMap.dds

[ResourceYelanBodyDiffuse.3]
filename = .\YelanMod1\YelanBodyDiffuse.dds

[ResourceYelanBodyLightMap.3]
filename = .\YelanMod1\YelanBodyLightMap.dds

[ResourceYelanDressDiffuse.3]
filename = .\toki0\YelanHeadDiffuse.dds

[ResourceYelanDressLightMap.3]
filename = .\toki0\YelanHeadLightMap.dds

[ResourceYelanExtraDiffuse.3]
filename = .\YelanMod0\YelanExtraDiffuse.dds

[ResourceYelanExtraLightMap.3]
filename = .\YelanMod0\YelanExtraLightMap.dds

[ResourceYelanFaceHeadDiffuse.3]
filename = .\toki0\YelanFaceHeadDiffuse.dds

[ResourceYelanBodyDiffuse.98]
filename = .\YelanMod0\YelanBodyDiffuse2.dds

[ResourceYelanBodyLightMap.98]
filename = .\YelanMod0\YelanBodyLightMap.dds

[ResourceYelanBodyDiffuse.99]
filename = .\YelanMod0\YelanBodyDiffuse1.dds

[ResourceYelanBodyLightMap.99]
filename = .\YelanMod0\YelanBodyLightMap1.dds

[ResourceYelanTransparencyMask.0]
filename = .\YelanMod0\YelanBodyTransparencyMask.dds

[ResourceYelanTransparencyMask.1]
filename = .\YelanMod0\YelanBodyTransparencyMask1.dds

[ResourceYelanTransparencyMask.2]
filename = .\YelanMod0\YelanBodyTransparencyMask2.dds


; .ini generated by GIMI (Genshin-Impact-Model-Importer) mod merger script
; If you have any issues or find any bugs, please open a ticket at https://github.com/SilentNightSound/GI-Model-Importer/issues or contact SilentNightSound#7430 on discord