; EFMI ALPHA-5 INI

; Key Bindings -------------------------

[KeySwapToggle0]
condition = $object_detected == 1
key = 5
type = cycle
$swapvar_toggle_0 = -1, 0, 1, 2

[KeySwapToggle1]
condition = $object_detected == 1
key = 6
type = cycle
$swapvar_toggle_1 = -1, 0, 1, 2

; Mod Info -------------------------

[ResourceModName]
type = Buffer
data = "Unnamed Mod"

[ResourceModAuthor]
type = Buffer
data = "Unknown Author"

[ResourceModDesc]
; type = Buffer
; data = "Empty Mod Description"

[ResourceModLink]
; type = Buffer
; data = "Empty Mod Link"

[ResourceModLogo]
; filename = Textures/Logo.dds

; Mod State -------------------------

[Constants]
global $required_efmi_version = 1.10
global $object_guid = 204654
global $mesh_vertex_count = 890
global $mod_id = -1000
global $mod_enabled = 0
global $object_detected = 0
global $lod_detected = 0
; Swap vars aka state values for toggles (marked as `persist` to keep state saved in `d3dx_user.ini`)
global persist $swapvar_toggle_0 = 0
global persist $swapvar_toggle_1 = 0
; Per-object state vars (dynamically controlled by CommandListProcessToggles)
global $draw_component_0_141df854 = 1
global $draw_component_0_141df854_backthing = 1
global $draw_component_0_141df854_body = 1
global $draw_component_0_141df854_junk = 1
global $draw_component_0_141df854_legarmor = 1
global $draw_component_0_141df854_newbodysuit = 1
global $draw_component_0_141df854_skirt = 1
global $draw_component_0_141df854_uppersleeves = 1
global $draw_component_1_52528888 = 1
global $draw_component_2_68be6bf7 = 1
global $draw_component_3_66b33fcb = 1
global $draw_component_4_16e97389 = 1
global $draw_component_5_f82ced8e = 1
global $draw_component_6_28a1211e = 1
global $draw_component_7_1a8d3bfc = 1

[Present]
if $object_detected
    if $mod_enabled
        post $object_detected = 0
        run = CommandListProcessToggles
    else
        if $mod_id == -1000
            run = CommandListRegisterMod
        endif
    endif
endif

[CommandListRegisterMod]
$\EFMIv1\required_version = $required_efmi_version
$\EFMIv1\object_guid = $object_guid
Resource\EFMIv1\ModName = ref ResourceModName
Resource\EFMIv1\ModAuthor = ref ResourceModAuthor
Resource\EFMIv1\ModDesc = ref ResourceModDesc
Resource\EFMIv1\ModLink = ref ResourceModLink
Resource\EFMIv1\ModLogo = ref ResourceModLogo
run = CommandList\EFMIv1\RegisterMod
$mod_id = $\EFMIv1\mod_id
if $mod_id >= 0
    $mod_enabled = 1
endif

[CommandListProcessToggles]
; Set display of each object according to toggles logic
$draw_component_0_141df854_junk = ($swapvar_toggle_0 == 0) || ($swapvar_toggle_0 == 2)
$draw_component_0_141df854_skirt = ($swapvar_toggle_0 == 0) || ($swapvar_toggle_0 == 1)
$draw_component_0_141df854_backthing = ($swapvar_toggle_1 == 0) || ($swapvar_toggle_1 == 1)
$draw_component_0_141df854_uppersleeves = ($swapvar_toggle_1 == 0) || ($swapvar_toggle_1 == 2)

; Shading: Custom Mesh Draw CommandLists -------------------------

[CommandList_Draw_Component0]
run = CommandList\EFMIv1\OverrideTextures
ib = ref Resource_Component0_IB
vb0 = ref Resource_Component0_VB0
vb1 = ref Resource_Component0_VB1
if $lod_detected == 0
    vb2 = ref Resource_Component0_VB2
else
    vb2 = ref Resource_Component0_VB2_LOD
endif
; Draw Component 0 141df854
if $draw_component_0_141df854
    drawindexedinstanced = 47856, INSTANCE_COUNT, 0, 0, FIRST_INSTANCE
endif
; Draw Component 0 141df854.backthing
if $draw_component_0_141df854_backthing
    drawindexedinstanced = 17736, INSTANCE_COUNT, 47856, 0, FIRST_INSTANCE
