SilentNightSound / GI-Model-Importer

Tools and instructions for importing custom models into a certain anime game
https://discord.gg/agmg
GNU General Public License v3.0
2.34k stars 339 forks source link

Wanderer No Horns NSFW Thicc Merged + Boss Arms KeySwap issue #223

Closed tjdwl93 closed 3 months ago

tjdwl93 commented 3 months ago

only toggle Hat didn't work

; Merged Mod: .\WandererModf0002\Wanderer.ini, .\WandererModf0003\Wanderer.ini, .\WandererModf0004\Wanderer.ini

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

[Constants] global persist $swapvar = 3 global $active global $Eactive global $WandererIB global persist $nohat = 0 global persist $noarms = 0 global $lastActiveTime

[KeySwap] condition = $active == 1 key = vk_right back = vk_left type = cycle $swapvar = 3,0,1,2

[KeySwapH] condition = $active == 1 key = H type = cycle $nohat = 0,1

[KeySwapArms] condition = $active == 1 key = Y type = cycle $noarms = 1,2

[KeySwapArmsUnlock] condition = $active == 1 key = alt Y $noarms = 0

[Present] if time - $lastActiveTime > 1 post $Eactive = 0 endif post $active = 0 post $WandererIB = 0 [ResourceRefHeadDiffuse] [ResourceRefHeadLightMap] [ResourceRefBodyDiffuse] [ResourceRefBodyLightMap] [ResourceRefDressDiffuse] [ResourceRefDressLightMap] [ResourceRefExtraDiffuse] [ResourceRefExtraLightMap]

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

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

[TextureOverrideWandererPosition] hash = 0110e1c7 run = CommandListWandererPosition $active = 1

[TextureOverrideWandererBlend] hash = a716d4f2 run = CommandListWandererBlend

[TextureOverrideWandererTexcoord] hash = 798f0feb run = CommandListWandererTexcoord

[TextureOverrideWandererVertexLimitRaise] hash = 8487a77e

[TextureOverrideWandererIB] hash = 6bba515c ;hash = 536e3b83 run = CommandListWandererIB

[TextureOverrideWandererHead] hash = 6bba515c ;hash = 536e3b83 match_first_index = 0 run = CommandListWandererHead

[TextureOverrideWandererBody] hash = 6bba515c ;hash = 536e3b83 match_first_index = 17379 run = CommandListWandererBody

[TextureOverrideWandererHat] hash = a16aff98 ;hash = 99be9547 run = CommandListWandererHat

[TextureOverrideWandererE] hash = 12a9a87d $lastActiveTime = time $EActive = 1

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

[CommandListWandererPosition] if $swapvar == 0 vb0 = ResourceWandererPosition.0 else if $swapvar == 1 vb0 = ResourceWandererPosition.1 else if $swapvar == 2 vb0 = ResourceWandererPosition.2 else if $swapvar == 3 vb0 = ResourceWandererPosition.3 endif

[CommandListWandererBlend] if $swapvar == 0 vb1 = ResourceWandererBlend.0 handling = skip draw = 100000,0 else if $swapvar == 1 vb1 = ResourceWandererBlend.1 handling = skip draw = 100000,0 else if $swapvar == 2 vb1 = ResourceWandererBlend.2 handling = skip draw = 100000,0 else if $swapvar == 3 vb1 = ResourceWandererBlend.3 handling = skip draw = 100000,0 endif

[CommandListWandererTexcoord] if $swapvar == 0 vb1 = ResourceWandererTexcoord.0 else if $swapvar == 1 vb1 = ResourceWandererTexcoord.1 else if $swapvar == 2 vb1 = ResourceWandererTexcoord.2 else if $swapvar == 3 vb1 = ResourceWandererTexcoord.3 endif

[CommandListWandererIB] handling = skip drawindexed = auto

