; Merged Mod: .\0-MonaSportswearCap-Regular\Mona.ini, .\0-MonaSportswear-Regular\Mona.ini, .\1-MonaSportswearCap-Thicc\Mona.ini, .\1-MonaSportswear-Thicc\Mona.ini, .\2-MonaSportswearCap-ExtraThicc\Mona.ini, .\2-MonaSportswear-ExtraThicc\Mona.ini

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

[Constants]
global persist $swapvar = 0
global persist $swapvarcap = 0
global persist $swaptex = 0
global $active
global $creditinfo = 0

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

[KeySwapCap]
condition = $active == 1
key = VK_UP
type = cycle
$swapvarcap = 0,1
$creditinfo = 0

[KeySwapTex]
condition = $active == 1
key = VK_LEFT
type = cycle
$swaptex = 0,1
$creditinfo = 0

[Present]
post $active = 0
run = CommandListCreditInfo

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

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

[TextureOverrideMonaPosition]
hash = ee5ed1dc
run = CommandListMonaPosition
$active = 1

[TextureOverrideMonaBlend]
hash = bad2731b
run = CommandListMonaBlend

[TextureOverrideMonaTexcoord]
hash = e543af5d
run = CommandListMonaTexcoord

[TextureOverrideMonaVertexLimitRaise]
hash = 41f18240

[TextureOverrideMonaIB]
hash = ed79ea5b
run = CommandListMonaIB

[TextureOverrideMonaHead]
hash = ed79ea5b
match_first_index = 0
run = CommandListMonaHead

[TextureOverrideMonaBody]
hash = ed79ea5b
match_first_index = 17688
run = CommandListMonaBody

[TextureOverrideMonaFaceHeadDiffuse]
hash = 8e116301
run = CommandListMonaFaceHeadDiffuse

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

[CommandListMonaPosition]
if $swapvar == 0 && $swapvarcap == 0
	vb0 = ResourceMonaPosition.0
	$active = 1
else if $swapvar == 0 && $swapvarcap == 1
	vb0 = ResourceMonaPosition.1
	$active = 1
else if $swapvar == 1 && $swapvarcap == 0
	vb0 = ResourceMonaPosition.2
	$active = 1
else if $swapvar == 1 && $swapvarcap == 1
	vb0 = ResourceMonaPosition.3
	$active = 1
else if $swapvar == 2 && $swapvarcap == 0
	vb0 = ResourceMonaPosition.4
	$active = 1
else if $swapvar == 2 && $swapvarcap == 1
	vb0 = ResourceMonaPosition.5
	$active = 1
endif

[CommandListMonaBlend]
if $swapvar == 0 && $swapvarcap == 0
	vb1 = ResourceMonaBlend.0
	handling = skip
	draw = 22950,0
else if $swapvar == 0 && $swapvarcap == 1
	vb1 = ResourceMonaBlend.1
	handling = skip
	draw = 22167,0
else if $swapvar == 1 && $swapvarcap == 0
	vb1 = ResourceMonaBlend.2
	handling = skip
	draw = 22853,0
else if $swapvar == 1 && $swapvarcap == 1
	vb1 = ResourceMonaBlend.3
	handling = skip
	draw = 22070,0
else if $swapvar == 2 && $swapvarcap == 0
	vb1 = ResourceMonaBlend.4
	handling = skip
	draw = 22853,0
else if $swapvar == 2 && $swapvarcap == 1 
	vb1 = ResourceMonaBlend.5
	handling = skip
	draw = 22070,0
endif

[CommandListMonaTexcoord]
if $swapvar == 0  && $swapvarcap == 0
	vb1 = ResourceMonaTexcoord.0
else if $swapvar == 0 && $swapvarcap == 1
	vb1 = ResourceMonaTexcoord.1
else if $swapvar == 1 && $swapvarcap == 0
	vb1 = ResourceMonaTexcoord.2
else if $swapvar == 1 && $swapvarcap == 1
	vb1 = ResourceMonaTexcoord.3
else if $swapvar == 2 && $swapvarcap == 0
	vb1 = ResourceMonaTexcoord.4
else if $swapvar == 2 && $swapvarcap == 1
	vb1 = ResourceMonaTexcoord.5
endif

[CommandListMonaIB]
if $swapvar == 0 && $swapvarcap == 0
	handling = skip
	drawindexed = auto
else if $swapvar == 0 && $swapvarcap == 1
	handling = skip
	drawindexed = auto
else if $swapvar == 1 && $swapvarcap == 0
	handling = skip
	drawindexed = auto
else if $swapvar == 1 && $swapvarcap == 1
	handling = skip
	drawindexed = auto