endif
; Draw Component 0 141df854.body
if $draw_component_0_141df854_body
    drawindexedinstanced = 97362, INSTANCE_COUNT, 65592, 0, FIRST_INSTANCE
endif
; Draw Component 0 141df854.junk
if $draw_component_0_141df854_junk
    drawindexedinstanced = 31902, INSTANCE_COUNT, 162954, 0, FIRST_INSTANCE
endif
; Draw Component 0 141df854.legarmor
if $draw_component_0_141df854_legarmor
    drawindexedinstanced = 30588, INSTANCE_COUNT, 194856, 0, FIRST_INSTANCE
endif
; Draw Component 0 141df854.newbodysuit
if $draw_component_0_141df854_newbodysuit
    drawindexedinstanced = 318, INSTANCE_COUNT, 225444, 0, FIRST_INSTANCE
endif
; Draw Component 0 141df854.skirt
if $draw_component_0_141df854_skirt
    drawindexedinstanced = 8886, INSTANCE_COUNT, 225762, 0, FIRST_INSTANCE
endif
; Draw Component 0 141df854.uppersleeves
if $draw_component_0_141df854_uppersleeves
    drawindexedinstanced = 12144, INSTANCE_COUNT, 234648, 0, FIRST_INSTANCE
endif

[CommandList_Draw_Component1]
run = CommandList\EFMIv1\OverrideTextures
ib = ref Resource_Component1_IB
vb0 = ref Resource_Component1_VB0
vb1 = ref Resource_Component1_VB1
vb2 = ref Resource_Component1_VB2
; Draw Component 1 52528888
if $draw_component_1_52528888
    drawindexedinstanced = 29520, INSTANCE_COUNT, 0, 0, FIRST_INSTANCE
endif

[CommandList_Draw_Component2]
run = CommandList\EFMIv1\OverrideTextures
ib = ref Resource_Component2_IB
vb0 = ref Resource_Component2_VB0
vb1 = ref Resource_Component2_VB1
if $lod_detected == 0
    vb2 = ref Resource_Component2_VB2
else
    vb2 = ref Resource_Component2_VB2_LOD
endif
; Draw Component 2 68be6bf7
if $draw_component_2_68be6bf7
    drawindexedinstanced = 9714, INSTANCE_COUNT, 0, 0, FIRST_INSTANCE
endif

[CommandList_Draw_Component3]
run = CommandList\EFMIv1\OverrideTextures
ib = ref Resource_Component3_IB
vb0 = ref Resource_Component3_VB0
vb1 = ref Resource_Component3_VB1
vb2 = ref Resource_Component3_VB2
; Draw Component 3 66b33fcb
if $draw_component_3_66b33fcb
    drawindexedinstanced = 753, INSTANCE_COUNT, 0, 0, FIRST_INSTANCE
endif

[CommandList_Draw_Component4]
run = CommandList\EFMIv1\OverrideTextures
ib = ref Resource_Component4_IB
vb0 = ref Resource_Component4_VB0
vb1 = ref Resource_Component4_VB1
vb2 = ref Resource_Component4_VB2
; Draw Component 4 16e97389
if $draw_component_4_16e97389
    drawindexedinstanced = 1926, INSTANCE_COUNT, 0, 0, FIRST_INSTANCE
endif

[CommandList_Draw_Component5]
run = CommandList\EFMIv1\OverrideTextures
ib = ref Resource_Component5_IB
vb0 = ref Resource_Component5_VB0
vb1 = ref Resource_Component5_VB1
vb2 = ref Resource_Component5_VB2
; Draw Component 5 f82ced8e
if $draw_component_5_f82ced8e
    drawindexedinstanced = 1146, INSTANCE_COUNT, 0, 0, FIRST_INSTANCE
endif

[CommandList_Draw_Component6]
run = CommandList\EFMIv1\OverrideTextures
ib = ref Resource_Component6_IB
vb0 = ref Resource_Component6_VB0
vb1 = ref Resource_Component6_VB1
if $lod_detected == 0
    vb2 = ref Resource_Component6_VB2
else
    vb2 = ref Resource_Component6_VB2_LOD
endif
; Draw Component 6 28a1211e
if $draw_component_6_28a1211e
    drawindexedinstanced = 96, INSTANCE_COUNT, 0, 0, FIRST_INSTANCE