[CommandListWandererHead] if $noarms == 1 ib = null else if $EActive == 0 && $noarms == 0 ib = null else if $swapvar == 0 ib = ResourceWandererHeadIB.0 ps-t0 = ResourceWandererHeadNormalMap.0 ps-t1 = ResourceWandererHeadDiffuse.0 ps-t2 = ResourceWandererHeadLightMap.0 else if $swapvar == 1 ib = ResourceWandererHeadIB.1 ps-t0 = ResourceWandererHeadNormalMap.1 ps-t1 = ResourceWandererHeadDiffuse.1 ps-t2 = ResourceWandererHeadLightMap.1 else if $swapvar == 2 ib = ResourceWandererHeadIB.2 ps-t0 = ResourceWandererHeadNormalMap.2 ps-t1 = ResourceWandererHeadDiffuse.2 ps-t2 = ResourceWandererHeadLightMap.2 else if $swapvar == 3 ib = ResourceWandererHeadIB.3 ps-t0 = ResourceWandererHeadNormalMap.2 ps-t1 = ResourceWandererHeadDiffuse.2 ps-t2 = ResourceWandererHeadLightMap.2 endif $WandererIB = 1 ResourceRefHeadDiffuse = reference ps-t1 ResourceRefHeadLightMap = reference ps-t2

[CommandListWandererBody] if $swapvar == 0 ib = ResourceWandererBodyIB.0 ps-t0 = ResourceWandererBodyNormalMap.0 ps-t1 = ResourceWandererBodyDiffuse.0 ps-t2 = ResourceWandererBodyLightMap.0 else if $swapvar == 1 ib = ResourceWandererBodyIB.1 ps-t0 = ResourceWandererBodyNormalMap.1 ps-t1 = ResourceWandererBodyDiffuse.1 ps-t2 = ResourceWandererBodyLightMap.1 else if $swapvar == 2 ib = ResourceWandererBodyIB.2 ps-t0 = ResourceWandererBodyNormalMap.2 ps-t1 = ResourceWandererBodyDiffuse.2 ps-t2 = ResourceWandererBodyLightMap.2 else if $swapvar == 3 ib = ResourceWandererBodyIB.3 ps-t0 = ResourceWandererBodyNormalMap.2 ps-t1 = ResourceWandererBodyDiffuse.2 ps-t2 = ResourceWandererBodyLightMap.2 endif $WandererIB = 2 ResourceRefBodyDiffuse = reference ps-t1 ResourceRefBodyLightMap = reference ps-t2

[CommandListWandererHat] if $nohat == 1 ib = null endif ; Resources ---------------------------

[ResourceWandererPosition.0] type = Buffer stride = 40 filename = .\WandererModf0002\WandererPosition.buf

[ResourceWandererBlend.0] type = Buffer stride = 32 filename = .\WandererModf0002\WandererBlend.buf

[ResourceWandererTexcoord.0] type = Buffer stride = 12 filename = .\WandererModf0002\WandererTexcoord.buf

[ResourceWandererHeadIB.0] type = Buffer format = DXGI_FORMAT_R32_UINT filename = .\WandererModf0002\WandererHead.ib

[ResourceWandererBodyIB.0] type = Buffer format = DXGI_FORMAT_R32_UINT filename = .\WandererModf0002\WandererBody.ib

[ResourceWandererHeadNormalMap.0] filename = .\WandererModf0002\WandererHeadNormalMap.dds

[ResourceWandererHeadDiffuse.0] filename = .\WandererModf0002\WandererHeadDiffuse.dds

[ResourceWandererHeadLightMap.0] filename = .\WandererModf0002\WandererHeadLightMap.dds

[ResourceWandererBodyNormalMap.0] filename = .\WandererModf0002\WandererBodyNormalMap.dds

[ResourceWandererBodyDiffuse.0] filename = .\WandererModf0002\WandererBodyDiffuse.dds

[ResourceWandererBodyLightMap.0] filename = .\WandererModf0002\WandererBodyLightMap.dds

[ResourceWandererPosition.1] type = Buffer stride = 40 filename = .\WandererModf0003\WandererPosition.buf

[ResourceWandererBlend.1] type = Buffer stride = 32 filename = .\WandererModf0003\WandererBlend.buf

[ResourceWandererTexcoord.1] type = Buffer stride = 12 filename = .\WandererModf0003\WandererTexcoord.buf