else if $swapvar == 2 && $swapvarcap == 0
	handling = skip
	drawindexed = auto
else if $swapvar == 2 && $swapvarcap == 1
	handling = skip
	drawindexed = auto
endif

[CommandListMonaHead]
if $swapvar == 0 && $swapvarcap == 0
	ib = ResourceMonaHeadIB.0
	ps-t0 = ResourceMonaHeadDiffuse.0
	ps-t1 = ResourceMonaHeadLightMap.0
else if $swapvar == 0 && $swapvarcap == 1
	ib = ResourceMonaHeadIB.1
	ps-t0 = ResourceMonaHeadDiffuse.1
	ps-t1 = ResourceMonaHeadLightMap.1
else if $swapvar == 1 && $swapvarcap == 0
	ib = ResourceMonaHeadIB.2
	ps-t0 = ResourceMonaHeadDiffuse.2
	ps-t1 = ResourceMonaHeadLightMap.2
else if $swapvar == 1 && $swapvarcap == 1
	ib = ResourceMonaHeadIB.3
	ps-t0 = ResourceMonaHeadDiffuse.3
	ps-t1 = ResourceMonaHeadLightMap.3
else if $swapvar == 2 && $swapvarcap == 0
	ib = ResourceMonaHeadIB.4
	ps-t0 = ResourceMonaHeadDiffuse.4
	ps-t1 = ResourceMonaHeadLightMap.4
else if $swapvar == 2 && $swapvarcap == 1
	ib = ResourceMonaHeadIB.5
	ps-t0 = ResourceMonaHeadDiffuse.5
	ps-t1 = ResourceMonaHeadLightMap.5
endif

[CommandListMonaBody]
if $swapvar == 0 && $swapvarcap == 0
	ib = ResourceMonaBodyIB.0
if $swaptex == 0
	ps-t0 = ResourceMonaBodyDiffuse.0
	ps-t1 = ResourceMonaBodyLightMap.0
else if $swaptex == 1
	ps-t0 = ResourceMonaBodyDiffuse1.0
	ps-t1 = ResourceMonaBodyLightMap1.0
		endif
else if $swapvar == 0 && $swapvarcap == 1
	ib = ResourceMonaBodyIB.1
if $swaptex == 0
	ps-t0 = ResourceMonaBodyDiffuse.1
	ps-t1 = ResourceMonaBodyLightMap.1
else if $swaptex == 1
	ps-t0 = ResourceMonaBodyDiffuse1.1
	ps-t1 = ResourceMonaBodyLightMap1.1
		endif
else if $swapvar == 1 && $swapvarcap == 0
	ib = ResourceMonaBodyIB.2
if $swaptex == 0
	ps-t0 = ResourceMonaBodyDiffuse.2
	ps-t1 = ResourceMonaBodyLightMap.2
else if $swaptex == 1
	ps-t0 = ResourceMonaBodyDiffuse1.2
	ps-t1 = ResourceMonaBodyLightMap1.2
		endif
else if $swapvar == 1 && $swapvarcap == 1
	ib = ResourceMonaBodyIB.3
if $swaptex == 0
	ps-t0 = ResourceMonaBodyDiffuse.3
	ps-t1 = ResourceMonaBodyLightMap.3
else if $swaptex == 1
	ps-t0 = ResourceMonaBodyDiffuse1.3
	ps-t1 = ResourceMonaBodyLightMap1.3
		endif
else if $swapvar == 2 && $swapvarcap == 0
	ib = ResourceMonaBodyIB.4
if $swaptex == 0
	ps-t0 = ResourceMonaBodyDiffuse.4
	ps-t1 = ResourceMonaBodyLightMap.4
else if $swaptex == 1
	ps-t0 = ResourceMonaBodyDiffuse1.4
	ps-t1 = ResourceMonaBodyLightMap1.4
		endif
else if $swapvar == 2 && $swapvarcap == 1
	ib = ResourceMonaBodyIB.5
if $swaptex == 0
	ps-t0 = ResourceMonaBodyDiffuse.5
	ps-t1 = ResourceMonaBodyLightMap.5
else if $swaptex == 1
	ps-t0 = ResourceMonaBodyDiffuse1.5
	ps-t1 = ResourceMonaBodyLightMap1.5
		endif
endif

[CommandListMonaFaceHeadDiffuse]
if $swapvar == 0 && $swapvarcap == 0
	ps-t0 = ResourceMonaFaceHeadDiffuse.0
else if $swapvar == 0 && $swapvarcap == 1
	ps-t0 = ResourceMonaFaceHeadDiffuse.1
else if $swapvar == 1 && $swapvarcap == 0
	ps-t0 = ResourceMonaFaceHeadDiffuse.2