endif

[CommandList_Draw_Component7]
run = CommandList\EFMIv1\OverrideTextures
; Draw Component 7 1a8d3bfc
if $draw_component_7_1a8d3bfc
    drawindexedinstanced = 4554, INSTANCE_COUNT, 0, 0, FIRST_INSTANCE
endif

; Shading: Full Models Draw Call Stacks Processing -------------------------

[TextureOverride_Component0]
hash = 9abe5753
match_index_count = 156945
$object_detected = 1
$lod_detected = 0
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component0
endif

[TextureOverride_Component1]
hash = e7ef04b0
match_index_count = 29520
$object_detected = 1
$lod_detected = 0
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component1
endif

[TextureOverride_Component2]
hash = 65707feb
match_index_count = 9714
$object_detected = 1
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component2
endif

[TextureOverride_Component3]
hash = ed3741d9
match_index_count = 753
$object_detected = 1
$lod_detected = 0
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component3
endif

[TextureOverride_Component4]
hash = fb9de160
match_index_count = 1926
$object_detected = 1
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component4
endif

[TextureOverride_Component5]
hash = bce6aed9
match_index_count = 1146
$object_detected = 1
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component5
endif

[TextureOverride_Component6]
hash = 28a1211e
$object_detected = 1
$lod_detected = 0
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component6
endif

[TextureOverride_Component7]
hash = 22a60235
match_index_count = 4554
$object_detected = 1
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component7
endif

; Shading: LoD Models Draw Call Stacks Processing -------------------------

[TextureOverride_Component0_LOD0]
hash = 1bd4c9ac
match_index_count = 56931
$object_detected = 1
$lod_detected = 1
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component0
endif

[TextureOverride_Component1_LOD0]
hash = 77f137ad
match_index_count = 19668
$object_detected = 1
$lod_detected = 1
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component1
endif

[TextureOverride_Component3_LOD0]
hash = 748eaf27
match_index_count = 753
$object_detected = 1
$lod_detected = 1
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component3
endif

[TextureOverride_Component6_LOD0]
hash = 7c0b5f5d
$object_detected = 1
$lod_detected = 1
if $mod_enabled && DRAW_TYPE == 4
    handling = skip
    run = CommandList_Draw_Component6
endif

; Shading: Textures -------------------------

[Resource_Texture0]
filename = Textures/Components-0 t=0a449ee0.dds

[TextureOverride_Texture0]
hash = 0a449ee0
match_priority = 0
if $object_detected
    this = Resource_Texture0
endif

[Resource_Texture1]
filename = Textures/Components-0 t=69708364.dds

[TextureOverride_Texture1]
hash = 69708364
match_priority = 0
if $object_detected
    this = Resource_Texture1
endif

[Resource_Texture2]
filename = Textures/Components-0 t=7b267141.dds

[TextureOverride_Texture2]
hash = 7b267141
match_priority = 0
if $object_detected
    this = Resource_Texture2
endif

[Resource_Texture3]
filename = Textures/Components-0 t=7d330dbd.dds

[TextureOverride_Texture3]
hash = 7d330dbd
match_priority = 0
if $object_detected
    this = Resource_Texture3
endif

[Resource_Texture4]
filename = Textures/Components-7 t=4fd0f45c.dds

[TextureOverride_Texture4]
hash = 4fd0f45c
match_priority = 0
if $object_detected
    this = Resource_Texture4
endif

[Resource_Texture5]
filename = Textures/Components-7 t=6986515e.dds

[TextureOverride_Texture5]
hash = 6986515e
match_priority = 0
if $object_detected
    this = Resource_Texture5
endif

; Resources: Buffers -------------------------