[ResourceWandererHeadIB.1] type = Buffer format = DXGI_FORMAT_R32_UINT filename = .\WandererModf0003\WandererHead.ib

[ResourceWandererBodyIB.1] type = Buffer format = DXGI_FORMAT_R32_UINT filename = .\WandererModf0003\WandererBody.ib

[ResourceWandererHeadNormalMap.1] filename = .\WandererModf0002\WandererHeadNormalMap.dds

[ResourceWandererHeadDiffuse.1] filename = .\WandererModf0002\WandererHeadDiffuse.dds

[ResourceWandererHeadLightMap.1] filename = .\WandererModf0002\WandererHeadLightMap.dds

[ResourceWandererBodyNormalMap.1] filename = .\WandererModf0002\WandererBodyNormalMap.dds

[ResourceWandererBodyDiffuse.1] filename = .\WandererModf0002\WandererBodyDiffuse.dds

[ResourceWandererBodyLightMap.1] filename = .\WandererModf0002\WandererBodyLightMap.dds

[ResourceWandererFaceHeadDiffuse.2] filename = .\WandererModf0002\WandererFaceHeadDiffuse.dds

[ResourceWandererPosition.2] type = Buffer stride = 40 filename = .\WandererModf0004\WandererPosition.buf

[ResourceWandererBlend.2] type = Buffer stride = 32 filename = .\WandererModf0004\WandererBlend.buf

[ResourceWandererTexcoord.2] type = Buffer stride = 12 filename = .\WandererModf0004\WandererTexcoord.buf

[ResourceWandererHeadIB.2] type = Buffer format = DXGI_FORMAT_R32_UINT filename = .\WandererModf0004\WandererHead.ib

[ResourceWandererBodyIB.2] type = Buffer format = DXGI_FORMAT_R32_UINT filename = .\WandererModf0004\WandererBody.ib

[ResourceWandererHeadNormalMap.2] filename = .\WandererModf0002\WandererHeadNormalMap.dds

[ResourceWandererHeadDiffuse.2] filename = .\WandererModf0002\WandererHeadDiffuse.dds

[ResourceWandererHeadLightMap.2] filename = .\WandererModf0002\WandererHeadLightMap.dds

[ResourceWandererBodyNormalMap.2] filename = .\WandererModf0002\WandererBodyNormalMap.dds

[ResourceWandererBodyDiffuse.2] filename = .\WandererModf0002\WandererBodyDiffuse.dds

[ResourceWandererBodyLightMap.2] filename = .\WandererModf0002\WandererBodyLightMap.dds

[ResourceWandererPosition.3] type = Buffer stride = 40 filename = .\WandererModf0001\WandererPosition.buf

[ResourceWandererBlend.3] type = Buffer stride = 32 filename = .\WandererModf0001\WandererBlend.buf

[ResourceWandererTexcoord.3] type = Buffer stride = 12 filename = .\WandererModf0001\WandererTexcoord.buf

[ResourceWandererHeadIB.3] type = Buffer format = DXGI_FORMAT_R32_UINT filename = .\WandererModf0001\WandererHead.ib

[ResourceWandererBodyIB.3] type = Buffer format = DXGI_FORMAT_R32_UINT filename = .\WandererModf0001\WandererBody.ib

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

[ShaderRegexCharReflection] shader_model = ps_5_0 run = CommandListReflectionTexture [ShaderRegexCharReflection.pattern] discard_n\w+ r\d.\w+\n lt r\d.\w+, l(0.010000), r\d.\w+\n and r\d.\w+, r\d.\w+, r\d.\w+\n

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

[CommandListReflectionTexture] if $WandererIB != 0 if $WandererIB == 1 ps-t0 = copy ResourceRefHeadDiffuse else if $WandererIB == 2 ps-t0 = copy ResourceRefBodyDiffuse else if $WandererIB == 3 ps-t0 = copy ResourceRefDressDiffuse else if $WandererIB == 4 ps-t0 = copy ResourceRefExtraDiffuse
endif drawindexed=auto $WandererIB = 0 endif