; WWMI ALPHA-2 INI

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

[Constants]
global $required_wwmi_version = 0.70
global $object_guid = 170961
global $mesh_vertex_count = 44236
global $shapekey_vertex_count = 27428
global $mod_id = -1000
global $state_id = 0
global $mod_enabled = 0
global $object_detected = 0

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

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

[CommandListUpdateMergedSkeleton]
if $state_id
	$state_id = 0
else
	$state_id = 1
endif
ResourceMergedSkeleton = copy ResourceMergedSkeletonRW
ResourceExtraMergedSkeleton = copy ResourceExtraMergedSkeletonRW

; Resources: Mod Info -------------------------

[ResourceModName]
type = Buffer
data = "CamellyaMod"

[ResourceModAuthor]
type = Buffer
data = "Xezel3D"

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

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

[ResourceModLogo]
; filename = Textures/Logo.dds

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

[TextureOverrideMarkBoneDataCB]
hash = f02baf77
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	filter_index = 3381.7777
endif

	
[CommandListMergeSkeleton]
$\WWMIv1\custom_mesh_scale = 1.0
cs-cb8 = ref vs-cb4
cs-u6 = ResourceMergedSkeletonRW
run = CustomShader\WWMIv1\SkeletonMerger
cs-cb8 = ref vs-cb3
cs-u6 = ResourceExtraMergedSkeletonRW
run = CustomShader\WWMIv1\SkeletonMerger

[CommandListTriggerResourceOverrides]
CheckTextureOverride = ps-t0
CheckTextureOverride = ps-t1
CheckTextureOverride = ps-t2
CheckTextureOverride = ps-t3
CheckTextureOverride = ps-t4
CheckTextureOverride = ps-t5
CheckTextureOverride = ps-t6
CheckTextureOverride = ps-t7
CheckTextureOverride = vs-cb3
CheckTextureOverride = vs-cb4

[CommandListOverrideSharedResources]
ResourceBypassVB0 = ref vb0
ib = ResourceIndexBuffer
vb0 = ResourcePositionBuffer
vb1 = ResourceVectorBuffer
vb2 = ResourceTexcoordBuffer
vb3 = ResourceColorBuffer
vb4 = ResourceBlendBuffer
if vs-cb3 == 3381.7777
	vs-cb3 = ResourceExtraMergedSkeleton
endif
if vs-cb4 == 3381.7777
	vs-cb4 = ResourceMergedSkeleton
endif

[CommandListCleanupSharedResources]
vb0 = ref ResourceBypassVB0

[TextureOverrideComponent0]
hash = 7748c1d8
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	match_first_index = 0
	match_index_count = 7464
	$object_detected = 1
	if $mod_enabled
		local $state_id_0
		if $state_id_0 != $state_id
			$state_id_0 = $state_id
			$\WWMIv1\vg_offset = 0
			$\WWMIv1\vg_count = 21
			run = CommandListMergeSkeleton
		endif
		if ResourceMergedSkeleton !== null
			handling = skip
			run = CommandListTriggerResourceOverrides
			run = CommandListOverrideSharedResources
			; Draw Component 0.002
			drawindexed = 7464, 0, 0
			run = CommandListCleanupSharedResources
		endif
	endif
endif

	
[TextureOverrideComponent1]
hash = 7748c1d8
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	match_first_index = 7464
	match_index_count = 17802
	if $mod_enabled
		local $state_id_1
		if $state_id_1 != $state_id
			$state_id_1 = $state_id
			$\WWMIv1\vg_offset = 21
			$\WWMIv1\vg_count = 10
			run = CommandListMergeSkeleton
		endif
		if ResourceMergedSkeleton !== null
			handling = skip
			run = CommandListTriggerResourceOverrides
			run = CommandListOverrideSharedResources
			; Draw Component 1.002
			drawindexed = 17802, 7464, 0
			run = CommandListCleanupSharedResources
		endif
	endif