[Resource_Component0_IB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
stride = 6
filename = Meshes/Component0_IB.buf

[Resource_Component0_VB0]
type = Buffer
stride = 16
filename = Meshes/Component0_VB0.buf

[Resource_Component0_VB1]
type = Buffer
stride = 12
filename = Meshes/Component0_VB1.buf

[Resource_Component0_VB2]
type = Buffer
stride = 12
filename = Meshes/Component0_VB2.buf

[Resource_Component0_VB2_LOD]
type = Buffer
stride = 12
filename = Meshes/Component0_VB2_LOD.buf

[Resource_Component1_IB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
stride = 6
filename = Meshes/Component1_IB.buf

[Resource_Component1_VB0]
type = Buffer
stride = 16
filename = Meshes/Component1_VB0.buf

[Resource_Component1_VB1]
type = Buffer
stride = 20
filename = Meshes/Component1_VB1.buf

[Resource_Component1_VB2]
type = Buffer
stride = 12
filename = Meshes/Component1_VB2.buf

[Resource_Component2_IB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
stride = 6
filename = Meshes/Component2_IB.buf

[Resource_Component2_VB0]
type = Buffer
stride = 16
filename = Meshes/Component2_VB0.buf

[Resource_Component2_VB1]
type = Buffer
stride = 12
filename = Meshes/Component2_VB1.buf

[Resource_Component2_VB2]
type = Buffer
stride = 12
filename = Meshes/Component2_VB2.buf

[Resource_Component2_VB2_LOD]
type = Buffer
stride = 12
filename = Meshes/Component2_VB2_LOD.buf

[Resource_Component3_IB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
stride = 6
filename = Meshes/Component3_IB.buf

[Resource_Component3_VB0]
type = Buffer
stride = 16
filename = Meshes/Component3_VB0.buf

[Resource_Component3_VB1]
type = Buffer
stride = 8
filename = Meshes/Component3_VB1.buf

[Resource_Component3_VB2]
type = Buffer
stride = 12
filename = Meshes/Component3_VB2.buf

[Resource_Component4_IB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
stride = 6
filename = Meshes/Component4_IB.buf

[Resource_Component4_VB0]
type = Buffer
stride = 16
filename = Meshes/Component4_VB0.buf

[Resource_Component4_VB1]
type = Buffer
stride = 8
filename = Meshes/Component4_VB1.buf

[Resource_Component4_VB2]
type = Buffer
stride = 12
filename = Meshes/Component4_VB2.buf

[Resource_Component5_IB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
stride = 6
filename = Meshes/Component5_IB.buf

[Resource_Component5_VB0]
type = Buffer
stride = 16
filename = Meshes/Component5_VB0.buf

[Resource_Component5_VB1]
type = Buffer
stride = 8
filename = Meshes/Component5_VB1.buf

[Resource_Component5_VB2]
type = Buffer
stride = 4
filename = Meshes/Component5_VB2.buf

[Resource_Component6_IB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
stride = 6
filename = Meshes/Component6_IB.buf

[Resource_Component6_VB0]
type = Buffer
stride = 16
filename = Meshes/Component6_VB0.buf

[Resource_Component6_VB1]
type = Buffer
stride = 8
filename = Meshes/Component6_VB1.buf

[Resource_Component6_VB2]
type = Buffer
stride = 12
filename = Meshes/Component6_VB2.buf

[Resource_Component6_VB2_LOD]
type = Buffer
stride = 12
filename = Meshes/Component6_VB2_LOD.buf

[Resource_Component7_IB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
stride = 6
filename = Meshes/Component7_IB.buf

[Resource_Component7_VB0]
type = Buffer
stride = 16
filename = Meshes/Component7_VB0.buf

[Resource_Component7_VB1]
type = Buffer
stride = 12
filename = Meshes/Component7_VB1.buf

[Resource_Component7_VB2]
type = Buffer
stride = 12
filename = Meshes/Component7_VB2.buf

[Resource_Component7_VB2_LOD]
type = Buffer
stride = 12
filename = Meshes/Component7_VB2_LOD.buf

; Autogenerated -------------------------

; This mod.ini was automatically generated by EFMI Tools Blender addon v0.3.3 and requires EFMI v1.1.0+ to function

; EFMI Tools GitHub: https://github.com/SpectrumQT/EFMI-Tools
; EFMI Package GitHub: https://github.com/SpectrumQT/EFMI-Package
; XXMI Launcher GitHub: https://github.com/SpectrumQT/XXMI-Launcher
; EFMI Mods Website: https://gamebanana.com/games/21842
; EFMI GameBanana: https://gamebanana.com/tools/21846
; EFMI Tools GameBanana: https://gamebanana.com/tools/21847
; AGMF Modding Community Discord: https://discord.com/invite/agmf
; SHA256 CHECKSUM: 12fd5b75f43626bc9f9a2dd4519dc230d5d63332f579f1f6c1ce17a362aba643