else if $swapvar == 1 && $swapvarcap == 1
	ps-t0 = ResourceMonaFaceHeadDiffuse.3
else if $swapvar == 2 && $swapvarcap == 0
	ps-t0 = ResourceMonaFaceHeadDiffuse.4
else if $swapvar == 2 && $swapvarcap == 1
	ps-t0 = ResourceMonaFaceHeadDiffuse.5
endif

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

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

[ResourceMonaPosition.0]
type = Buffer
stride = 40
filename = .\0-MonaSportswearCap-Regular\MonaPosition.buf

[ResourceMonaBlend.0]
type = Buffer
stride = 32
filename = .\0-MonaSportswearCap-Regular\MonaBlend.buf

[ResourceMonaTexcoord.0]
type = Buffer
stride = 12
filename = .\0-MonaSportswearCap-Regular\MonaTexcoord.buf

[ResourceMonaHeadIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\0-MonaSportswearCap-Regular\MonaHead.ib

[ResourceMonaBodyIB.0]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\0-MonaSportswearCap-Regular\MonaBody.ib

[ResourceMonaHeadDiffuse.0]
filename = .\0-MonaSportswearCap-Regular\MonaHeadDiffuse.dds

[ResourceMonaHeadLightMap.0]
filename = .\0-MonaSportswearCap-Regular\MonaHeadLightMap.dds

[ResourceMonaBodyDiffuse.0]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse.dds

[ResourceMonaBodyDiffuse1.0]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse1.dds

[ResourceMonaBodyLightMap.0]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap.dds

[ResourceMonaBodyLightMap1.0]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap1.dds

[ResourceMonaFaceHeadDiffuse.0]
filename = .\0-MonaSportswearCap-Regular\MonaFaceHeadDiffuse.dds

[ResourceCreditInfo.0]
type = Buffer
data = "Created by Exce"

[ResourceMonaPosition.1]
type = Buffer
stride = 40
filename = .\0-MonaSportswear-Regular\MonaPosition.buf

[ResourceMonaBlend.1]
type = Buffer
stride = 32
filename = .\0-MonaSportswear-Regular\MonaBlend.buf

[ResourceMonaTexcoord.1]
type = Buffer
stride = 12
filename = .\0-MonaSportswear-Regular\MonaTexcoord.buf

[ResourceMonaHeadIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\0-MonaSportswear-Regular\MonaHead.ib

[ResourceMonaBodyIB.1]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\0-MonaSportswear-Regular\MonaBody.ib

[ResourceMonaHeadDiffuse.1]
filename = .\0-MonaSportswearCap-Regular\MonaHeadDiffuse.dds

[ResourceMonaHeadLightMap.1]
filename = .\0-MonaSportswearCap-Regular\MonaHeadLightMap.dds

[ResourceMonaBodyDiffuse.1]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse.dds

[ResourceMonaBodyDiffuse1.1]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse1.dds

[ResourceMonaBodyLightMap.1]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap.dds

[ResourceMonaBodyLightMap1.1]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap1.dds

[ResourceMonaFaceHeadDiffuse.1]
filename = .\0-MonaSportswearCap-Regular\MonaFaceHeadDiffuse.dds

[ResourceCreditInfo.1]
type = Buffer
data = "Created by Exce"

[ResourceMonaPosition.2]
type = Buffer
stride = 40
filename = .\1-MonaSportswearCap-Thicc\MonaPosition.buf

[ResourceMonaBlend.2]
type = Buffer
stride = 32
filename = .\1-MonaSportswearCap-Thicc\MonaBlend.buf

[ResourceMonaTexcoord.2]
type = Buffer
stride = 12
filename = .\1-MonaSportswearCap-Thicc\MonaTexcoord.buf

[ResourceMonaHeadIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\0-MonaSportswearCap-Regular\MonaHead.ib

[ResourceMonaBodyIB.2]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\1-MonaSportswearCap-Thicc\MonaBody.ib

[ResourceMonaHeadDiffuse.2]
filename = .\0-MonaSportswearCap-Regular\MonaHeadDiffuse.dds

[ResourceMonaHeadLightMap.2]
filename = .\0-MonaSportswearCap-Regular\MonaHeadLightMap.dds

[ResourceMonaBodyDiffuse.2]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse.dds

[ResourceMonaBodyDiffuse1.2]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse1.dds

[ResourceMonaBodyLightMap.2]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap.dds

[ResourceMonaBodyLightMap1.2]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap1.dds

[ResourceMonaFaceHeadDiffuse.2]
filename = .\0-MonaSportswearCap-Regular\MonaFaceHeadDiffuse.dds

[ResourceCreditInfo.2]
type = Buffer
data = "Created by Exce"

[ResourceMonaPosition.3]
type = Buffer
stride = 40
filename = .\1-MonaSportswear-Thicc\MonaPosition.buf

[ResourceMonaBlend.3]
type = Buffer
stride = 32
filename = .\1-MonaSportswear-Thicc\MonaBlend.buf

[ResourceMonaTexcoord.3]
type = Buffer
stride = 12
filename = .\1-MonaSportswear-Thicc\MonaTexcoord.buf

[ResourceMonaHeadIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\0-MonaSportswear-Regular\MonaHead.ib

[ResourceMonaBodyIB.3]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\1-MonaSportswear-Thicc\MonaBody.ib

[ResourceMonaHeadDiffuse.3]
filename = .\0-MonaSportswearCap-Regular\MonaHeadDiffuse.dds

[ResourceMonaHeadLightMap.3]
filename = .\0-MonaSportswearCap-Regular\MonaHeadLightMap.dds

[ResourceMonaBodyDiffuse.3]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse.dds

[ResourceMonaBodyDiffuse1.3]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse1.dds

[ResourceMonaBodyLightMap.3]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap.dds

[ResourceMonaBodyLightMap1.3]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap1.dds

[ResourceMonaFaceHeadDiffuse.3]
filename = .\0-MonaSportswearCap-Regular\MonaFaceHeadDiffuse.dds

[ResourceCreditInfo.3]
type = Buffer
data = "Created by Exce"

[ResourceMonaPosition.4]
type = Buffer
stride = 40
filename = .\2-MonaSportswearCap-ExtraThicc\MonaPosition.buf

[ResourceMonaBlend.4]
type = Buffer
stride = 32
filename = .\2-MonaSportswearCap-ExtraThicc\MonaBlend.buf

[ResourceMonaTexcoord.4]
type = Buffer
stride = 12
filename = .\2-MonaSportswearCap-ExtraThicc\MonaTexcoord.buf

[ResourceMonaHeadIB.4]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\0-MonaSportswearCap-Regular\MonaHead.ib

[ResourceMonaBodyIB.4]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\2-MonaSportswearCap-ExtraThicc\MonaBody.ib

[ResourceMonaHeadDiffuse.4]
filename = .\0-MonaSportswearCap-Regular\MonaHeadDiffuse.dds

[ResourceMonaHeadLightMap.4]
filename = .\0-MonaSportswearCap-Regular\MonaHeadLightMap.dds

[ResourceMonaBodyDiffuse.4]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse.dds

[ResourceMonaBodyDiffuse1.4]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse1.dds

[ResourceMonaBodyLightMap.4]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap.dds

[ResourceMonaBodyLightMap1.4]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap1.dds

[ResourceMonaFaceHeadDiffuse.4]
filename = .\0-MonaSportswearCap-Regular\MonaFaceHeadDiffuse.dds

[ResourceCreditInfo.4]
type = Buffer
data = "Created by Exce"

[ResourceMonaPosition.5]
type = Buffer
stride = 40
filename = .\2-MonaSportswear-ExtraThicc\MonaPosition.buf

[ResourceMonaBlend.5]
type = Buffer
stride = 32
filename = .\2-MonaSportswear-ExtraThicc\MonaBlend.buf

[ResourceMonaTexcoord.5]
type = Buffer
stride = 12
filename = .\2-MonaSportswear-ExtraThicc\MonaTexcoord.buf

[ResourceMonaHeadIB.5]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\0-MonaSportswear-Regular\MonaHead.ib

[ResourceMonaBodyIB.5]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = .\2-MonaSportswear-ExtraThicc\MonaBody.ib

[ResourceMonaHeadDiffuse.5]
filename = .\0-MonaSportswearCap-Regular\MonaHeadDiffuse.dds

[ResourceMonaHeadLightMap.5]
filename = .\0-MonaSportswearCap-Regular\MonaHeadLightMap.dds

[ResourceMonaBodyDiffuse.5]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse.dds

[ResourceMonaBodyDiffuse1.5]
filename = .\0-MonaSportswearCap-Regular\MonaBodyDiffuse1.dds

[ResourceMonaBodyLightMap.5]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap.dds

[ResourceMonaBodyLightMap1.5]
filename = .\0-MonaSportswearCap-Regular\MonaBodyLightMap1.dds

[ResourceMonaFaceHeadDiffuse.5]
filename = .\0-MonaSportswearCap-Regular\MonaFaceHeadDiffuse.dds

[ResourceCreditInfo.5]
type = Buffer
data = "Created by Exce"



; .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

; 4.1 Character Fix 
[TextureOverride41FixVertexLimitRaise]
hash = c814ad67