endif

	
[TextureOverrideComponent2]
hash = 7748c1d8
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	match_first_index = 25266
	match_index_count = 12006
	if $mod_enabled
		local $state_id_2
		if $state_id_2 != $state_id
			$state_id_2 = $state_id
			$\WWMIv1\vg_offset = 31
			$\WWMIv1\vg_count = 1
			run = CommandListMergeSkeleton
		endif
		if ResourceMergedSkeleton !== null
			handling = skip
			run = CommandListTriggerResourceOverrides
			run = CommandListOverrideSharedResources
			; Draw Component 2.002
			drawindexed = 12006, 25266, 0
			run = CommandListCleanupSharedResources
		endif
	endif
endif

	
[TextureOverrideComponent3]
hash = 7748c1d8
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	match_first_index = 37272
	match_index_count = 92481
	if $mod_enabled
		local $state_id_3
		if $state_id_3 != $state_id
			$state_id_3 = $state_id
			$\WWMIv1\vg_offset = 32
			$\WWMIv1\vg_count = 116
			run = CommandListMergeSkeleton
		endif
		if ResourceMergedSkeleton !== null
			handling = skip
			run = CommandListTriggerResourceOverrides
			run = CommandListOverrideSharedResources
			; Draw Component 3.002
			drawindexed = 67137, 37272, 0
			; Draw Component 3.004
			drawindexed = 3135, 104409, 0
			; Draw Component 3_body
			drawindexed = 30822, 107544, 0
			run = CommandListCleanupSharedResources
		endif
	endif
endif

	
[TextureOverrideComponent4]
hash = 7748c1d8
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	match_first_index = 129753
	match_index_count = 39228
	if $mod_enabled
		local $state_id_4
		if $state_id_4 != $state_id
			$state_id_4 = $state_id
			$\WWMIv1\vg_offset = 148
			$\WWMIv1\vg_count = 61
			run = CommandListMergeSkeleton
		endif
		if ResourceMergedSkeleton !== null
			handling = skip
			run = CommandListTriggerResourceOverrides
			run = CommandListOverrideSharedResources
			; Draw Component 4.002
			drawindexed = 30270, 138366, 0
			; Draw Component 4_calza
			drawindexed = 22158, 168636, 0
			run = CommandListCleanupSharedResources
		endif
	endif
endif

	
[TextureOverrideComponent5]
hash = 7748c1d8
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	match_first_index = 168981
	match_index_count = 1896
	if $mod_enabled
		local $state_id_5
		if $state_id_5 != $state_id
			$state_id_5 = $state_id
			$\WWMIv1\vg_offset = 209
			$\WWMIv1\vg_count = 1
			run = CommandListMergeSkeleton
		endif
		if ResourceMergedSkeleton !== null
			handling = skip
			run = CommandListTriggerResourceOverrides
			run = CommandListOverrideSharedResources
			; Draw Component 5.002
			drawindexed = 1896, 190794, 0
			run = CommandListCleanupSharedResources
		endif
	endif
endif

	
[TextureOverrideComponent6]
hash = 7748c1d8
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	match_first_index = 170877
	match_index_count = 84
	if $mod_enabled
		local $state_id_6
		if $state_id_6 != $state_id
			$state_id_6 = $state_id
			$\WWMIv1\vg_offset = 210
			$\WWMIv1\vg_count = 3
			run = CommandListMergeSkeleton
		endif
		if ResourceMergedSkeleton !== null
			handling = skip
			run = CommandListTriggerResourceOverrides
			run = CommandListOverrideSharedResources
			; Draw Component 6.002
			drawindexed = 84, 192690, 0
			run = CommandListCleanupSharedResources
		endif
	endif
endif

	
; Shading: Textures -------------------------
	
[ResourceTexture0]
filename = Textures/Components-0-1 t=6ce51d7a.dds

[TextureOverrideTexture0]
hash = 6ce51d7a
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture0
endif

	
[ResourceTexture1]
filename = Textures/Components-0-1 t=fc743d45.dds

