; Bronya

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

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

[TextureOverrideBronyaHairPosition]
hash = 4265a087
handling = skip
vb0 = ResourceBronyaHairPosition
vb2 = ResourceBronyaHairBlend
draw = 7196,0

[TextureOverrideBronyaHairTexcoord]
hash = 2ec44855
vb1 = ResourceBronyaHairTexcoord

[TextureOverrideBronyaHairVertexLimitRaise]
hash = 4e327afb

[TextureOverrideBronyaHeadPosition]
hash = 9718281f
handling = skip
vb0 = ResourceBronyaHeadPosition
vb2 = ResourceBronyaHeadBlend
draw = 2605,0

[TextureOverrideBronyaHeadTexcoord]
hash = de9ba119
vb1 = ResourceBronyaHeadTexcoord

[TextureOverrideBronyaHeadVertexLimitRaise]
hash = 204acd53

[TextureOverrideBronyaBodyPosition]
hash = 198eb408
handling = skip
vb0 = ResourceBronyaBodyPosition
vb2 = ResourceBronyaBodyBlend
draw = 17090,0

[TextureOverrideBronyaBodyTexcoord]
hash = 0d67a9c3
vb1 = ResourceBronyaBodyTexcoord

[TextureOverrideBronyaBodyVertexLimitRaise]
hash = aa790868

[TextureOverrideBronyaHairIB]
hash = 2d03d71b
handling = skip
drawindexed = auto

[TextureOverrideBronyaHairA]
hash = 2d03d71b
match_first_index = 0
ib = ResourceBronyaHairAIB

[TextureOverrideBronyaHeadIB]
hash = a9ffadaf
handling = skip
drawindexed = auto

[TextureOverrideBronyaHeadA]
hash = a9ffadaf
match_first_index = 0
ib = ResourceBronyaHeadAIB

[TextureOverrideBronyaHeadB]
hash = a9ffadaf
match_first_index = 11274
ib = ResourceBronyaHeadBIB

[TextureOverrideBronyaBodyIB]
hash = 29d03f40
handling = skip
drawindexed = auto

[TextureOverrideBronyaBodyA]
hash = 29d03f40
match_first_index = 0
ib = ResourceBronyaBodyAIB

[TextureOverrideBronyaBodyB]
hash = 29d03f40
match_first_index = 34431
ib = ResourceBronyaBodyBIB

[TextureOverrideBronyaBodyC]
hash = 29d03f40
match_first_index = 36345
ib = ResourceBronyaBodyCIB

[TextureOverrideBronyaBodyD]
hash = 29d03f40
match_first_index = 60423
ib = ResourceBronyaBodyDIB

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

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

[ResourceBronyaHairPosition]
type = Buffer
stride = 40
filename = BronyaHairPosition.buf

[ResourceBronyaHairBlend]
type = Buffer
stride = 32
filename = BronyaHairBlend.buf

[ResourceBronyaHairTexcoord]
type = Buffer
stride = 8
filename = BronyaHairTexcoord.buf

[ResourceBronyaHeadPosition]
type = Buffer
stride = 40
filename = BronyaHeadPosition.buf

[ResourceBronyaHeadBlend]
type = Buffer
stride = 32
filename = BronyaHeadBlend.buf

[ResourceBronyaHeadTexcoord]
type = Buffer
stride = 8
filename = BronyaHeadTexcoord.buf

[ResourceBronyaBodyPosition]
type = Buffer
stride = 40
filename = BronyaBodyPosition.buf

[ResourceBronyaBodyBlend]
type = Buffer
stride = 32
filename = BronyaBodyBlend.buf

[ResourceBronyaBodyTexcoord]
type = Buffer
stride = 12
filename = BronyaBodyTexcoord.buf

[ResourceBronyaHairAIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = BronyaHairA.ib

[ResourceBronyaHeadAIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = BronyaHeadA.ib

[ResourceBronyaHeadBIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = BronyaHeadB.ib

[ResourceBronyaBodyAIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = BronyaBodyA.ib

[ResourceBronyaBodyBIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = BronyaBodyB.ib

[ResourceBronyaBodyCIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = BronyaBodyC.ib

[ResourceBronyaBodyDIB]
type = Buffer
format = DXGI_FORMAT_R32_UINT
filename = BronyaBodyD.ib

[ResourceBronyaHairADiffuse]
filename = BronyaHairADiffuse.dds

[ResourceBronyaHairALightMap]
filename = BronyaHairALightMap.dds

[ResourceBronyaHeadADiffuse]
filename = BronyaHeadADiffuse.dds

[ResourceBronyaBodyADiffuse]
filename = BronyaBodyADiffuse.dds

[ResourceBronyaBodyALightMap]
filename = BronyaBodyALightMap.dds

[ResourceBronyaBodyAStockingMap]
filename = BronyaBodyAStockingMap.dds

[ResourceBronyaBodyBDiffuse]
filename = BronyaBodyBDiffuse.dds

[ResourceBronyaBodyBLightMap]
filename = BronyaBodyBLightMap.dds

[ResourceBronyaBodyCDiffuse]
filename = BronyaBodyCDiffuse.dds

[ResourceBronyaBodyCLightMap]
filename = BronyaBodyCLightMap.dds

[ResourceBronyaBodyCStockingMap]
filename = BronyaBodyCStockingMap.dds

[ResourceBronyaBodyDDiffuse]
filename = BronyaBodyDDiffuse.dds

[ResourceBronyaBodyDLightMap]
filename = BronyaBodyDLightMap.dds


; .ini generated by GIMI (Genshin-Impact-Model-Importer)
; 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
; Generated Outline Fix for SRMI importer characters.

; Variables -----------------------

[Constants]
global $CharacterIB

[Present]
post $CharacterIB = 0

[ResourceRefBodyAOutline]
[ResourceRefBodyALightmap]
[ResourceRefBodyBOutline]
[ResourceRefBodyBLightmap]
[ResourceRefBodyCOutline]
[ResourceRefBodyCLightmap]
[ResourceRefBodyDOutline]
[ResourceRefBodyDLightmap]

; ShaderOverride ---------------------------

[ShaderRegexCharOutline]
shader_model = ps_4_0 ps_5_0
run = CommandListOutline
[ShaderRegexCharOutline.pattern]
mov o0\.xyz, r0\.xyzx\n
mov o0\.w, l\(0\)\n
mov o1\.xyzw, l\(1\.000000,1\.000000,0\.00195315480,0\)\n
mov o2\.xy, l\(0,0,0,0\)\n

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

[CommandListOutline]
if $CharacterIB != 0
    if $CharacterIB == 1
        ps-t0 = copy ResourceRefBodyALightmap
        ps-t1 = copy ResourceRefBodyAOutline
    else if $CharacterIB == 2
        ps-t0 = copy ResourceRefBodyBLightmap
        ps-t1 = copy ResourceRefBodyBOutline
    else if $CharacterIB == 3
        ps-t0 = copy ResourceRefBodyCLightmap
        ps-t1 = copy ResourceRefBodyCOutline
    else if $CharacterIB == 4
        ps-t0 = copy ResourceRefBodyDLightmap
        ps-t1 = copy ResourceRefBodyDOutline
    endif   
drawindexed=auto
$CharacterIB = 0
endif
    