[TextureOverrideTexture1]
hash = fc743d45
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture1
endif

	
[ResourceTexture2]
filename = Textures/Components-0-1-2-3-4 t=ab012b35.dds

[TextureOverrideTexture2]
hash = ab012b35
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture2
endif

	
[ResourceTexture3]
filename = Textures/Components-0-1-2-3-4-5 t=5019e88f.dds

[TextureOverrideTexture3]
hash = 5019e88f
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture3
endif

	
[ResourceTexture4]
filename = Textures/Components-0-1-2-3-4-6 t=9f6eaf2e.dds

[TextureOverrideTexture4]
hash = 9f6eaf2e
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture4
endif

	
[ResourceTexture5]
filename = Textures/Components-0-2-3-5 t=830aecff.dds

[TextureOverrideTexture5]
hash = 830aecff
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture5
endif

	
[ResourceTexture6]
filename = Textures/Components-0-2-5 t=8383cbbf.dds

[TextureOverrideTexture6]
hash = 8383cbbf
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture6
endif

	
[ResourceTexture7]
filename = Textures/Components-2 t=faf8f2ae.dds

[TextureOverrideTexture7]
hash = faf8f2ae
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture7
endif

	
[ResourceTexture8]
filename = Textures/Components-2-4 t=5f4e6f09.dds

[TextureOverrideTexture8]
hash = 5f4e6f09
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture8
endif

	
[ResourceTexture9]
filename = Textures/Components-2-5 t=e04dea55.dds

[TextureOverrideTexture9]
hash = e04dea55
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture9
endif

	
[ResourceTexture10]
filename = Textures/Components-3 t=212d1d6a.dds

[TextureOverrideTexture10]
hash = 212d1d6a
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture10
endif

	
[ResourceTexture11]
filename = Textures/Components-3 t=5d4de02b.dds

[TextureOverrideTexture11]
hash = 5d4de02b
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture11
endif

	
[ResourceTexture12]
filename = Textures/Components-3 t=d8fd5c40.dds

[TextureOverrideTexture12]
hash = d8fd5c40
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture12
endif

	
[ResourceTexture13]
filename = Textures/Components-4 t=0f14fc34.dds

[TextureOverrideTexture13]
hash = 0f14fc34
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture13
endif

	
[ResourceTexture14]
filename = Textures/Components-4 t=29fedfbc.dds

[TextureOverrideTexture14]
hash = 29fedfbc
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture14
endif

	
[ResourceTexture15]
filename = Textures/Components-4 t=3a299182.dds

[TextureOverrideTexture15]
hash = 3a299182
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture15
endif

	
[ResourceTexture16]
filename = Textures/Components-5 t=edfe74f8.dds

[TextureOverrideTexture16]
hash = edfe74f8
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture16
endif

	
[ResourceTexture17]
filename = Textures/Components-6 t=c235c6a7.dds

[TextureOverrideTexture17]
hash = c235c6a7
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	this = ResourceTexture17
endif

	
; Skinning: Shape Keys Override -------------------------
	
[TextureOverrideShapeKeyOffsets]
hash = a4744427
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	override_byte_stride = 24
	override_vertex_count = $mesh_vertex_count
endif

	
[TextureOverrideShapeKeyScale]
hash = cf37d417
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	override_byte_stride = 4
	override_vertex_count = $mesh_vertex_count
endif

	
[CommandListSetupShapeKeys]
$\WWMIv1\shapekey_checksum = 2063
cs-t33 = ResourceShapeKeyOffsetBuffer
cs-u5 = ResourceCustomShapeKeyValuesRW
cs-u6 = ResourceShapeKeyCBRW
run = CustomShader\WWMIv1\ShapeKeyOverrider

[CommandListLoadShapeKeys]
$\WWMIv1\shapekey_vertex_count = $shapekey_vertex_count
cs-t0 = ResourceShapeKeyVertexIdBuffer
cs-t1 = ResourceShapeKeyVertexOffsetBuffer
cs-u6 = ResourceShapeKeyCBRW
run = CustomShader\WWMIv1\ShapeKeyLoader

[TextureOverrideShapeKeyLoaderCallback]
hash = a4744427
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	if $mod_enabled
		if cs == 3381.3333 && ResourceMergedSkeleton !== null
			handling = skip
			run = CommandListSetupShapeKeys
			run = CommandListLoadShapeKeys
		endif
	endif
endif

	
[CommandListMultiplyShapeKeys]
$\WWMIv1\custom_vertex_count = $mesh_vertex_count
run = CustomShader\WWMIv1\ShapeKeyMultiplier

[TextureOverrideShapeKeyMultiplierCallback]
hash = a4744427
match_priority = 0
if $\CamellyaMod\Master\swapvar==0
	if $mod_enabled
		if cs == 3381.4444 && ResourceMergedSkeleton !== null
			handling = skip
			run = CommandListMultiplyShapeKeys
		endif
	endif
endif

	
; Resources: Shape Keys Override -------------------------
	
[ResourceShapeKeyCBRW]
type = RWBuffer
format = R32G32B32A32_UINT
array = 66

[ResourceCustomShapeKeyValuesRW]
type = RWBuffer
format = R32G32B32A32_FLOAT
array = 32

; Resources: Skeleton Override -------------------------

[ResourceMergedSkeleton]

[ResourceMergedSkeletonRW]
type = RWBuffer
format = R32G32B32A32_FLOAT
array = 768

[ResourceExtraMergedSkeleton]

[ResourceExtraMergedSkeletonRW]
type = RWBuffer
format = R32G32B32A32_FLOAT
array = 768

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

[ResourceBypassVB0]

[ResourceIndexBuffer]
type = Buffer
format = DXGI_FORMAT_R32_UINT
stride = 12
filename = Meshes/Index.buf

[ResourcePositionBuffer]
type = Buffer
format = DXGI_FORMAT_R32G32B32_FLOAT
stride = 12
filename = Meshes/Position.buf

[ResourceBlendBuffer]
type = Buffer
format = DXGI_FORMAT_R8_UINT
stride = 8
filename = Meshes/Blend.buf

[ResourceVectorBuffer]
type = Buffer
format = DXGI_FORMAT_R8G8B8A8_SNORM
stride = 8
filename = Meshes/Vector.buf

[ResourceColorBuffer]
type = Buffer
format = DXGI_FORMAT_R8G8B8A8_UNORM
stride = 4
filename = Meshes/Color.buf

[ResourceTexCoordBuffer]
type = Buffer
format = DXGI_FORMAT_R16G16_FLOAT
stride = 16
filename = Meshes/TexCoord.buf

[ResourceShapeKeyOffsetBuffer]
type = Buffer
format = DXGI_FORMAT_R32G32B32A32_UINT
stride = 16
filename = Meshes/ShapeKeyOffset.buf

[ResourceShapeKeyVertexIdBuffer]
type = Buffer
format = DXGI_FORMAT_R32_UINT
stride = 4
filename = Meshes/ShapeKeyVertexId.buf

[ResourceShapeKeyVertexOffsetBuffer]
type = Buffer
format = DXGI_FORMAT_R16_FLOAT
stride = 2
filename = Meshes/ShapeKeyVertexOffset.buf

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

; This mod.ini was automatically generated by WWMI Tools Blender addon v0.9.0 and requires WWMI v0.7.0+ to function
; WWMI GameBanana: https://gamebanana.com/tools/17252
; WWMI Tools GameBanana: https://gamebanana.com/tools/17289
; WWMI GitHub: https://github.com/SpectrumQT/WWMI
; WWMI Tools GitHub: https://github.com/SpectrumQT/WWMI_Tools
; AGMG Modding Community Discord: https://discord.com/invite/agmg

; SHA256 CHECKSUM: c2c2d89d4c5c2b0f9fd71fbd45d40c3cdb11ae7947496b4e93fd428fd2c2030a
