From 4b1135c2db8e5df49de3cfb7b14ca0026a160bb1 Mon Sep 17 00:00:00 2001 From: intra0 Date: Fri, 13 Dec 2024 23:14:43 -0600 Subject: [PATCH 01/16] Delete Enhancements/TwilightPrincessHD_Anisotropic directory --- .../TwilightPrincessHD_Anisotropic/rules.txt | 36 ------------------- 1 file changed, 36 deletions(-) delete mode 100644 Enhancements/TwilightPrincessHD_Anisotropic/rules.txt diff --git a/Enhancements/TwilightPrincessHD_Anisotropic/rules.txt b/Enhancements/TwilightPrincessHD_Anisotropic/rules.txt deleted file mode 100644 index 80ed43284..000000000 --- a/Enhancements/TwilightPrincessHD_Anisotropic/rules.txt +++ /dev/null @@ -1,36 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = Anisotropic Filtering -path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Anisotropic Filtering" -description = Allows you to set the anisotropic filtering level to improve clarity for surfaces that are looked at an angle. -version = 7 - -[Default] -$anisoLevel = 1 - -[Preset] -name = x1 (Default) - -[Preset] -name = x2 -$anisoLevel = 2 - -[Preset] -name = x4 -$anisoLevel = 4 - -[Preset] -name = x8 -$anisoLevel = 8 - -[Preset] -name = x16 (Recommended) -$anisoLevel = 16 - -[Preset] -name = x32 (Overkill) -$anisoLevel = 32 - -[TextureRedefine] -formats = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435 -overwriteAnisotropy = $anisoLevel From 5ccb727874523fa85ff61a0604839d1ce39195bf Mon Sep 17 00:00:00 2001 From: intra0 Date: Fri, 13 Dec 2024 23:15:57 -0600 Subject: [PATCH 02/16] Delete Enhancements/TwilightPrincessHD_Bloom directory --- .../49865bd2e62efda1_0000000000000079_ps.txt | 82 ---- .../5f422bf63e25be7f_0000000000000079_ps.txt | 75 --- .../6e2f31b2b2fcab1f_0000000000000079_ps.txt | 67 --- ...d_95a5a89d62998e0d_0000000000000079_ps.txt | 300 ------------ ...d_c612390d4c70f430_0000000000000079_ps.txt | 454 ------------------ .../TwilightPrincessHD_Bloom/rules.txt | 433 ----------------- 6 files changed, 1411 deletions(-) delete mode 100644 Enhancements/TwilightPrincessHD_Bloom/49865bd2e62efda1_0000000000000079_ps.txt delete mode 100644 Enhancements/TwilightPrincessHD_Bloom/5f422bf63e25be7f_0000000000000079_ps.txt delete mode 100644 Enhancements/TwilightPrincessHD_Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt delete mode 100644 Enhancements/TwilightPrincessHD_Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt delete mode 100644 Enhancements/TwilightPrincessHD_Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt delete mode 100644 Enhancements/TwilightPrincessHD_Bloom/rules.txt diff --git a/Enhancements/TwilightPrincessHD_Bloom/49865bd2e62efda1_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/49865bd2e62efda1_0000000000000079_ps.txt deleted file mode 100644 index 55b7ae728..000000000 --- a/Enhancements/TwilightPrincessHD_Bloom/49865bd2e62efda1_0000000000000079_ps.txt +++ /dev/null @@ -1,82 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader 49865bd2e62efda1: tints the bloom mask and applies it to the frame - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - -#endif - -#ifdef VULKAN - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[1]; // holds area specific bloom tint color - uniform vec4 uf_fragCoordScale; - }; - -#else - uniform ivec4 uf_remappedPS[1]; // holds area specific bloom tint color - uniform vec2 uf_fragCoordScale; - -#endif - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; // bloom mask created in 6e2f31b2b2fcab1f -layout(location = 0) in vec4 passParameterSem0; // pixel coord -layout(location = 0) out vec4 passPixelColor0; // pixel color, alpha = blend of original pixel -> used to dampen non-bloom areas in shadow world - - -// more compatible interpolation -float mixf(float x, float y, float a) -{ - return x * (1.0 - a) + y * a; -} - - -void main() -{ - // get pixel coord - vec2 coord = passParameterSem0.xy; - - // get bloom mask - vec3 mask = texture(textureUnitPS0, coord).xyz; - - // get area specific color tint - vec4 tint = vec4(0.0); - tint.x = intBitsToFloat(uf_remappedPS[0].x); - tint.y = intBitsToFloat(uf_remappedPS[0].y); - tint.z = intBitsToFloat(uf_remappedPS[0].z); - tint.w = intBitsToFloat(uf_remappedPS[0].w); - - // get luminance of tint: removes color, keeps intended brightness - float tintLuminance = dot(tint.xyz, vec3(0.299, 0.587, 0.114)); // percieved approximation - - // apply custom tint color - tint.x = mixf(tintLuminance, tint.x, $bloom_tint_strength); - tint.y = mixf(tintLuminance, tint.y, $bloom_tint_strength); - tint.z = mixf(tintLuminance, tint.z, $bloom_tint_strength); - - // apply tint on mask - vec4 outColor = vec4(0.0); - outColor.x = mask.x * tint.x; - outColor.y = mask.y * tint.y; - outColor.z = mask.z * tint.z; - - // custom brightness reduction, only in shadow world below 1.0 - outColor.w = mixf(1.0, tint.w, $shadow_world_darkening); - - // export - passPixelColor0 = vec4(outColor.x, outColor.y, outColor.z, outColor.w); -} \ No newline at end of file diff --git a/Enhancements/TwilightPrincessHD_Bloom/5f422bf63e25be7f_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/5f422bf63e25be7f_0000000000000079_ps.txt deleted file mode 100644 index 8bfc1d678..000000000 --- a/Enhancements/TwilightPrincessHD_Bloom/5f422bf63e25be7f_0000000000000079_ps.txt +++ /dev/null @@ -1,75 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader 5f422bf63e25be7f: desaturates colors (shadow world only) -// desaturates the image by shifting colors towards the red channel -// used in shadow world only, as far as tested -// grading values always seem to be: 1.0, 1.0, 1.0, ~0.33 - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[1]; // grading - }; - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - - uniform ivec4 uf_remappedPS[1]; // grading - -#endif - - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; // frame -layout(location = 0) in vec4 passParameterSem1; // pixel coordinate -layout(location = 0) out vec4 passPixelColor0; // output. w is alpha, overlayed - - -// more compatible interpolation -float mixf(float x, float y, float a) -{ - return x * (1.0 - a) + y * a; -} - - -void main() -{ - // get texel color - vec2 coord = passParameterSem1.xy; - vec3 texel = texture(textureUnitPS0, coord).xyz; - - // get grading - vec4 grading = vec4(0.0); - grading.x = intBitsToFloat(uf_remappedPS[0].x); // 1.0 - grading.y = intBitsToFloat(uf_remappedPS[0].y); // 1.0 - grading.z = intBitsToFloat(uf_remappedPS[0].z); // 1.0 - grading.w = intBitsToFloat(uf_remappedPS[0].w); // alpha, ~0.33 - - // shift towards red channel - vec4 color = vec4(0.0); - color.x = texel.x * grading.x; // red * 1.0 - color.y = texel.x * grading.y; // red * 1.0 - color.z = texel.x * grading.z; // red * 1.0 - color.w = mixf(0.0, grading.w, $shadow_world_desaturation); // apply custom strength - - // export - passPixelColor0 = vec4(color.x, color.y, color.z, color.w); - - - // test current grading colors - //passPixelColor0 = vec4(grading.x, grading.y, grading.z, 1.0); - - // test current grading alpha - //passPixelColor0 = vec4(grading.w, grading.w, grading.w, 1.0); -} diff --git a/Enhancements/TwilightPrincessHD_Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt deleted file mode 100644 index 464c365de..000000000 --- a/Enhancements/TwilightPrincessHD_Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt +++ /dev/null @@ -1,67 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader 6e2f31b2b2fcab1f: creates bloom mask - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - -#endif - -#ifdef VULKAN - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[1]; // mask threshold - uniform vec4 uf_fragCoordScale; - }; - -#else - uniform ivec4 uf_remappedPS[1]; // mask threshold - uniform vec2 uf_fragCoordScale; - -#endif - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; // frame -layout(location = 0) out vec4 passPixelColor0; // outputs to a texture used by c612390d4c70f430, 95a5a89d62998e0d and 49865bd2e62efda1 - - -void main() -{ - // get mask threshold data - float cutoff = intBitsToFloat(uf_remappedPS[0].x); // ~0.39: 0-1, higher = less glowing pixels - float contrast = intBitsToFloat(uf_remappedPS[0].y); // 4.5: higher = sharper edges - - // get texture coordinate of this pixel - vec4 coord = GET_FRAGCOORD(); - coord.x = coord.x * intBitsToFloat(0x3b088889); // align to scale/grid? - coord.y = coord.y * intBitsToFloat(0x3b72b9d6); - - // get color of this pixel - vec3 color = texture(textureUnitPS0, vec2(coord.x, coord.y)).xyz; - - // calculate luminance = percieved brightness - float luminance = dot(color, vec3(0.299, 0.587, 0.114)); // percieved approximation - - // apply threshold, removes dark areas from the mask - luminance = contrast * (luminance - cutoff) * $bloom_strength; // apply custom strength - - // apply to color and clamp - color.x = clamp(luminance * color.x, 0.0, 1.0); - color.y = clamp(luminance * color.y, 0.0, 1.0); - color.z = clamp(luminance * color.z, 0.0, 1.0); - - // export - passPixelColor0 = vec4(color.x, color.y, color.z, 0.0); -} diff --git a/Enhancements/TwilightPrincessHD_Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt deleted file mode 100644 index 31a9713d8..000000000 --- a/Enhancements/TwilightPrincessHD_Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt +++ /dev/null @@ -1,300 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader 95a5a89d62998e0d: blurs bloom vertical - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - -#endif - -#ifdef VULKAN - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[3]; - uniform vec4 uf_fragCoordScale; - }; - -#else - uniform ivec4 uf_remappedPS[3]; - uniform vec2 uf_fragCoordScale; - -#endif - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) out vec4 passPixelColor0; - - -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} - - -void main() -{ - vec4 R0f = vec4(0.0); - vec4 R1f = vec4(0.0); - vec4 R2f = vec4(0.0); - vec4 R3f = vec4(0.0); - vec4 R4f = vec4(0.0); - vec4 R5f = vec4(0.0); - vec4 R6f = vec4(0.0); - vec4 R7f = vec4(0.0); - vec4 R123f = vec4(0.0); - float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; - float PV0fx = 0.0, PV0fy = 0.0, PV0fz = 0.0, PV0fw = 0.0, PV1fx = 0.0, PV1fy = 0.0, PV1fz = 0.0, PV1fw = 0.0; - float PS0f = 0.0, PS1f = 0.0; - vec4 tempf = vec4(0.0); - float tempResultf; - int tempResulti; - ivec4 ARi = ivec4(0); - bool predResult = true; - R0f = GET_FRAGCOORD(); - - - // 0 - R7f.x = R0f.x * intBitsToFloat(0x3b088889); - R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); - - // 1 - R0f.x = R7f.x; - R0f.y = R7f.y + intBitsToFloat(0x3b72b9d6); - R1f.z = R7f.x; - R1f.y = R7f.y + intBitsToFloat(0xbb72b9d6); - - // 2 - R2f.x = R7f.x; - R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6); - R4f.z = R7f.x; - R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.z,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - PV0fx = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); - PV0fy = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); - PV0fz = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.x); - PV0fw = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.w); - R0f.y = R7f.y + intBitsToFloat(0x3c360b60); - - // 1 - R123f.x = mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0fx; - R123f.y = mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0fw; - R123f.z = mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0fz; - R123f.w = mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0fy; - R0f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + R123f.w; - R1f.y = R7f.y + intBitsToFloat(0xbc360b60); - - // 3 - backupReg0f = R2f.z; - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + R123f.y; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + R123f.x; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + R123f.z; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + R123f.w; - R1f.x = R7f.x; - - // 4 - R2f.x = R7f.x; - R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6); - R6f.z = R7f.x; - R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.z,R4f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R2f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R3f.y; - R3f.y = R7f.y + intBitsToFloat(0x3c97b426); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + backupReg0f; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + R123f.w; - R3f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + backupReg0f; - R1f.y = R7f.y + intBitsToFloat(0xbc97b426); - - // 3 - R0f.x = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + R123f.y; - R0f.y = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + R123f.x; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + R123f.w; - R1f.x = R7f.x; - - // 4 - R5f.x = R7f.x; - R5f.y = R7f.y + intBitsToFloat(0x3cb60b60); - R4f.z = R7f.x; - R4f.y = R7f.y + intBitsToFloat(0xbcb60b60); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.z,R6f.y),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.y; - R0f.y = R7f.y + intBitsToFloat(0x3cd4629b); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + R123f.w; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + backupReg0f; - R0f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + R123f.w; - R1f.y = R7f.y + intBitsToFloat(0xbcd4629b); - - // 3 - backupReg0f = R2f.z; - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + R123f.y; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + R123f.x; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + R123f.z; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + R123f.w; - R1f.x = R7f.x; - - // 4 - R2f.x = R7f.x; - R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6); - R6f.z = R7f.x; - R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.z,R4f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R2f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R3f.y; - R3f.y = R7f.y + intBitsToFloat(0x3d088888); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + backupReg0f; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + R123f.w; - R3f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + backupReg0f; - R1f.y = R7f.y + intBitsToFloat(0xbd088888); - - // 3 - R0f.x = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + R123f.y; - R0f.y = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + R123f.x; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + R123f.w; - R1f.x = R7f.x; - - // 4 - R5f.x = R7f.x; - R5f.y = R7f.y + intBitsToFloat(0x3d17b426); - R4f.z = R7f.x; - R4f.y = R7f.y + intBitsToFloat(0xbd17b426); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.z,R6f.y),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.y; - R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + R123f.w; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + backupReg0f; - R0f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + R123f.w; - R7f.y = R7f.y + intBitsToFloat(0xbd26dfc3); - - // 3 - backupReg0f = R2f.z; - R2f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.x) + R123f.y; - R2f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.y) + R123f.x; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + R123f.z; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + R123f.w; - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.z,R4f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R7f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R2f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R2f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.y; - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + backupReg0f; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + R123f.w; - - // 2 - R7f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.x) + R123f.y; - R7f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.y) + R123f.w; - R7f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.z) + R123f.z; - R7f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.w) + R123f.x; - - // export - passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -} diff --git a/Enhancements/TwilightPrincessHD_Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt deleted file mode 100644 index c40a8a014..000000000 --- a/Enhancements/TwilightPrincessHD_Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt +++ /dev/null @@ -1,454 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader c612390d4c70f430: blurs bloom horizontal - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - -#endif - -#ifdef VULKAN - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[5]; - uniform vec4 uf_fragCoordScale; - }; - -#else - uniform ivec4 uf_remappedPS[5]; - uniform vec2 uf_fragCoordScale; - -#endif - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) out vec4 passPixelColor0; - - -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} - - -void main() -{ - vec4 R0f = vec4(0.0); - vec4 R1f = vec4(0.0); - vec4 R2f = vec4(0.0); - vec4 R3f = vec4(0.0); - vec4 R4f = vec4(0.0); - vec4 R5f = vec4(0.0); - vec4 R6f = vec4(0.0); - vec4 R7f = vec4(0.0); - vec4 R123f = vec4(0.0); - float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; - float PV0fx = 0.0, PV0fy = 0.0, PV0fz = 0.0, PV0fw = 0.0, PV1fx = 0.0, PV1fy = 0.0, PV1fz = 0.0, PV1fw = 0.0; - float PS0f = 0.0, PS1f = 0.0; - vec4 tempf = vec4(0.0); - float tempResultf; - int tempResulti; - ivec4 ARi = ivec4(0); - bool predResult = true; - R0f = GET_FRAGCOORD(); - - - // 0 - R7f.x = R0f.x * intBitsToFloat(0x3b088889); - R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); - - // 1 - R0f.x = R7f.x + intBitsToFloat(0x3b088889); - R0f.y = R7f.y; - R1f.z = R7f.y; - R1f.x = R7f.x + intBitsToFloat(0xbb088889); - - // 2 - R2f.x = R7f.x + intBitsToFloat(0x3b888889); - R2f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbb888889); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.z),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - PV0fx = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); - PV0fy = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); - PV0fz = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.x); - PV0fw = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.w); - R0f.x = R7f.x + intBitsToFloat(0x3bccccce); - - // 1 - R123f.x = mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0fw; - R123f.y = mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0fy; - R123f.z = mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0fz; - R123f.w = mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0fx; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + R123f.w; - R1f.x = R7f.x + intBitsToFloat(0xbbccccce); - - // 3 - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + R123f.z; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + R123f.x; - R1f.y = R7f.y; - - // 4 - R2f.x = R7f.x + intBitsToFloat(0x3c088889); - R2f.y = R7f.y; - R6f.z = R7f.y; - R6f.x = R7f.x + intBitsToFloat(0xbc088889); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R3f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R2f.w; - R3f.x = R7f.x + intBitsToFloat(0x3c2aaaab); - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + R123f.w; - R3f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + backupReg0f; - R1f.x = R7f.x + intBitsToFloat(0xbc2aaaab); - - // 3 - R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + R123f.x; - R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + R123f.y; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + R123f.w; - R1f.y = R7f.y; - - // 4 - R5f.x = R7f.x + intBitsToFloat(0x3c4cccce); - R5f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbc4cccce); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.x; - R0f.x = R7f.x + intBitsToFloat(0x3c6eeef0); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + R123f.w; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + backupReg0f; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + R123f.w; - R1f.x = R7f.x + intBitsToFloat(0xbc6eeef0); - - // 3 - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + R123f.z; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + R123f.x; - R1f.y = R7f.y; - - // 4 - R2f.x = R7f.x + intBitsToFloat(0x3c888889); - R2f.y = R7f.y; - R6f.z = R7f.y; - R6f.x = R7f.x + intBitsToFloat(0xbc888889); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R3f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R2f.w; - R3f.x = R7f.x + intBitsToFloat(0x3c99999a); - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + R123f.w; - R3f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + backupReg0f; - R1f.x = R7f.x + intBitsToFloat(0xbc99999a); - - // 3 - R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + R123f.x; - R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + R123f.y; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + R123f.w; - R1f.y = R7f.y; - - // 4 - R5f.x = R7f.x + intBitsToFloat(0x3caaaaab); - R5f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbcaaaaab); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.x; - R0f.x = R7f.x + intBitsToFloat(0x3cbbbbbc); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + R123f.w; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + backupReg0f; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + R123f.w; - R1f.x = R7f.x + intBitsToFloat(0xbcbbbbbc); - - // 3 - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + R123f.z; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.x) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.y) + R123f.x; - R1f.y = R7f.y; - - // 4 - R2f.x = R7f.x + intBitsToFloat(0x3cccccce); - R2f.y = R7f.y; - R6f.z = R7f.y; - R6f.x = R7f.x + intBitsToFloat(0xbcccccce); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R3f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R3f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.w; - R3f.x = R7f.x + intBitsToFloat(0x3cdddddf); - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + R123f.w; - R3f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.x) + backupReg0f; - R1f.x = R7f.x + intBitsToFloat(0xbcdddddf); - - // 3 - R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[3].x)) + R123f.x; - R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[3].x)) + R123f.y; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[3].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[3].x)) + R123f.w; - R1f.y = R7f.y; - - // 4 - R5f.x = R7f.x + intBitsToFloat(0x3ceeeef0); - R5f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbceeeef0); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.z) + R0f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.w) + R0f.x; - R0f.x = R7f.x + 0.03125; - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.w) + R123f.w; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.y) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.z) + backupReg0f; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.z) + R123f.w; - R1f.x = R7f.x + -0.03125; - - // 3 - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.w) + R123f.z; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.x) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.y) + R123f.x; - R1f.y = R7f.y; - - // 4 - R2f.x = R7f.x + intBitsToFloat(0x3d088889); - R2f.y = R7f.y; - R6f.z = R7f.y; - R6f.x = R7f.x + intBitsToFloat(0xbd088889); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.x) + R3f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.w) + R3f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.y) + R2f.w; - R3f.x = R7f.x + intBitsToFloat(0x3d111112); - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.y) + R123f.w; - R3f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.x) + backupReg0f; - R1f.x = R7f.x + intBitsToFloat(0xbd111112); - - // 3 - R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[4].x)) + R123f.x; - R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[4].x)) + R123f.y; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[4].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[4].x)) + R123f.w; - R1f.y = R7f.y; - - // 4 - R5f.x = R7f.x + intBitsToFloat(0x3d19999a); - R5f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbd19999a); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.z) + R0f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.w) + R0f.x; - R0f.x = R7f.x + intBitsToFloat(0x3d222223); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.w) + R123f.w; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.y) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.z) + backupReg0f; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.z) + R123f.w; - R7f.x = R7f.x + intBitsToFloat(0xbd222223); - - // 3 - backupReg0f = R2f.x; - backupReg1f = R2f.y; - R2f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R2f.w) + R123f.z; - R2f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg0f) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg1f) + R123f.x; - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R7f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.x) + R2f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.w) + R2f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.y) + R2f.w; - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.y) + R123f.w; - - // 2 - R7f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.x) + R123f.x; - R7f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.y) + R123f.w; - R7f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.z) + R123f.z; - R7f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.w) + R123f.y; - - // export - passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -} diff --git a/Enhancements/TwilightPrincessHD_Bloom/rules.txt b/Enhancements/TwilightPrincessHD_Bloom/rules.txt deleted file mode 100644 index 7a25d0afc..000000000 --- a/Enhancements/TwilightPrincessHD_Bloom/rules.txt +++ /dev/null @@ -1,433 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = Bloom (Glow) and Shadow World Color Grading -path = The Legend of Zelda: Twilight Princess HD/Graphics/Bloom -description = This pack allows you to adjust bloom and color grading in the shadow world.||It's not recommended to fully disable bloom, as it removes the intended tone of the game.|Bloom is particularly strong in the shadow world with a strong yellow tint, but is also used in the normal world.||Color grading only affects the shadow world. By default, the game darkens and desaturates the image in the shadow world to further distinguish it. -version = 7 - - -[Default] -$bloom_custom = 0 -$bloom_enabled = 1 -$bloom_strength = 1.0 -#$bloom_blur_strength = 1.0 -$bloom_tint_strength = 1.0 -$shadow_world_custom = 0 -$shadow_world_darkening = 1.0 -$shadow_world_desaturation = 1.0 - - -# Bloom presets for dummies - -[Preset] -category = Bloom -name = Very High (Default) -$bloom_custom = 0 -$bloom_strength = 1.0 -#$bloom_blur_strength = 1.0 -$bloom_tint_strength = 1.0 - -[Preset] -category = Bloom -name = High -$bloom_custom = 0 -$bloom_strength = 0.8 -#$bloom_blur_strength = 0.8 -$bloom_tint_strength = 0.8 - -[Preset] -category = Bloom -name = Balanced (Recommended) -$bloom_custom = 0 -$bloom_strength = 0.5 -#$bloom_blur_strength = 0.5 -$bloom_tint_strength = 0.8 - -[Preset] -category = Bloom -name = Low -$bloom_custom = 0 -$bloom_strength = 0.4 -#$bloom_blur_strength = 0.2 -$bloom_tint_strength = 0.9 - -[Preset] -category = Bloom -name = Very Low -$bloom_custom = 0 -$bloom_strength = 0.2 -#$bloom_blur_strength = 0.2 -$bloom_tint_strength = 0.9 - -[Preset] -category = Bloom -name = Custom -$bloom_custom = 1 - - -# Overall Bloom Strength (6e2f31b2b2fcab1f) - -[Preset] -category = Bloom Strength -name = 0% (Disables bloom entirely, not recommended) -condition = $bloom_custom -$bloom_enabled = 0 -$bloom_strength = 0.0 - -[Preset] -category = Bloom Strength -name = 10% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.1 - -[Preset] -category = Bloom Strength -name = 20% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.2 - -[Preset] -category = Bloom Strength -name = 30% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.3 - -[Preset] -category = Bloom Strength -name = 40% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.4 - -[Preset] -category = Bloom Strength -name = 50% (Recommended) -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.5 - -[Preset] -category = Bloom Strength -name = 60% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.6 - -[Preset] -category = Bloom Strength -name = 70% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.7 - -[Preset] -category = Bloom Strength -name = 80% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.8 - -[Preset] -category = Bloom Strength -name = 90% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.9 - -[Preset] -category = Bloom Strength -name = 100% (Default) -default = 1 -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 1.0 - -[Preset] -category = Bloom Strength -name = 110% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 1.1 - -[Preset] -category = Bloom Strength -name = 120% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 1.2 - -[Preset] -category = Bloom Strength -name = 150% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 1.5 - -[Preset] -category = Bloom Strength -name = 200% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 2.0 - - -## Blur Strength (ToDo) -## Strength of the periodic blur would be most useful, some people feel nausatiated by it -## Would recommend to set bloom higher with this reduced -## Didn't figure out the shader yet. Most likely better solved via ASM -# -#[Preset] -#category = Periodic Bloom Blur -#name = 0% (Bloom will stay static) -#condition = $bloom_enabled -#$bloom_blur_strength = 0.0 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 10% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.1 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 20% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.2 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 30% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.3 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 40% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.4 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 50% (Recommended) -#condition = $bloom_enabled -#$bloom_blur_strength = 0.5 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 60% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.6 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 70% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.7 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 80% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.8 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 90% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.9 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 100% (Native) -#condition = $bloom_enabled -#default = 1 -#$bloom_blur_strength = 1.0 - - -# Area Specific Bloom Tint (49865bd2e62efda1) - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 0% (Same white bloom color everywhere) -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.0 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 10% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.1 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 20% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.2 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 30% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.3 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 40% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.4 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 50% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.5 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 60% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.6 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 70% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.7 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 80% (Recommended) -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.8 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 90% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.9 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 100% (Default) -condition = $bloom_enabled + $bloom_custom > 1 -default = 1 -$bloom_tint_strength = 1.0 - - - -# Shadow world color grading presets for dummies - -[Preset] -category = Shadow World Color Grading -name = Very Dark (Default) -default = 1 -$shadow_world_custom = 0 -$shadow_world_darkening = 1.0 -$shadow_world_desaturation = 1.0 - -[Preset] -category = Shadow World Color Grading -name = Dark -$shadow_world_custom = 0 -$shadow_world_darkening = 0.75 -$shadow_world_desaturation = 0.75 - -[Preset] -category = Shadow World Color Grading -name = Balanced -$shadow_world_custom = 0 -$shadow_world_darkening = 0.5 -$shadow_world_desaturation = 0.5 - -[Preset] -category = Shadow World Color Grading -name = Bright (Recommended) -$shadow_world_custom = 0 -$shadow_world_darkening = 0.25 -$shadow_world_desaturation = 0.5 - -[Preset] -category = Shadow World Color Grading -name = Very Bright -$shadow_world_custom = 0 -$shadow_world_darkening = 0.0 -$shadow_world_desaturation = 0.5 - -[Preset] -category = Shadow World Color Grading -name = Custom -$shadow_world_custom = 1 - - -# Shadow World Brightness (49865bd2e62efda1) -# the alpha of the bloom color tint in the shadow world is used to darken the image -# this is separated, because it is not affected by bloom strength at all - -[Preset] -category = Shadow World Brightness -name = 60% (Default) -default = 1 -condition = $shadow_world_custom -$shadow_world_darkening = 1.0 - -[Preset] -category = Shadow World Brightness -name = 70% -condition = $shadow_world_custom -$shadow_world_darkening = 0.75 - -[Preset] -category = Shadow World Brightness -name = 80% -condition = $shadow_world_custom -$shadow_world_darkening = 0.5 - -[Preset] -category = Shadow World Brightness -name = 90% (Recommended) -condition = $shadow_world_custom -$shadow_world_darkening = 0.25 - -[Preset] -category = Shadow World Brightness -name = 100% (Shadow world as bright as normal world) -condition = $shadow_world_custom -$shadow_world_darkening = 0.0 - - -# Shadow World Color Desaturation (5f422bf63e25be7f) -# a custom shader is used exclusivly in the shadow world to desaturate its colors - -[Preset] -category = Shadow World Saturation -name = 60% (Default) -default = 1 -condition = $shadow_world_custom -$shadow_world_desaturation = 1.0 - -[Preset] -category = Shadow World Saturation -name = 70% -condition = $shadow_world_custom -$shadow_world_desaturation = 0.75 - -[Preset] -category = Shadow World Saturation -name = 80% (Recommended) -condition = $shadow_world_custom -$shadow_world_desaturation = 0.5 - -[Preset] -category = Shadow World Saturation -name = 90% -condition = $shadow_world_custom -$shadow_world_desaturation = 0.25 - -[Preset] -category = Shadow World Saturation -name = 100% (Shadow world as saturated as normal world) -condition = $shadow_world_custom -$shadow_world_desaturation = 0.0 From fa773cc3a4627bbd38b64588178ec6c209035b04 Mon Sep 17 00:00:00 2001 From: intra0 Date: Fri, 13 Dec 2024 23:16:14 -0600 Subject: [PATCH 03/16] Delete Enhancements/TwilightPrincessHD_Contrasty directory --- .../c14019840473ff86_00000000000003c9_ps.txt | 245 ------------ .../TwilightPrincessHD_Contrasty/rules.txt | 205 ---------- ...d_49865bd2e62efda1_0000000000000079_ps.txt | 82 ---- ...d_5f422bf63e25be7f_0000000000000079_ps.txt | 88 ----- ...d_95a5a89d62998e0d_0000000000000079_ps.txt | 367 ------------------ ...d_e334517825fdd599_0000000000000079_ps.txt | 130 ------- 6 files changed, 1117 deletions(-) delete mode 100644 Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt delete mode 100644 Enhancements/TwilightPrincessHD_Contrasty/rules.txt delete mode 100644 Enhancements/TwilightPrincessHD_Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt delete mode 100644 Enhancements/TwilightPrincessHD_Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt delete mode 100644 Enhancements/TwilightPrincessHD_Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt delete mode 100644 Enhancements/TwilightPrincessHD_Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt diff --git a/Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt deleted file mode 100644 index b917e9b2d..000000000 --- a/Enhancements/TwilightPrincessHD_Contrasty/c14019840473ff86_00000000000003c9_ps.txt +++ /dev/null @@ -1,245 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader c14019840473ff86 -// start of shader inputs/outputs, predetermined by Cemu. Do not touch -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -#ifdef VULKAN -layout(set = 1, binding = 2) uniform ufBlock -{ -uniform vec4 uf_fragCoordScale; -}; -#else -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -// end of shader inputs/outputs - -const float hazeFactor = 0.1; -const float gamma = $gamma; // 1.0 is neutral Botw is already colour graded at this stage -const float exposure = $exposure; // 1.0 is neutral -const float vibrance = $vibrance; // 0.0 is neutral -const float crushContrast = $crushContrast; // 0.0 is neutral. Use small increments, loss of shadow detail -const float contrastCurve = $contrastCurve; - -vec3 RGB_Lift = vec3($redShadows, $greenShadows , $blueSadows); // [0.000 to 2.000] Adjust shadows for Red, Green and Blue. -vec3 RGB_Gamma = vec3($redMid ,$greenMid, $blueMid); // [0.000 to 2.000] Adjust midtones for Red, Green and Blue -vec3 RGB_Gain = vec3($redHilight, $greenHilight, $blueHilight); // [0.000 to 2.000] Adjust highlights for Red, Green and Blue -//lumasharpen -const float sharp_mix = $sharp_mix; -const float sharp_strength = 2.0; -const float sharp_clamp = 0.75; -const float offset_bias = 1.0; -float Sigmoid (float x) { - - return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5))); -} - - -#define px (1.0/1920.0*uf_fragCoordScale.x) -#define py (1.0/1080.0*uf_fragCoordScale.y) -#define CoefLuma vec3(0.2126, 0.7152, 0.0722) - -float lumasharping(sampler2D tex, vec2 pos) { - vec4 colorInput = texture(tex, pos); - - vec3 ori = colorInput.rgb; - - // -- Combining the strength and luma multipliers -- - vec3 sharp_strength_luma = (CoefLuma * sharp_strength); - - // -- Gaussian filter -- - // [ .25, .50, .25] [ 1 , 2 , 1 ] - // [ .50, 1, .50] = [ 2 , 4 , 2 ] - // [ .25, .50, .25] [ 1 , 2 , 1 ] - - vec3 blur_ori = texture(tex, pos + vec2(px, -py) * 0.5 * offset_bias).rgb; // South East - blur_ori += texture(tex, pos + vec2(-px, -py) * 0.5 * offset_bias).rgb; // South West - blur_ori += texture(tex, pos + vec2(px, py) * 0.5 * offset_bias).rgb; // North East - blur_ori += texture(tex, pos + vec2(-px, py) * 0.5 * offset_bias).rgb; // North West - - blur_ori *= 0.25; // ( /= 4) Divide by the number of texture fetches - - // -- Calculate the sharpening -- - vec3 sharp = ori - blur_ori; //Subtracting the blurred image from the original image - - // -- Adjust strength of the sharpening and clamp it-- - vec4 sharp_strength_luma_clamp = vec4(sharp_strength_luma * (0.5 / sharp_clamp), 0.5); //Roll part of the clamp into the dot - - float sharp_luma = clamp((dot(vec4(sharp, 1.0), sharp_strength_luma_clamp)), 0.0, 1.0); //Calculate the luma, adjust the strength, scale up and clamp - sharp_luma = (sharp_clamp * 2.0) * sharp_luma - sharp_clamp; //scale down - - return sharp_luma; -} - -vec3 LiftGammaGainPass(vec3 colorInput) -{ //reshade BSD https://reshade.me , Alexkiri port - vec3 color = colorInput; - color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5; - color = clamp(color, 0.0, 1.0); - color *= RGB_Gain; - color = pow(color, 1.0 / RGB_Gamma); - return clamp(color, 0.0, 1.0); -} - -vec3 contrasty(vec3 colour){ - vec3 fColour = (colour.xyz); -//fColour = LiftGammaGainPass(fColour); - - fColour = clamp(exposure * fColour, 0.0, 1.0); - fColour = pow(fColour, vec3(1.0 / gamma)); - float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; - float mn = min(min(fColour.r, fColour.g), fColour.b); - float mx = max(max(fColour.r, fColour.g), fColour.b); - float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; - vec3 lightness = vec3((mn + mx) / 2.0); - fColour = LiftGammaGainPass(fColour); -// vibrance - fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); - fColour = max(vec3(0.0), fColour - vec3(crushContrast)); - return fColour; -} - -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float scaleRes = uf_fragCoordScale.x; -R0f = passParameterSem0; -R0f.w = (textureGather(textureUnitPS1, R0f.xy).y); -// 0 -R1f.x = R0f.x + intBitsToFloat(0xba088889); -R1f.y = R0f.y + intBitsToFloat(0xba72b9d6); -R2f.z = R0f.x; -R2f.y = R0f.y + intBitsToFloat(0xba72b9d6); -PS0f = R2f.y; -// 1 -R3f.x = R0f.x + intBitsToFloat(0xba088889); -R3f.y = R0f.y; -R1f.xyzw = (textureGather(textureUnitPS1, R1f.xy).xyzw); -R2f.yz = (textureGather(textureUnitPS1, R2f.zy).yz); -R3f.xy = (textureGather(textureUnitPS1, R3f.xy).xy); -// 0 -PV0f.x = R2f.z + R3f.x; -PV0f.y = R1f.w + R0f.w; -PV0f.z = R1f.z + R3f.y; -PV0f.w = R1f.x + R2f.y; -// 1 -R123f.x = (R1f.y * 2.0 + -(PV0f.x)); -PV1f.x = R123f.x; -R123f.y = (R1f.y * 2.0 + -(PV0f.y)); -PV1f.y = R123f.y; -R123f.z = (R1f.y * 2.0 + -(PV0f.z)); -PV1f.z = R123f.z; -R123f.w = (R1f.y * 2.0 + -(PV0f.w)); -PV1f.w = R123f.w; -// 2 -PV0f.x = max(PV1f.x, -(PV1f.x)); -PV0f.y = max(PV1f.y, -(PV1f.y)); -PV0f.z = max(PV1f.z, -(PV1f.z)); -PV0f.w = max(PV1f.w, -(PV1f.w)); -// 3 -PV1f.x = PV0f.x + intBitsToFloat(0xb400d959); -PV1f.y = PV0f.y + intBitsToFloat(0xb400d959); -PV1f.z = PV0f.z + intBitsToFloat(0xb400d959); -PV1f.w = PV0f.w + intBitsToFloat(0xb400d959); -// 4 -R123f.x = intBitsToFloat(((PV1f.w >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.x = R123f.x; -R123f.y = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.y = R123f.y; -R123f.z = intBitsToFloat(((PV1f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.z = R123f.z; -R123f.w = intBitsToFloat(((PV1f.x >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.w = R123f.w; -// 5 -tempf.x = dot(vec4(PV0f.x,PV0f.y,PV0f.z,PV0f.w),vec4(0.25,0.25,0.25,0.25)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -// 6 -R127f.z = PV1f.x * intBitsToFloat(0x3f400000)* scaleRes; -PV0f.z = R127f.z; -// 7 -R1f.x = (PV0f.z * intBitsToFloat(0xba088889) * scaleRes + R0f.x); -R1f.y = R0f.y; -R2f.z = R0f.x; -R2f.y = (PV0f.z * intBitsToFloat(0xba72b9d6) * scaleRes + R0f.y); -PS1f = R2f.y; -// 8 -R3f.x = (R127f.z * intBitsToFloat(0x3a088889) * scaleRes + R0f.x); -R3f.y = R0f.y; -R0f.w = (R127f.z * intBitsToFloat(0x3a72b9d6) * scaleRes + R0f.y); -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R2f.zy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.xw).xyzw); -// 0 -PV0f.x = R1f.w + R2f.w; -PV0f.y = R1f.z + R2f.z; -PV0f.z = R1f.y + R2f.y; -PV0f.w = R1f.x + R2f.x; -// 1 -PV1f.x = R3f.w + PV0f.x; -PV1f.y = R3f.z + PV0f.y; -PV1f.z = R3f.y + PV0f.z; -PV1f.w = R3f.x + PV0f.w; -// 2 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = R0f.w + PV1f.x; -PV0f.y = R0f.z + PV1f.y; -PV0f.z = backupReg0f + PV1f.z; -PV0f.w = backupReg1f + PV1f.w; -// 3 -R0f.x = PV0f.w * 0.25; -R0f.y = PV0f.z * 0.25; -R0f.z = PV0f.y * 0.25; -R0f.w = PV0f.x * 0.25; -// export - -R0f.xyz = contrasty(R0f.xyz); -R0f.xyz = mix(R0f.xyz, smoothstep(0.0, 1.0, R0f.xyz), contrastCurve); -float smask = lumasharping(textureUnitPS0, passParameterSem0.xy); -vec3 temp3 = R0f.xyz; -R0f.xyz = mix(R0f.xyz, (temp3.xyz += (smask)), sharp_mix); - -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Enhancements/TwilightPrincessHD_Contrasty/rules.txt b/Enhancements/TwilightPrincessHD_Contrasty/rules.txt deleted file mode 100644 index 55f9c5bc3..000000000 --- a/Enhancements/TwilightPrincessHD_Contrasty/rules.txt +++ /dev/null @@ -1,205 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = Contrasty -path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Contrasty" -description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. Made by getdls. -version = 4 - -[Preset] -name = default -$redShadows = 1.0 -$greenShadows = 1.0 -$blueSadows = 1.0 -$redMid = 1.0 -$greenMid = 1.0 -$blueMid = 1.0 -$redHilight = 1.0 -$greenHilight =1.0 -$blueHilight = 1.0 - -$contrastCurve = 0.0 -$hazeFactor = 1.0 -# $bloom = 1.0 -$gamma = 1.0 -$exposure = 1.0 -$vibrance = 0.0 -$crushContrast = 0.0 -# $bleach = 1.0 -$sharp_mix = 0.0 - -[Preset] # Preserve original washed out look, but balances bloom white point towards neutral -name = Neutral Hi-lights -$redShadows = 1.0 -$greenShadows = 1.0 #1.01 -$blueSadows = 1.01 #1.02 -$redMid = 0.98 -$greenMid = 0.99 -$blueMid = 1.01 -$redHilight = 1.0 -$greenHilight = 1.01 #.86 -$blueHilight = 1.15 - -$contrastCurve = 0.0 -$hazeFactor = 0.1 -# $bloom = 1.0 -$gamma = 1.0 -$exposure = 1.0 -$vibrance = 0.25 -$crushContrast = 0.0 -# $bleach = 0.85 -$sharp_mix = 0.0 - -[Preset] #Warm and washed out light-sources and bloom, original look "enhanced". -name = Warm glow -$redShadows = 1.0 -$greenShadows = 1.0 -$blueSadows = 1.0 -$redMid = 0.98 -$greenMid = 0.98 -$blueMid = 1.0 -$redHilight = 1.0 -$greenHilight =1.0 -$blueHilight = 1.0 - -$contrastCurve = 0.5 -$hazeFactor = 0.71 -# $bloom = 0.85 -$gamma = 1.1 -$exposure = 1.07 -$vibrance = 0.15 -$crushContrast = 0.00 -# $bleach = 0.85 -$sharp_mix = 0.05 - -[Preset] # Colourful midway between original and cold -name = Warm / Colorful -$redShadows = 0.96 -$greenShadows = 0.97 -$blueSadows = 1.01 -$redMid = 0.94 -$greenMid = 0.96 -$blueMid = 1.01 -$redHilight = 0.97 -$greenHilight = 0.99 -$blueHilight = 1.01 - -$contrastCurve = 0.25 -$hazeFactor = 0.1 -# $bloom = 1.0 -$gamma = 1.075 -$exposure = 1.01 -$vibrance = 0.55 -$crushContrast = 0.0 -# $bleach = 0.85 -$sharp_mix = 0.05 - -[Preset] #Neutral/cold white point, light and shadows interplay, caves are dark. Some discoloration of multi layer fx -name = Cold -$redShadows = 0.99 #0.99 -$greenShadows = 1.0 # 1.0 -$blueSadows = 1.0 #1.0 #1.01 -$redMid = 0.88 #0.87 -$greenMid = 0.925 #0.9 #0.88 -$blueMid = 1.0 -$redHilight = 1.0 -$greenHilight = 1.01 #.86 -$blueHilight = 1.11 #1.14 - -$contrastCurve = 0.25 -$hazeFactor = 0.1 - -$gamma = 1.025 -$exposure = 1.025 -$vibrance = 0.48 -$crushContrast = 0.0 -# $bleach = 0.875 -$sharp_mix = 0.00 - -[Preset] #Warm colour palette, light and shadows interplay, caves are dark. -name = Warm contrast crush -$redShadows = 1.0 #1.02 #0.99 -$greenShadows = 1.0 #1.05 # 1.0 -$blueSadows = 0.98 #1.0 #1.01 -$redMid = 0.96 #0.87 -$greenMid = 1.04 #0.9 #0.88 -$blueMid = 1.10 -$redHilight = 0.99 -$greenHilight = 0.99 #.86 -$blueHilight = 1.05 #1.14 - -$contrastCurve = 0.75 -$hazeFactor = 0.1 -# $bloom = 0.975 -$gamma = 1.03 -$exposure = 1.01 -$vibrance = 0.25 -$crushContrast = 0.0 -# $bleach = 0.875 -$sharp_mix = 0.00 - -[Preset] #Neutral/cold white point, light and shadows interplay, caves are dark. Some discoloration of multi layer fx -name = Cold contrast crush -$redShadows = 1.01 #1.02 #0.99 -$greenShadows = 1.03 #1.05 # 1.0 -$blueSadows = 1.04 #1.0 #1.01 -$redMid = 0.99 #0.87 -$greenMid = 1.06 #0.9 #0.88 -$blueMid = 1.12 -$redHilight = 0.98 -$greenHilight = 0.97 #.86 -$blueHilight = 1.08 #1.14 - -$contrastCurve = 0.75 -$hazeFactor = 0.1 -# $bloom = 0.975 -$gamma = 1.01 -$exposure = 1.01 -$vibrance = 0.29 -$crushContrast = 0.0 -# $bleach = 0.875 -$sharp_mix = 0.00 - -[Preset] #Neutral/cold white point, light and shadows interplay, caves are dark. Some discoloration of multi layer fx -name = Cold contrast preserve highlights -$redShadows = 1.01 #1.02 #0.99 -$greenShadows = 1.02 #1.05 # 1.0 -$blueSadows = 1.04 #1.0 #1.01 -$redMid = 0.97 #0.87 -$greenMid = 1.06 #0.9 #0.88 -$blueMid = 1.14 -$redHilight = 0.98 -$greenHilight = 0.97 #.86 -$blueHilight = 1.09 #1.14 - -$contrastCurve = 0.25 -$hazeFactor = 0.1 -# $bloom = 0.975 -$gamma = 0.75 -$exposure = 1.125 -$vibrance = 0.35 -$crushContrast = 0.0 -# $bleach = 0.875 -$sharp_mix = 0.00 - - -[Preset] # jff -name = Skyward Swordish -$redShadows = 0.95 -$greenShadows = 0.95 -$blueSadows = 1.0 -$redMid = 0.95 -$greenMid = 0.97 -$blueMid = 1.04 -$redHilight = 0.99 -$greenHilight =1.0 -$blueHilight = 1.01 - -$contrastCurve = 0.95 -$hazeFactor = 0.71 -# $bloom = 0.85 -$gamma = 1.25 -$exposure = 1.1 -$vibrance = 1.25 -$crushContrast = 0.00 -# $bleach = 0.85 -$sharp_mix = 0.05 diff --git a/Enhancements/TwilightPrincessHD_Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt deleted file mode 100644 index a63369ed4..000000000 --- a/Enhancements/TwilightPrincessHD_Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt +++ /dev/null @@ -1,82 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 49865bd2e62efda1 -//dark world bloom - -const float bloom = $bloom; -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[1]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[1]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R0f.xyz = (textureLod(textureUnitPS0, R0f.xy,0.0).xyz)*bloom; -// 0 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = mul_nonIEEE(R0f.z, intBitsToFloat(uf_remappedPS[0].z)); -PV0f.y = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[0].y)); -PV0f.z = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedPS[0].x)); -PV0f.w = intBitsToFloat(uf_remappedPS[0].w); -// 1 -PV1f.x = max(PV0f.w, 0.0); -PV1f.y = max(PV0f.x, 0.0); -PV1f.z = max(PV0f.y, 0.0); -PV1f.w = max(PV0f.z, 0.0); -// 2 -R0f.x = min(PV1f.w, 1.0); -R0f.y = min(PV1f.z, 1.0); -R0f.z = min(PV1f.y, 1.0); -R0f.w = min(PV1f.x, 1.0); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Enhancements/TwilightPrincessHD_Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt deleted file mode 100644 index 0aca94074..000000000 --- a/Enhancements/TwilightPrincessHD_Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt +++ /dev/null @@ -1,88 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 5f422bf63e25be7f // Bleach pass cutscene - -const float bleach = $bleach; - -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[1]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[1]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem1; -R0f.w = (texture(textureUnitPS0, R0f.xy).x); -// 0 -PV0f.x = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); -PV0f.w = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); -R1f.w = intBitsToFloat(uf_remappedPS[0].w); -R1f.w = clamp(R1f.w, 0.0, 1.0); -PS0f = R1f.w; -// 1 -PV1f.x = fract(PV0f.w); -PV1f.y = fract(PV0f.x); -PV1f.w = fract(PV0f.z); -// 2 -PV0f.x = PV1f.w * intBitsToFloat(0x3f808081); -PV0f.y = PV1f.x * intBitsToFloat(0x3f808081); -PV0f.z = PV1f.y * intBitsToFloat(0x3f808081); -// 3 -R1f.x = mul_nonIEEE(R0f.w, PV0f.z); -R1f.x = clamp(R1f.x, 0.0, 1.0); -R1f.y = mul_nonIEEE(R0f.w, PV0f.y); -R1f.y = clamp(R1f.y, 0.0, 1.0); -R1f.z = mul_nonIEEE(R0f.w, PV0f.x); -R1f.z = clamp(R1f.z, 0.0, 1.0); -// export -passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w) * bleach; -} diff --git a/Enhancements/TwilightPrincessHD_Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt deleted file mode 100644 index 77a2fc393..000000000 --- a/Enhancements/TwilightPrincessHD_Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt +++ /dev/null @@ -1,367 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 95a5a89d62998e0d - -// blur -const float bloom = $bloom; - -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[3]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[3]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R123f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -float scaler; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = GET_FRAGCOORD(); -scaler = uf_fragCoordScale.x; -// 0 -R7f.x = R0f.x * intBitsToFloat(0x3b088889); -PV0f.x = R7f.x; -R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); -PV0f.y = R7f.y; -// 1 -R0f.x = PV0f.x; -R0f.y = PV0f.y + intBitsToFloat(0x3b72b9d6) * scaler; -R1f.z = PV0f.x; -R1f.y = PV0f.y + intBitsToFloat(0xbb72b9d6) * scaler; -PS1f = R1f.y; -// 2 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6) * scaler; -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6) * scaler; -PS0f = R4f.y; -R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.zy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.w; -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); -PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f); -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f); -R0f.y = R7f.y + intBitsToFloat(0x3c360b60) * scaler; -PS0f = R0f.y; -// 1 -R123f.x = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.y); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbc360b60) * scaler; -PS0f = R1f.y; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + PV0f.y); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + PV0f.x); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + PV0f.z); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6) * scaler; -R6f.z = R7f.x; -R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6) * scaler; -PS0f = R6f.y; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R2f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R3f.y); -PV0f.w = R123f.w; -R3f.y = R7f.y + intBitsToFloat(0x3c97b426) * scaler; -PS0f = R3f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.x = R7f.x; -PS1f = R3f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + PV1f.y); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbc97b426) * scaler; -PS0f = R1f.y; -// 3 -R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.y); -R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.x); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R5f.x = R7f.x; -R5f.y = R7f.y + intBitsToFloat(0x3cb60b60) * scaler; -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbcb60b60) * scaler; -PS0f = R4f.y; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.y); -PV0f.w = R123f.w; -R0f.y = R7f.y + intBitsToFloat(0x3cd4629b) * scaler; -PS0f = R0f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbcd4629b) * scaler; -PS0f = R1f.y; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + PV0f.y); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + PV0f.x); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + PV0f.z); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6) * scaler; -R6f.z = R7f.x; -R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6) * scaler; -PS0f = R6f.y; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R2f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R3f.y); -PV0f.w = R123f.w; -R3f.y = R7f.y + intBitsToFloat(0x3d088888) * scaler; -PS0f = R3f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.x = R7f.x; -PS1f = R3f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + PV1f.y); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbd088888) * scaler; -PS0f = R1f.y; -// 3 -R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.y); -R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.x); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R5f.x = R7f.x; -R5f.y = R7f.y + intBitsToFloat(0x3d17b426) * scaler; -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbd17b426) * scaler; -PS0f = R4f.y; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.y); -PV0f.w = R123f.w; -R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3) * scaler; -PS0f = R0f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -backupReg0f = R7f.y; -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R7f.y = backupReg0f + intBitsToFloat(0xbd26dfc3) * scaler; -PS0f = R7f.y; -// 3 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -backupReg2f = R2f.z; -R2f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + PV0f.y); -R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg1f) + PV0f.x); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + PV0f.z); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg2f) + PV0f.w); -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R2f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R2f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.y); -PV0f.w = R123f.w; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -// 2 -backupReg0f = R7f.x; -backupReg1f = R7f.y; -backupReg2f = R7f.z; -backupReg3f = R7f.w; -R7f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg0f) + PV1f.y); -R7f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg1f) + PV1f.w); -R7f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg2f) + PV1f.z); -R7f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg3f) + PV1f.x); -// export -passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w)* bloom; -} diff --git a/Enhancements/TwilightPrincessHD_Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt deleted file mode 100644 index a16a53f09..000000000 --- a/Enhancements/TwilightPrincessHD_Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt +++ /dev/null @@ -1,130 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader e334517825fdd599 -//water, sun, fog. -uniform vec2 uf_fragCoordScale; - -const float hazeFactor = 0.1; - -const float gamma = $gamma; // 1.0 is neutral Botw is already colour graded at this stage -const float exposure = $exposure; // 1.0 is neutral -const float vibrance = $vibrance; // 0.0 is neutral -const float crushContrast = $crushContrast; // 0.0 is neutral. Use small increments, loss of shadow detail -const float contrastCurve = $contrastCurve; - - -vec3 RGB_Lift = vec3($redShadows, $greenShadows , $blueSadows); // [0.000 to 2.000] Adjust shadows for Red, Green and Blue. -vec3 RGB_Gamma = vec3($redMid ,$greenMid, $blueMid); // [0.000 to 2.000] Adjust midtones for Red, Green and Blue -vec3 RGB_Gain = vec3($redHilight, $greenHilight, $blueHilight); // [0.000 to 2.000] Adjust highlights for Red, Green and Blue -//lumasharpen -const float sharp_mix = $sharp_mix; -const float sharp_strength = 2.0; -const float sharp_clamp = 0.75; -const float offset_bias = 1.0; -float Sigmoid (float x) { - - return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5))); -} - - -#define px (1.0/1920.0*uf_fragCoordScale.x) -#define py (1.0/1080.0*uf_fragCoordScale.y) -#define CoefLuma vec3(0.2126, 0.7152, 0.0722) - -float lumasharping(sampler2D tex, vec2 pos) { - vec4 colorInput = texture(tex, pos); - - vec3 ori = colorInput.rgb; - - // -- Combining the strength and luma multipliers -- - vec3 sharp_strength_luma = (CoefLuma * sharp_strength); - - // -- Gaussian filter -- - // [ .25, .50, .25] [ 1 , 2 , 1 ] - // [ .50, 1, .50] = [ 2 , 4 , 2 ] - // [ .25, .50, .25] [ 1 , 2 , 1 ] - - vec3 blur_ori = texture(tex, pos + vec2(px, -py) * 0.5 * offset_bias).rgb; // South East - blur_ori += texture(tex, pos + vec2(-px, -py) * 0.5 * offset_bias).rgb; // South West - blur_ori += texture(tex, pos + vec2(px, py) * 0.5 * offset_bias).rgb; // North East - blur_ori += texture(tex, pos + vec2(-px, py) * 0.5 * offset_bias).rgb; // North West - - blur_ori *= 0.25; // ( /= 4) Divide by the number of texture fetches - - // -- Calculate the sharpening -- - vec3 sharp = ori - blur_ori; //Subtracting the blurred image from the original image - - // -- Adjust strength of the sharpening and clamp it-- - vec4 sharp_strength_luma_clamp = vec4(sharp_strength_luma * (0.5 / sharp_clamp), 0.5); //Roll part of the clamp into the dot - - float sharp_luma = clamp((dot(vec4(sharp, 1.0), sharp_strength_luma_clamp)), 0.0, 1.0); //Calculate the luma, adjust the strength, scale up and clamp - sharp_luma = (sharp_clamp * 2.0) * sharp_luma - sharp_clamp; //scale down - - return sharp_luma; -} - -vec3 LiftGammaGainPass(vec3 colorInput) -{ //reshade BSD https://reshade.me , Alexkiri port - vec3 color = colorInput; - color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5; - color = clamp(color, 0.0, 1.0); - color *= RGB_Gain; - color = pow(color, 1.0 / RGB_Gamma); - return clamp(color, 0.0, 1.0); -} - -vec3 contrasty(vec3 colour){ - vec3 fColour = (colour.xyz); -//fColour = LiftGammaGainPass(fColour); - - fColour = clamp(exposure * fColour, 0.0, 1.0); - fColour = pow(fColour, vec3(1.0 / gamma)); - float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; - float mn = min(min(fColour.r, fColour.g), fColour.b); - float mx = max(max(fColour.r, fColour.g), fColour.b); - float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; - vec3 lightness = vec3((mn + mx) / 2.0); - fColour = LiftGammaGainPass(fColour); -// vibrance - fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); - fColour = max(vec3(0.0), fColour - vec3(crushContrast)); - return fColour; -} - - - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; - -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -// export -R0f.xyz = contrasty(R0f.xyz); -//R0f.xyz = mix(R0f.xyz, smoothstep(0.0, 1.0, R0f.xyz), 0.25); //contrast difference between heat haze and sky - -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} From c3e3743b61b4ef97dc0629f32f335243f348e8ce Mon Sep 17 00:00:00 2001 From: intra0 Date: Fri, 13 Dec 2024 23:16:28 -0600 Subject: [PATCH 04/16] Delete Enhancements/TwilightPrincessHD_NegativeLOD directory --- .../TwilightPrincessHD_NegativeLOD/rules.txt | 65 ------------------- 1 file changed, 65 deletions(-) delete mode 100644 Enhancements/TwilightPrincessHD_NegativeLOD/rules.txt diff --git a/Enhancements/TwilightPrincessHD_NegativeLOD/rules.txt b/Enhancements/TwilightPrincessHD_NegativeLOD/rules.txt deleted file mode 100644 index 8adf83903..000000000 --- a/Enhancements/TwilightPrincessHD_NegativeLOD/rules.txt +++ /dev/null @@ -1,65 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = Level of detail -path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Negative Texture LOD" -description = Sharper textures at risk of shimmering when set too high. Made by getdls. -version = 4 - -[Preset] -name = LOD Default -$0x031 = 0 -$0x033 = 0 -$0x034 = 0 -$0x035 = 0 -$0x01a = 0 - -[Preset] -name = LOD -0.5 (Sharper) -$0x031 = -.5 -$0x033 = -.5 -$0x034 = -.5 -$0x035 = -.5 -$0x01a = -.5 -[Preset] -name = LOD -1 (Max for gameplay) -$0x031 = -1 -$0x033 = -1 -$0x034 = -1 -$0x035 = -1 -$0x01a = -1 - -[Preset] -name = LOD -4 (Overkill - For screenshots) -$0x031 = -4 -$0x033 = -4 -$0x034 = -4 -$0x035 = -4 -$0x01a = -4 - -[Preset] -name = LOD +2 (Simulate WiiU LOD on higher resolution) -$0x031 = +2 -$0x033 = +2 -$0x034 = +2 -$0x035 = +2 -$0x01a = 0 - -[TextureRedefine] -formats = 0x031 #0x431,0x432,0x433,0x434,0x435 not used. -overwriteRelativeLodBias = $0x031 - -[TextureRedefine]#Per format, possible to have separate scaling if needed -formats = 0x033 -overwriteRelativeLodBias = $0x033 - -[TextureRedefine] -formats = 0x034 -overwriteRelativeLodBias = $0x034 - -[TextureRedefine] -formats = 0x035 -overwriteRelativeLodBias = $0x035 - -[TextureRedefine] -formats = 0x01a -overwriteRelativeLodBias = $0x01a From fa673e0c55c617e5639a262a5162474e0e547bc0 Mon Sep 17 00:00:00 2001 From: intra0 Date: Fri, 13 Dec 2024 23:16:46 -0600 Subject: [PATCH 05/16] Delete Mods/TwilightPrincessHD_RemoveHUD directory --- .../14e81f55c62139c7_0000000000000079_ps.txt | 72 --------- .../4e1d21b4863fc48c_0000000000000079_ps.txt | 125 ---------------- .../9f1ac253de80a927_0000000000000079_ps.txt | 125 ---------------- .../acd66e3570ee3a72_0000000000000079_ps.txt | 137 ------------------ .../b567aed28aa42ec7_0000000000000079_ps.txt | 122 ---------------- .../e264c779e7deb774_0000000000000079_ps.txt | 69 --------- .../f6e03fd012597dda_0000000000000079_ps.txt | 122 ---------------- .../faace4c78d269ce1_0000000000000079_ps.txt | 72 --------- Mods/TwilightPrincessHD_RemoveHUD/rules.txt | 6 - 9 files changed, 850 deletions(-) delete mode 100644 Mods/TwilightPrincessHD_RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt delete mode 100644 Mods/TwilightPrincessHD_RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt delete mode 100644 Mods/TwilightPrincessHD_RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt delete mode 100644 Mods/TwilightPrincessHD_RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt delete mode 100644 Mods/TwilightPrincessHD_RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt delete mode 100644 Mods/TwilightPrincessHD_RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt delete mode 100644 Mods/TwilightPrincessHD_RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt delete mode 100644 Mods/TwilightPrincessHD_RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt delete mode 100644 Mods/TwilightPrincessHD_RemoveHUD/rules.txt diff --git a/Mods/TwilightPrincessHD_RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt b/Mods/TwilightPrincessHD_RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt deleted file mode 100644 index 180c2096f..000000000 --- a/Mods/TwilightPrincessHD_RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt +++ /dev/null @@ -1,72 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 14e81f55c62139c7 -// Used for: Removing the button prompts in the HUD - - -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform vec4 uf_fragCoordScale; -}; -#else -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R1f = passParameterSem1; -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -backupReg3f = R0f.w; -R0f.x = mul_nonIEEE(backupReg0f, R1f.x); -R0f.x = clamp(R0f.x, 0.0, 1.0); -R0f.y = mul_nonIEEE(backupReg1f, R1f.y); -R0f.y = clamp(R0f.y, 0.0, 1.0); -R0f.z = mul_nonIEEE(backupReg2f, R1f.z); -R0f.z = clamp(R0f.z, 0.0, 1.0); -R0f.w = mul_nonIEEE(backupReg3f, R1f.w); -R0f.w = clamp(R0f.w, 0.0, 1.0); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, 0.0); -} diff --git a/Mods/TwilightPrincessHD_RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt b/Mods/TwilightPrincessHD_RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt deleted file mode 100644 index 37b1839a1..000000000 --- a/Mods/TwilightPrincessHD_RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt +++ /dev/null @@ -1,125 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 4e1d21b4863fc48c -// Used for: Removes the HUD icons like the hearts - - -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[2]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[2]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R1f = passParameterSem2; -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -// 0 -PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); -PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); -// 1 -PV1f.x = fract(PV0f.w); -R127f.y = fract(PV0f.x); -R127f.z = fract(PV0f.y); -PV1f.w = fract(PV0f.z); -R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); -PS1f = R127f.w; -// 2 -R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); -R126f.w = PV1f.x * intBitsToFloat(0x3f808081); -R126f.x = PV1f.w * intBitsToFloat(0x3f808081); -PS0f = R126f.x; -// 3 -R125f.x = R127f.y * intBitsToFloat(0x3f808081); -PV1f.y = fract(R127f.w); -PV1f.z = fract(PV0f.z); -R127f.w = R127f.z * intBitsToFloat(0x3f808081); -PV1f.w = R127f.w; -PS1f = fract(PV0f.y); -// 4 -PV0f.x = fract(R127f.x); -R123f.y = (PS1f * intBitsToFloat(0x3f808081) + -(PV1f.w)); -PV0f.y = R123f.y; -R123f.z = (PV1f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); -PV0f.z = R123f.z; -R123f.w = (PV1f.y * intBitsToFloat(0x3f808081) + -(R126f.w)); -PV0f.w = R123f.w; -// 5 -R123f.x = (mul_nonIEEE(PV0f.w,R1f.x) + R126f.w); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -R123f.y = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(PV0f.y,R1f.z) + R127f.w); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(PV0f.z,R1f.y) + R126f.x); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -// 6 -R123f.x = (mul_nonIEEE(PV1f.y,R1f.w) + R125f.x); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R1f.y = mul_nonIEEE(R0f.y, PV1f.w); -R1f.y = clamp(R1f.y, 0.0, 1.0); -R1f.z = mul_nonIEEE(R0f.z, PV1f.z); -R1f.z = clamp(R1f.z, 0.0, 1.0); -R1f.x = mul_nonIEEE(R0f.x, PV1f.x); -R1f.x = clamp(R1f.x, 0.0, 1.0); -PS0f = R1f.x; -// 7 -R1f.w = mul_nonIEEE(R0f.w, PV0f.x); -R1f.w = clamp(R1f.w, 0.0, 1.0); -// export -passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, 0.0); -} diff --git a/Mods/TwilightPrincessHD_RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt b/Mods/TwilightPrincessHD_RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt deleted file mode 100644 index 128020d94..000000000 --- a/Mods/TwilightPrincessHD_RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt +++ /dev/null @@ -1,125 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 9f1ac253de80a927 -// Used for: Removing the blinking button in the HUD - - -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[2]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[2]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R1f = passParameterSem2; -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -// 0 -PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); -PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); -// 1 -PV1f.x = fract(PV0f.w); -R127f.y = fract(PV0f.x); -R127f.z = fract(PV0f.y); -PV1f.w = fract(PV0f.z); -R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); -PS1f = R127f.w; -// 2 -R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); -R126f.w = PV1f.x * intBitsToFloat(0x3f808081); -R126f.x = PV1f.w * intBitsToFloat(0x3f808081); -PS0f = R126f.x; -// 3 -R125f.x = R127f.y * intBitsToFloat(0x3f808081); -PV1f.y = fract(R127f.w); -PV1f.z = fract(PV0f.z); -R127f.w = R127f.z * intBitsToFloat(0x3f808081); -PV1f.w = R127f.w; -PS1f = fract(PV0f.y); -// 4 -PV0f.x = fract(R127f.x); -R123f.y = (PS1f * intBitsToFloat(0x3f808081) + -(PV1f.w)); -PV0f.y = R123f.y; -R123f.z = (PV1f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); -PV0f.z = R123f.z; -R123f.w = (PV1f.y * intBitsToFloat(0x3f808081) + -(R126f.w)); -PV0f.w = R123f.w; -// 5 -R123f.x = (mul_nonIEEE(PV0f.w,R1f.x) + R126f.w); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -R123f.y = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(PV0f.y,R1f.z) + R127f.w); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(PV0f.z,R1f.y) + R126f.x); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -// 6 -R123f.x = (mul_nonIEEE(PV1f.y,R1f.w) + R125f.x); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R1f.y = mul_nonIEEE(R0f.y, PV1f.w); -R1f.y = clamp(R1f.y, 0.0, 1.0); -R1f.z = mul_nonIEEE(R0f.z, PV1f.z); -R1f.z = clamp(R1f.z, 0.0, 1.0); -R1f.x = mul_nonIEEE(R0f.x, PV1f.x); -R1f.x = clamp(R1f.x, 0.0, 1.0); -PS0f = R1f.x; -// 7 -R1f.w = mul_nonIEEE(R0f.w, PV0f.x); -R1f.w = clamp(R1f.w, 0.0, 1.0); -// export -passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, 0.0); -} diff --git a/Mods/TwilightPrincessHD_RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt b/Mods/TwilightPrincessHD_RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt deleted file mode 100644 index 0ebc2d812..000000000 --- a/Mods/TwilightPrincessHD_RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt +++ /dev/null @@ -1,137 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader acd66e3570ee3a72 -// Used for: Removing the last bit of text in the HUD - - -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[2]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[2]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R1f = passParameterSem2; -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -// 0 -PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); -PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); -R126f.w = R1f.x; -R126f.w = clamp(R126f.w, 0.0, 1.0); -PS0f = R126f.w; -// 1 -PV1f.x = fract(PV0f.w); -R127f.y = fract(PV0f.x); -R127f.z = fract(PV0f.y); -PV1f.w = fract(PV0f.z); -R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); -PS1f = R127f.w; -// 2 -R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); -R125f.w = PV1f.x * intBitsToFloat(0x3f808081); -R126f.x = PV1f.w * intBitsToFloat(0x3f808081); -PS0f = R126f.x; -// 3 -backupReg0f = R127f.z; -R125f.x = R127f.y * intBitsToFloat(0x3f808081); -PV1f.y = fract(R127f.w); -R127f.z = fract(PV0f.z); -R127f.w = backupReg0f * intBitsToFloat(0x3f808081); -R126f.z = fract(PV0f.y); -PS1f = R126f.z; -// 4 -PV0f.x = fract(R127f.x); -R127f.y = R1f.z; -R127f.y = clamp(R127f.y, 0.0, 1.0); -R125f.z = R1f.y; -R125f.z = clamp(R125f.z, 0.0, 1.0); -R124f.w = R1f.w; -R124f.w = clamp(R124f.w, 0.0, 1.0); -R122f.x = (PV1f.y * intBitsToFloat(0x3f808081) + -(R125f.w)); -PS0f = R122f.x; -// 5 -R123f.x = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); -PV1f.x = R123f.x; -R123f.y = (R126f.z * intBitsToFloat(0x3f808081) + -(R127f.w)); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(PS0f,R126f.w) + R125f.w); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -// 6 -R123f.x = (mul_nonIEEE(PV1f.x,R124f.w) + R125f.x); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R123f.z = (mul_nonIEEE(PV1f.y,R127f.y) + R127f.w); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(PV1f.z,R125f.z) + R126f.x); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV0f.w = R123f.w; -R1f.x = mul_nonIEEE(R0f.x, PV1f.w); -R1f.x = clamp(R1f.x, 0.0, 1.0); -PS0f = R1f.x; -// 7 -R1f.y = mul_nonIEEE(R0f.y, PV0f.w); -R1f.y = clamp(R1f.y, 0.0, 1.0); -R1f.z = mul_nonIEEE(R0f.z, PV0f.z); -R1f.z = clamp(R1f.z, 0.0, 1.0); -R1f.w = mul_nonIEEE(R0f.w, PV0f.x); -R1f.w = clamp(R1f.w, 0.0, 1.0); -// export -passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -} diff --git a/Mods/TwilightPrincessHD_RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt b/Mods/TwilightPrincessHD_RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt deleted file mode 100644 index 5962d0c13..000000000 --- a/Mods/TwilightPrincessHD_RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt +++ /dev/null @@ -1,122 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader b567aed28aa42ec7 -// Used for: Removing the text from the HUD - - -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[2]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[2]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R1f = passParameterSem2; -R1f.w = (texture(textureUnitPS0, R1f.xy).w); -// 0 -PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); -PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); -// 1 -PV1f.x = fract(PV0f.w); -R127f.y = fract(PV0f.x); -R127f.z = fract(PV0f.y); -PV1f.w = fract(PV0f.z); -R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); -PS1f = R127f.w; -// 2 -R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); -R126f.w = PV1f.x * intBitsToFloat(0x3f808081); -R126f.x = PV1f.w * intBitsToFloat(0x3f808081); -PS0f = R126f.x; -// 3 -R125f.x = R127f.y * intBitsToFloat(0x3f808081); -PV1f.y = fract(R127f.w); -PV1f.z = fract(PV0f.z); -R127f.w = R127f.z * intBitsToFloat(0x3f808081); -PV1f.w = R127f.w; -PS1f = fract(PV0f.y); -// 4 -PV0f.x = fract(R127f.x); -R123f.y = (PS1f * intBitsToFloat(0x3f808081) + -(PV1f.w)); -PV0f.y = R123f.y; -R123f.z = (PV1f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); -PV0f.z = R123f.z; -R123f.w = (PV1f.y * intBitsToFloat(0x3f808081) + -(R126f.w)); -PV0f.w = R123f.w; -// 5 -PV1f.x = R126f.w + PV0f.w; -PV1f.x = clamp(PV1f.x, 0.0, 1.0); -R123f.y = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); -PV1f.y = R123f.y; -PV1f.z = R127f.w + PV0f.y; -PV1f.z = clamp(PV1f.z, 0.0, 1.0); -PV1f.w = R126f.x + PV0f.z; -PV1f.w = clamp(PV1f.w, 0.0, 1.0); -// 6 -R123f.x = (mul_nonIEEE(PV1f.y,R1f.w) + R125f.x); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R1f.y = mul_nonIEEE(R0f.y, PV1f.w); -R1f.y = clamp(R1f.y, 0.0, 1.0); -R1f.z = mul_nonIEEE(R0f.z, PV1f.z); -R1f.z = clamp(R1f.z, 0.0, 1.0); -R1f.x = mul_nonIEEE(R0f.x, PV1f.x); -R1f.x = clamp(R1f.x, 0.0, 1.0); -PS0f = R1f.x; -// 7 -R1f.w = mul_nonIEEE(R0f.w, PV0f.x); -R1f.w = clamp(R1f.w, 0.0, 1.0); -// export -passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, 0.0); -} diff --git a/Mods/TwilightPrincessHD_RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt b/Mods/TwilightPrincessHD_RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt deleted file mode 100644 index ca0c2c895..000000000 --- a/Mods/TwilightPrincessHD_RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt +++ /dev/null @@ -1,69 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader e264c779e7deb774 -// Used for: Removing the map from the HUD - - -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform vec4 uf_fragCoordScale; -}; -#else -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem1; -R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -backupReg3f = R0f.w; -R0f.x = backupReg0f; -R0f.x = clamp(R0f.x, 0.0, 1.0); -R0f.y = backupReg1f; -R0f.y = clamp(R0f.y, 0.0, 1.0); -R0f.z = backupReg2f; -R0f.z = clamp(R0f.z, 0.0, 1.0); -R0f.w = backupReg3f; -R0f.w = clamp(R0f.w, 0.0, 1.0); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, 0.0); -} diff --git a/Mods/TwilightPrincessHD_RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt b/Mods/TwilightPrincessHD_RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt deleted file mode 100644 index ecd8c11be..000000000 --- a/Mods/TwilightPrincessHD_RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt +++ /dev/null @@ -1,122 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader f6e03fd012597dda -// Used for: Removing even more text from HUD - - -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[2]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[2]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem1; -R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -// 0 -backupReg0f = R0f.x; -PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); -PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); -R126f.w = backupReg0f; -R126f.w = clamp(R126f.w, 0.0, 1.0); -PS0f = R126f.w; -// 1 -PV1f.x = fract(PV0f.w); -R127f.y = fract(PV0f.x); -R127f.z = fract(PV0f.y); -PV1f.w = fract(PV0f.z); -R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); -PS1f = R127f.w; -// 2 -R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); -R125f.w = PV1f.x * intBitsToFloat(0x3f808081); -R126f.x = PV1f.w * intBitsToFloat(0x3f808081); -PS0f = R126f.x; -// 3 -backupReg0f = R127f.z; -R125f.x = R127f.y * intBitsToFloat(0x3f808081); -PV1f.y = fract(R127f.w); -R127f.z = fract(PV0f.z); -R127f.w = backupReg0f * intBitsToFloat(0x3f808081); -R126f.z = fract(PV0f.y); -PS1f = R126f.z; -// 4 -PV0f.x = fract(R127f.x); -R127f.y = R0f.z; -R127f.y = clamp(R127f.y, 0.0, 1.0); -R125f.z = R0f.y; -R125f.z = clamp(R125f.z, 0.0, 1.0); -R124f.w = R0f.w; -R124f.w = clamp(R124f.w, 0.0, 1.0); -R122f.x = (PV1f.y * intBitsToFloat(0x3f808081) + -(R125f.w)); -PS0f = R122f.x; -// 5 -R123f.x = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); -PV1f.x = R123f.x; -R123f.y = (R126f.z * intBitsToFloat(0x3f808081) + -(R127f.w)); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); -PV1f.z = R123f.z; -R0f.x = (mul_nonIEEE(PS0f,R126f.w) + R125f.w); -R0f.x = clamp(R0f.x, 0.0, 1.0); -PS1f = R0f.x; -// 6 -R0f.y = (mul_nonIEEE(PV1f.z,R125f.z) + R126f.x); -R0f.y = clamp(R0f.y, 0.0, 1.0); -R0f.z = (mul_nonIEEE(PV1f.y,R127f.y) + R127f.w); -R0f.z = clamp(R0f.z, 0.0, 1.0); -R0f.w = (mul_nonIEEE(PV1f.x,R124f.w) + R125f.x); -R0f.w = clamp(R0f.w, 0.0, 1.0); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, 0.0); -} diff --git a/Mods/TwilightPrincessHD_RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt b/Mods/TwilightPrincessHD_RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt deleted file mode 100644 index 89954f83a..000000000 --- a/Mods/TwilightPrincessHD_RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt +++ /dev/null @@ -1,72 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader faace4c78d269ce1 -// Used for: Removing more text from HUD - - -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform vec4 uf_fragCoordScale; -}; -#else -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R1f = passParameterSem1; -R1f.w = (texture(textureUnitPS0, R1f.xy).w); -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -backupReg3f = R0f.w; -R0f.x = backupReg0f; -R0f.x = clamp(R0f.x, 0.0, 1.0); -R0f.y = backupReg1f; -R0f.y = clamp(R0f.y, 0.0, 1.0); -R0f.z = backupReg2f; -R0f.z = clamp(R0f.z, 0.0, 1.0); -R0f.w = mul_nonIEEE(backupReg3f, R1f.w); -R0f.w = clamp(R0f.w, 0.0, 1.0); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, 0.0); -} diff --git a/Mods/TwilightPrincessHD_RemoveHUD/rules.txt b/Mods/TwilightPrincessHD_RemoveHUD/rules.txt deleted file mode 100644 index b89b4d398..000000000 --- a/Mods/TwilightPrincessHD_RemoveHUD/rules.txt +++ /dev/null @@ -1,6 +0,0 @@ -[Definition] -titleIds = 000500001019E500,000500001019E600,000500001019C800 -name = Remove HUD -path = "The Legend of Zelda: Twilight Princess HD/Mods/Remove HUD (breaks menus)" -description = Hides the HUD elements like the hearts, controller buttons and rupees count.|You should only enable this graphic pack when you want to make a screenshot without the HUD. -version = 7 \ No newline at end of file From 50fff87e70f5e841f78e880d51af8c717494af15 Mon Sep 17 00:00:00 2001 From: intra0 Date: Fri, 13 Dec 2024 23:17:00 -0600 Subject: [PATCH 06/16] Delete Mods/TwilightPrincessHD_RemoveHaze directory --- .../TwilightPrincessHD_RemoveHaze/patches.txt | 12 ------ Mods/TwilightPrincessHD_RemoveHaze/rules.txt | 41 ------------------- 2 files changed, 53 deletions(-) delete mode 100644 Mods/TwilightPrincessHD_RemoveHaze/patches.txt delete mode 100644 Mods/TwilightPrincessHD_RemoveHaze/rules.txt diff --git a/Mods/TwilightPrincessHD_RemoveHaze/patches.txt b/Mods/TwilightPrincessHD_RemoveHaze/patches.txt deleted file mode 100644 index 3075ebe37..000000000 --- a/Mods/TwilightPrincessHD_RemoveHaze/patches.txt +++ /dev/null @@ -1,12 +0,0 @@ -[TPHDv81] -moduleMatches = 0x1A03E108 -#Move some look tweaks to patches instead of shaders - -#rodata constants -###exp and haze settings -0x100C3EB8 = .float $nearExp ## Near world (over)exposure -0x100C36C4 = .float $bloomExp ## Bloom npc/object (over) " -0x100C3780 = .float $distExp ## Distant world (over)exposure -#0x100C3774 = .float $distanceFog -0x1012C898 = .float $distanceFog -#0x100871C8 = .float 0.01 #100871C8:.float 0.00050000002 ###cloud float diff --git a/Mods/TwilightPrincessHD_RemoveHaze/rules.txt b/Mods/TwilightPrincessHD_RemoveHaze/rules.txt deleted file mode 100644 index dd75771fe..000000000 --- a/Mods/TwilightPrincessHD_RemoveHaze/rules.txt +++ /dev/null @@ -1,41 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = Distant Fog -path = "The Legend of Zelda: Twilight Princess HD/Mods/Distant Fog" -description = Sets the depth and exposure of distant fog. Possible issues with disappearing objects. Made by getdls. -version = 4 - -[Preset] -name = Default -$distanceFog = 21.0 -$nearExp = 0.0039 -$bloomExp = 0.0039 -$distExp = 0.0039 - -[Preset] -name = Half-distant fog -$distanceFog = 22.0 -$nearExp = 0.0039 -$bloomExp = 0.0039 -$distExp = 0.0039 - -[Preset] -name = No distant fog -$distanceFog = 60.0 -$nearExp = 0.0039 -$bloomExp = 0.0039 -$distExp = 0.0039 - -[Preset] -name = Low exposure -$distanceFog = 21.0 -$nearExp = 0.00375 -$bloomExp = 0.00375 -$distExp = 0.00375 - -[Preset] -name = Lowest exposure -$distanceFog = 22.0 -$nearExp = 0.003 -$bloomExp = 0.00325 -$distExp = 0.00325 From bbc42cdbd584cb71a588fc26d79a517dbbad4eda Mon Sep 17 00:00:00 2001 From: intra0 Date: Fri, 13 Dec 2024 23:17:26 -0600 Subject: [PATCH 07/16] Delete Resolutions/TwilightPrincessHD_Performance_Resolution directory --- .../rules.txt | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 Resolutions/TwilightPrincessHD_Performance_Resolution/rules.txt diff --git a/Resolutions/TwilightPrincessHD_Performance_Resolution/rules.txt b/Resolutions/TwilightPrincessHD_Performance_Resolution/rules.txt deleted file mode 100644 index 819be2ab8..000000000 --- a/Resolutions/TwilightPrincessHD_Performance_Resolution/rules.txt +++ /dev/null @@ -1,48 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = Resolution -path = "The Legend of Zelda: Twilight Princess HD/Graphics/Performance Resolution" -description = Changes the resolution of certain effects in the game to increase performance. Made by getdls. -version = 4 - -[Preset] -name = 1280x720 -$width = 1280 -$height = 720 -$gameWidth = 1920 -$gameHeight = 1080 - -[Preset] -name = 640x360 -$width = 640 -$height = 360 -$gameWidth = 1920 -$gameHeight = 1080 - -[Preset] -name = 960x540 -$width = 960 -$height = 540 -$gameWidth = 1920 -$gameHeight = 1080 - -[Preset] -name = 1600x900 -$width = 1600 -$height = 900 -$gameWidth = 1920 -$gameHeight = 1080 - -[TextureRedefine] -width = 1920 -height = 1088 -#formats = 0x011,0x01a -overwriteWidth = ($width/$gameWidth) * 1920 -overwriteHeight = ($height/$gameHeight) * 1088 - -[TextureRedefine] -width = 1920 -height = 1080 -#formats = -overwriteWidth = ($width/$gameWidth) * 1920 -overwriteHeight = ($height/$gameHeight) * 1080 From 8a9b8a5509177cb1b8f4c957deb8cb500ef36a07 Mon Sep 17 00:00:00 2001 From: intra0 Date: Fri, 13 Dec 2024 23:17:42 -0600 Subject: [PATCH 08/16] Delete Resolutions/TwilightPrincessHD_Resolution directory --- .../15e4acf324eb0912_0000000000000000_vs.txt | 150 --- .../18893ce415f2fcc7_0000000000000000_vs.txt | 149 --- .../1caed2ca3d14f36b_0000000000000000_vs.txt | 159 --- .../24b09ef9b11b98d5_0000000000000000_vs.txt | 148 --- .../27b429c755f71162_0000000000000000_vs.txt | 197 --- .../4f5f72f9eec53a90_0000000000000000_vs.txt | 165 --- .../5f2ae4dbd2256d0c_0000000000000000_vs.txt | 146 -- .../6dc0977212eae7b3_0000000000000000_vs.txt | 153 --- .../70e776430cd020a9_0000000000000000_vs.txt | 165 --- .../7674f1be5f1b1e0c_0000000000000000_vs.txt | 165 --- .../7c5a0f2532be049f_0000000000000000_vs.txt | 152 --- .../7fc573264230ed00_0000000000000000_vs.txt | 158 --- .../827afe113fd67658_0000000000000000_vs.txt | 164 --- .../85b15b7fe92662bb_0000000000000000_vs.txt | 147 -- .../95a5a89d62998e0d_0000000000000079_ps.txt | 364 ----- .../TPHD_Readme.md | 48 - .../_cac95df4d2d6f5b8_0000000000000000_vs.txt | 102 -- .../acbedb86f89efae4_0000000000000000_vs.txt | 146 -- .../aebb1e76797684a2_0000000000000000_vs.txt | 151 --- .../b5241d6db4feef42_0000000000000000_vs.txt | 165 --- .../c14019840473ff86_00000000000003c9_ps.txt | 159 --- .../c612390d4c70f430_0000000000000079_ps.txt | 567 -------- .../ce7aa5fffc34aab0_0000000000000000_vs.txt | 147 -- .../e9d455979cba2505_0000000000000000_vs.txt | 150 --- .../eec9403a9d54137e_0000000000000000_vs.txt | 151 --- .../f017fcfaf1bd28ab_0000000000000000_vs.txt | 145 -- .../f5034fe4aa1fec23_0000000000000000_vs.txt | 152 --- .../fc148873ef522f50_0000000000000000_vs.txt | 154 --- .../TwilightPrincessHD_Resolution/patches.txt | 13 - .../TwilightPrincessHD_Resolution/rules.txt | 1180 ----------------- 30 files changed, 6012 deletions(-) delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/TPHD_Readme.md delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/_cac95df4d2d6f5b8_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/c14019840473ff86_00000000000003c9_ps.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_ps.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/patches.txt delete mode 100644 Resolutions/TwilightPrincessHD_Resolution/rules.txt diff --git a/Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt deleted file mode 100644 index 6f9ef524f..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/15e4acf324eb0912_0000000000000000_vs.txt +++ /dev/null @@ -1,150 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 15e4acf324eb0912 missing -//map mission objectives missing -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem1; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// skipped unused attribute for r5 -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R1f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R0f.x = 0.0; -PS0f = R0f.x; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R3f.x = R2f.x; -PS1f = R3f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -R3f.y = R2f.y; -PS0f = R3f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -R3f.z = R127f.w; -PS1f = R3f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem2 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt deleted file mode 100644 index 41ea814ac..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/18893ce415f2fcc7_0000000000000000_vs.txt +++ /dev/null @@ -1,149 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 18893ce415f2fcc7 -//Map icon position -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem1; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// skipped unused attribute for r8 -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R1f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R0f.x = 0.0; -PS0f = R0f.x; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R3f.x = R2f.x; -PS1f = R3f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -R3f.y = R2f.y; -PS0f = R3f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -R3f.z = R127f.w; -PS1f = R3f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem2 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt deleted file mode 100644 index 562791c9b..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/1caed2ca3d14f36b_0000000000000000_vs.txt +++ /dev/null @@ -1,159 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 1caed2ca3d14f36b -//object box bg 2 - -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[10]; -}; -#else -uniform ivec4 uf_remappedVS[10]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R127f.w = R1f.w; -PS0f = R127f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R2f.z = 1.0; -PS1f = R2f.z; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -PS0f = 1.0; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R3f.z = PS0f; -PS1f = R3f.z; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// 7 -R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); -R0f.w = intBitsToFloat(uf_remappedVS[7].w); -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// 0 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.z),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.x = PV0f.x; -PS1f = R3f.x; -// 2 -R3f.y = PV1f.x; -// export -passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt deleted file mode 100644 index a20830fc3..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/24b09ef9b11b98d5_0000000000000000_vs.txt +++ /dev/null @@ -1,148 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 24b09ef9b11b98d5 -//UI text front -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -const float UItransp = $UItransp; - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R2f.x = R3f.x; -PS0f = R2f.x; -// 3 -R3f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R3f.x; -PV1f.y = R3f.x; -PV1f.z = R3f.x; -PV1f.w = R3f.x; -R2f.y = R3f.y; -PS1f = R2f.y; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R3f.y = tempf.x; -R2f.z = R127f.w; -PS0f = R2f.z; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R3f.w = tempf.x; -// export -SET_POSITION(vec4(R3f.x*UIx, R3f.y*UIy, R3f.z, R3f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w*UItransp); -// export -passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt deleted file mode 100644 index ca7d04754..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/27b429c755f71162_0000000000000000_vs.txt +++ /dev/null @@ -1,197 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 27b429c755f71162 -//Map arrows -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[11]; -}; -#else -uniform ivec4 uf_remappedVS[11]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -layout(location = 2) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R127f.w = R2f.w; -PS0f = R127f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R0f.z = 1.0; -PS1f = R0f.z; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R126f.z = tempf.x; -R127f.z = 1.0; -PS0f = R127f.z; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R126f.w = 1.0; -PS1f = R126f.w; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R126f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -R0f.y = 0.0; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R126f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -R4f.z = R127f.z; -PS1f = R4f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R126f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -R5f.z = R126f.w; -PS0f = R5f.z; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -// skipped export to semanticId 255 -// 0 -backupReg0f = R0f.z; -backupReg0f = R0f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -// 1 -backupReg0f = R0f.z; -backupReg0f = R0f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R4f.x = PV0f.x; -PS1f = R4f.x; -// 2 -backupReg0f = R0f.z; -backupReg0f = R0f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R4f.y = PV1f.x; -PS0f = R4f.y; -// 3 -backupReg0f = R0f.z; -backupReg0f = R0f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R5f.x = PV0f.x; -PS1f = R5f.x; -// 4 -R5f.y = PV1f.x; -// export -passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// export -passParameterSem3 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt deleted file mode 100644 index 6ad4801d4..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/4f5f72f9eec53a90_0000000000000000_vs.txt +++ /dev/null @@ -1,165 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 4f5f72f9eec53a90 -//BG box 3 -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[9]; -}; -#else -uniform ivec4 uf_remappedVS[9]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R3f.z = 1.0; -PS1f = R3f.z; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R127f.w = 1.0; -PS0f = R127f.w; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R0f.z = 0.0; -PS1f = R0f.z; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -R4f.z = R127f.w; -PS0f = R4f.z; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -// skipped export to semanticId 255 -// 0 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -// 1 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R4f.x = PV0f.x; -PS1f = R4f.x; -// 2 -R4f.y = PV1f.x; -// export -passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt deleted file mode 100644 index 31cf05524..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/5f2ae4dbd2256d0c_0000000000000000_vs.txt +++ /dev/null @@ -1,146 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 5f2ae4dbd2256d0c -//minimap -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// skipped unused attribute for r8 -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R1f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R3f.x = 0.0; -PS0f = R3f.x; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R0f.x = R2f.x; -PS1f = R0f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -R0f.y = R2f.y; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -R0f.z = R127f.w; -PS1f = R0f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt deleted file mode 100644 index b0ab55eb1..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/6dc0977212eae7b3_0000000000000000_vs.txt +++ /dev/null @@ -1,153 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 6dc0977212eae7b3 -//hearts -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -const float UItransp = $UItransp; - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R4f.x = 0.0; -PS0f = R4f.x; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R0f.x = R3f.x; -PS1f = R0f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -R0f.y = R3f.y; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -R0f.z = R127f.w; -PS1f = R0f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w*UItransp); -// export -passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt deleted file mode 100644 index 71e0de969..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/70e776430cd020a9_0000000000000000_vs.txt +++ /dev/null @@ -1,165 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 70e776430cd020a9 -//box bg 5 -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[10]; -}; -#else -uniform ivec4 uf_remappedVS[10]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R1f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R3f.z = 1.0; -PS1f = R3f.z; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R127f.w = 1.0; -PS0f = R127f.w; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R2f.z = 0.0; -PS1f = R2f.z; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -R4f.z = R127f.w; -PS0f = R4f.z; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// 7 -R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); -R0f.w = intBitsToFloat(uf_remappedVS[7].w); -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -// 0 -tempf.x = dot(vec4(R2f.x,R2f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R4f.x = PV0f.x; -PS1f = R4f.x; -// 2 -R4f.y = PV1f.x; -// export -passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt deleted file mode 100644 index 6c6f66d60..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/7674f1be5f1b1e0c_0000000000000000_vs.txt +++ /dev/null @@ -1,165 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 7674f1be5f1b1e0c -//object box BG -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[9]; -}; -#else -uniform ivec4 uf_remappedVS[9]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R3f.z = 1.0; -PS1f = R3f.z; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R127f.w = 1.0; -PS0f = R127f.w; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R0f.z = 0.0; -PS1f = R0f.z; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -R4f.z = R127f.w; -PS0f = R4f.z; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -// skipped export to semanticId 255 -// 0 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -// 1 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R4f.x = PV0f.x; -PS1f = R4f.x; -// 2 -R4f.y = PV1f.x; -// export -passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt deleted file mode 100644 index 97f9e3981..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/7c5a0f2532be049f_0000000000000000_vs.txt +++ /dev/null @@ -1,152 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 7c5a0f2532be049f -//Map highlight -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R4f.x = 0.0; -PS0f = R4f.x; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R0f.x = R3f.x; -PS1f = R0f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -R0f.y = R3f.y; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -R0f.z = R127f.w; -PS1f = R0f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt deleted file mode 100644 index a2a649016..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/7fc573264230ed00_0000000000000000_vs.txt +++ /dev/null @@ -1,158 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 7fc573264230ed00 -//lights bloom sensor -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[10]; -}; -#else -uniform ivec4 uf_remappedVS[10]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R127f.w = R1f.w; -PS0f = R127f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R2f.z = 1.0; -PS1f = R2f.z; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -PS0f = 1.0; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R3f.z = PS0f; -PS1f = R3f.z; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// 7 -R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); -R0f.w = intBitsToFloat(uf_remappedVS[7].w); -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// 0 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.z),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.x = PV0f.x; -PS1f = R3f.x; -// 2 -R3f.y = PV1f.x; -// export -passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt deleted file mode 100644 index afca3cff9..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/827afe113fd67658_0000000000000000_vs.txt +++ /dev/null @@ -1,164 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 827afe113fd67658 -//lamp oil indicator -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[9]; -}; -#else -uniform ivec4 uf_remappedVS[9]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R127f.w = R2f.w; -PS0f = R127f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R0f.z = 1.0; -PS1f = R0f.z; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -PS0f = 1.0; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R4f.z = PS0f; -PS1f = R4f.z; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// 0 -backupReg0f = R0f.z; -backupReg0f = R0f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -// 1 -backupReg0f = R0f.z; -backupReg0f = R0f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R4f.x = PV0f.x; -PS1f = R4f.x; -// 2 -R4f.y = PV1f.x; -// export -passParameterSem1 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt deleted file mode 100644 index 0856326a0..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/85b15b7fe92662bb_0000000000000000_vs.txt +++ /dev/null @@ -1,147 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 85b15b7fe92662bb -//map dungeon BG -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// skipped unused attribute for r5 -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R1f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R3f.x = 0.0; -PS0f = R3f.x; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R0f.x = R2f.x; -PS1f = R0f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -R0f.y = R2f.y; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -R0f.z = R127f.w; -PS1f = R0f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt b/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt deleted file mode 100644 index b780fd7a6..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/95a5a89d62998e0d_0000000000000079_ps.txt +++ /dev/null @@ -1,364 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 95a5a89d62998e0d -// blur -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[3]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[3]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R123f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -float scaler; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = GET_FRAGCOORD(); -scaler = uf_fragCoordScale.x; -// 0 -R7f.x = R0f.x * intBitsToFloat(0x3b088889); -PV0f.x = R7f.x; -R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); -PV0f.y = R7f.y; -// 1 -R0f.x = PV0f.x; -R0f.y = PV0f.y + intBitsToFloat(0x3b72b9d6) * scaler; -R1f.z = PV0f.x; -R1f.y = PV0f.y + intBitsToFloat(0xbb72b9d6) * scaler; -PS1f = R1f.y; -// 2 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6) * scaler; -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6) * scaler; -PS0f = R4f.y; -R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.zy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.w; -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); -PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f); -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f); -R0f.y = R7f.y + intBitsToFloat(0x3c360b60) * scaler; -PS0f = R0f.y; -// 1 -R123f.x = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.y); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbc360b60) * scaler; -PS0f = R1f.y; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + PV0f.y); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + PV0f.x); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + PV0f.z); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6) * scaler; -R6f.z = R7f.x; -R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6) * scaler; -PS0f = R6f.y; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R2f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R3f.y); -PV0f.w = R123f.w; -R3f.y = R7f.y + intBitsToFloat(0x3c97b426) * scaler; -PS0f = R3f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.x = R7f.x; -PS1f = R3f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + PV1f.y); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbc97b426) * scaler; -PS0f = R1f.y; -// 3 -R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.y); -R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.x); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R5f.x = R7f.x; -R5f.y = R7f.y + intBitsToFloat(0x3cb60b60) * scaler; -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbcb60b60) * scaler; -PS0f = R4f.y; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.y); -PV0f.w = R123f.w; -R0f.y = R7f.y + intBitsToFloat(0x3cd4629b) * scaler; -PS0f = R0f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbcd4629b) * scaler; -PS0f = R1f.y; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + PV0f.y); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + PV0f.x); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + PV0f.z); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6) * scaler; -R6f.z = R7f.x; -R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6) * scaler; -PS0f = R6f.y; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R2f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R3f.y); -PV0f.w = R123f.w; -R3f.y = R7f.y + intBitsToFloat(0x3d088888) * scaler; -PS0f = R3f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.x = R7f.x; -PS1f = R3f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + PV1f.y); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbd088888) * scaler; -PS0f = R1f.y; -// 3 -R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.y); -R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.x); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R5f.x = R7f.x; -R5f.y = R7f.y + intBitsToFloat(0x3d17b426) * scaler; -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbd17b426) * scaler; -PS0f = R4f.y; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.y); -PV0f.w = R123f.w; -R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3) * scaler; -PS0f = R0f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -backupReg0f = R7f.y; -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R7f.y = backupReg0f + intBitsToFloat(0xbd26dfc3) * scaler; -PS0f = R7f.y; -// 3 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -backupReg2f = R2f.z; -R2f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + PV0f.y); -R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg1f) + PV0f.x); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + PV0f.z); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg2f) + PV0f.w); -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R2f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R2f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.y); -PV0f.w = R123f.w; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -// 2 -backupReg0f = R7f.x; -backupReg1f = R7f.y; -backupReg2f = R7f.z; -backupReg3f = R7f.w; -R7f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg0f) + PV1f.y); -R7f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg1f) + PV1f.w); -R7f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg2f) + PV1f.z); -R7f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg3f) + PV1f.x); -// export -passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/TPHD_Readme.md b/Resolutions/TwilightPrincessHD_Resolution/TPHD_Readme.md deleted file mode 100644 index 371318933..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/TPHD_Readme.md +++ /dev/null @@ -1,48 +0,0 @@ ------- -### TLoZ Twilight Princess HD ------- -### Graphic options - -3840x4320 vert x2 SSAA - Runs the game at double vertical res balancing look and performance when super sampling. Run full screen scaling in stretched and bilinear when activating this option. - -0.5 Sub scaling - Runs transparances and blur at half resolution, slight performance improvement (in higher resolutions). - -UI 25% transp - Dims static GUI elements, making them slightly transparent. Reduces chance of burn in when using Oled or plasma display. - - -### Nice to know when creating a custom resolution - -There are some issues with AO and light sources, to mitigate this some “sub” viewports need to scale evenly. XCX uses a similar approach to get smooth shadow transitions. - -Example: -``` -[Preset] -name = 3440x1440 (21:9) -$width = 3440 -$height = 1440 -$gameWidth= 1920 -$gameHeight= 1080 -$lightSource = 1.5 -$scaleShader = (2560.0/3440.0) -$aspectRatio = (43.0/18.0) -``` - -Base resolution is 2560x1440 -> Uw patch res 3440 - -AO needs to be 2160 = 1440 * $lightSource = 1.5 - -We then need to scale back ultrawide to original aspect for all viewports using AO / light sources - -2560 = 3440 *$scaleShader (2560.0/3440.0) - -``` -[TextureRedefine] -width = 1024 -height = 544 -formats = 0x001 -overwriteWidth = ($width/$gameWidth) * (1024*$lightSource*$scaleShader) -overwriteHeight = ($height/$gameHeight) * (544*$lightSource) -``` -![21:9](TP21_9.jpg) - - diff --git a/Resolutions/TwilightPrincessHD_Resolution/_cac95df4d2d6f5b8_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/_cac95df4d2d6f5b8_0000000000000000_vs.txt deleted file mode 100644 index 76ff9dda2..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/_cac95df4d2d6f5b8_0000000000000000_vs.txt +++ /dev/null @@ -1,102 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader cac95df4d2d6f5b8 -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -//uncomment to remove pillarbox -uniform ivec4 uf_remappedVS[8]; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R127f.w = R1f.w; -PS0f = R127f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// 7 -//R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); -R0f.w = intBitsToFloat(uf_remappedVS[7].w); -// export -//gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt deleted file mode 100644 index ea36ce3fc..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/acbedb86f89efae4_0000000000000000_vs.txt +++ /dev/null @@ -1,146 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader acbedb86f89efae4 -//mapscreen bg -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// skipped unused attribute for r8 -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R1f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R3f.x = 0.0; -PS0f = R3f.x; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R0f.x = R2f.x; -PS1f = R0f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -R0f.y = R2f.y; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -R0f.z = R127f.w; -PS1f = R0f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt deleted file mode 100644 index cc91fbc66..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/aebb1e76797684a2_0000000000000000_vs.txt +++ /dev/null @@ -1,151 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader aebb1e76797684a2 -//UI text bg -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R4f.x = 0.0; -PS0f = R4f.x; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R0f.x = R3f.x; -PS1f = R0f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -R0f.y = R3f.y; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -R0f.z = R127f.w; -PS1f = R0f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt deleted file mode 100644 index c8f9b843b..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/b5241d6db4feef42_0000000000000000_vs.txt +++ /dev/null @@ -1,165 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader b5241d6db4feef42 -//selection highlight -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[10]; -}; -#else -uniform ivec4 uf_remappedVS[10]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R1f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R3f.z = 1.0; -PS1f = R3f.z; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R127f.w = 1.0; -PS0f = R127f.w; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R2f.z = 0.0; -PS1f = R2f.z; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -R4f.z = R127f.w; -PS0f = R4f.z; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// 7 -R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); -R0f.w = intBitsToFloat(uf_remappedVS[7].w); -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -// 0 -tempf.x = dot(vec4(R2f.x,R2f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R4f.x = PV0f.x; -PS1f = R4f.x; -// 2 -R4f.y = PV1f.x; -// export -passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/c14019840473ff86_00000000000003c9_ps.txt b/Resolutions/TwilightPrincessHD_Resolution/c14019840473ff86_00000000000003c9_ps.txt deleted file mode 100644 index d1cacd359..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/c14019840473ff86_00000000000003c9_ps.txt +++ /dev/null @@ -1,159 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader c14019840473ff86 -//scale boxblur fx - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -#ifdef VULKAN -layout(set = 1, binding = 2) uniform ufBlock -{ -uniform vec4 uf_fragCoordScale; -}; -#else -uniform vec2 uf_fragCoordScale; -#endif -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float scaler; -R0f = passParameterSem0; -scaler = uf_fragCoordScale.x; -R0f.w = (textureGather(textureUnitPS1, R0f.xy).y); -// 0 -R1f.x = R0f.x + intBitsToFloat(0xba088889); -R1f.y = R0f.y + intBitsToFloat(0xba72b9d6); -R2f.z = R0f.x; -R2f.y = R0f.y + intBitsToFloat(0xba72b9d6); -PS0f = R2f.y; -// 1 -R3f.x = R0f.x + intBitsToFloat(0xba088889); -R3f.y = R0f.y; -R1f.xyzw = (textureGather(textureUnitPS1, R1f.xy).xyzw); -R2f.yz = (textureGather(textureUnitPS1, R2f.zy).yz); -R3f.xy = (textureGather(textureUnitPS1, R3f.xy).xy); -// 0 -PV0f.x = R2f.z + R3f.x; -PV0f.y = R1f.w + R0f.w; -PV0f.z = R1f.z + R3f.y; -PV0f.w = R1f.x + R2f.y; -// 1 -R123f.x = (R1f.y * 2.0 + -(PV0f.x)); -PV1f.x = R123f.x; -R123f.y = (R1f.y * 2.0 + -(PV0f.y)); -PV1f.y = R123f.y; -R123f.z = (R1f.y * 2.0 + -(PV0f.z)); -PV1f.z = R123f.z; -R123f.w = (R1f.y * 2.0 + -(PV0f.w)); -PV1f.w = R123f.w; -// 2 -PV0f.x = max(PV1f.x, -(PV1f.x)); -PV0f.y = max(PV1f.y, -(PV1f.y)); -PV0f.z = max(PV1f.z, -(PV1f.z)); -PV0f.w = max(PV1f.w, -(PV1f.w)); -// 3 -PV1f.x = PV0f.x + intBitsToFloat(0xb400d959); -PV1f.y = PV0f.y + intBitsToFloat(0xb400d959); -PV1f.z = PV0f.z + intBitsToFloat(0xb400d959); -PV1f.w = PV0f.w + intBitsToFloat(0xb400d959); -// 4 -R123f.x = intBitsToFloat(((PV1f.w >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.x = R123f.x; -R123f.y = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.y = R123f.y; -R123f.z = intBitsToFloat(((PV1f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.z = R123f.z; -R123f.w = intBitsToFloat(((PV1f.x >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.w = R123f.w; -// 5 -tempf.x = dot(vec4(PV0f.x,PV0f.y,PV0f.z,PV0f.w),vec4(0.25*scaler,0.25*scaler,0.25*scaler,0.25*scaler)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -// 6 -R127f.z = PV1f.x * intBitsToFloat(0x3f400000); -PV0f.z = R127f.z; -// 7 -R1f.x = (PV0f.z * intBitsToFloat(0xba088889) + R0f.x); -R1f.y = R0f.y; -R2f.z = R0f.x; -R2f.y = (PV0f.z * intBitsToFloat(0xba72b9d6) + R0f.y); -PS1f = R2f.y; -// 8 -R3f.x = (R127f.z * intBitsToFloat(0x3a088889) + R0f.x); -R3f.y = R0f.y; -R0f.w = (R127f.z * intBitsToFloat(0x3a72b9d6) + R0f.y); -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R2f.zy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.xw).xyzw); -// 0 -PV0f.x = R1f.w + R2f.w; -PV0f.y = R1f.z + R2f.z; -PV0f.z = R1f.y + R2f.y; -PV0f.w = R1f.x + R2f.x; -// 1 -PV1f.x = R3f.w + PV0f.x; -PV1f.y = R3f.z + PV0f.y; -PV1f.z = R3f.y + PV0f.z; -PV1f.w = R3f.x + PV0f.w; -// 2 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = R0f.w + PV1f.x; -PV0f.y = R0f.z + PV1f.y; -PV0f.z = backupReg0f + PV1f.z; -PV0f.w = backupReg1f + PV1f.w; -// 3 -R0f.x = PV0f.w * 0.25; -R0f.y = PV0f.z * 0.25; -R0f.z = PV0f.y * 0.25; -R0f.w = PV0f.x * 0.25; -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_ps.txt b/Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_ps.txt deleted file mode 100644 index 3ca91bda7..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/c612390d4c70f430_0000000000000079_ps.txt +++ /dev/null @@ -1,567 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader c612390d4c70f430 //cutscene focus n bloom - -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[5]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[5]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R123f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -float scaler; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = GET_FRAGCOORD(); -scaler = uf_fragCoordScale.x; -// 0 -R7f.x = R0f.x * intBitsToFloat(0x3b088889); -PV0f.x = R7f.x; -R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); -PV0f.y = R7f.y; -// 1 -R0f.x = PV0f.x + intBitsToFloat(0x3b088889) * scaler; -R0f.y = PV0f.y; -R1f.z = PV0f.y; -R1f.x = PV0f.x + intBitsToFloat(0xbb088889) * scaler; -PS1f = R1f.x; -// 2 -R2f.x = R7f.x + intBitsToFloat(0x3b888889) * scaler; -R2f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbb888889) * scaler; -PS0f = R4f.x; -R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xz,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -backupReg2f = R0f.w; -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f); -PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f); -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg2f); -R0f.x = R7f.x + intBitsToFloat(0x3bccccce) * scaler; -PS0f = R0f.x; -// 1 -R123f.x = (mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbbccccce) * scaler; -PS0f = R1f.x; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + PV0f.z); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + PV0f.y); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + PV0f.w); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + PV0f.x); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R2f.x = R7f.x + intBitsToFloat(0x3c088889) * scaler; -R2f.y = R7f.y; -R6f.z = R7f.y; -R6f.x = R7f.x + intBitsToFloat(0xbc088889) * scaler; -PS0f = R6f.x; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R3f.x); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.z); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R2f.w); -PV0f.w = R123f.w; -R3f.x = R7f.x + intBitsToFloat(0x3c2aaaab) * scaler; -PS0f = R3f.x; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.y = R7f.y; -PS1f = R3f.y; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + PV1f.x); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbc2aaaab) * scaler; -PS0f = R1f.x; -// 3 -R0f.x = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.x); -R0f.y = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.y); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.w); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R5f.x = R7f.x + intBitsToFloat(0x3c4cccce) * scaler; -R5f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbc4cccce) * scaler; -PS0f = R4f.x; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.x); -PV0f.w = R123f.w; -R0f.x = R7f.x + intBitsToFloat(0x3c6eeef0) * scaler; -PS0f = R0f.x; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbc6eeef0) * scaler; -PS0f = R1f.x; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + PV0f.z); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + PV0f.y); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + PV0f.w); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + PV0f.x); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R2f.x = R7f.x + intBitsToFloat(0x3c888889) * scaler; -R2f.y = R7f.y; -R6f.z = R7f.y; -R6f.x = R7f.x + intBitsToFloat(0xbc888889) * scaler; -PS0f = R6f.x; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R3f.x); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.z); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R2f.w); -PV0f.w = R123f.w; -R3f.x = R7f.x + intBitsToFloat(0x3c99999a) * scaler; -PS0f = R3f.x; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.y = R7f.y; -PS1f = R3f.y; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + PV1f.x); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbc99999a) * scaler; -PS0f = R1f.x; -// 3 -R0f.x = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.x); -R0f.y = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.y); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.w); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R5f.x = R7f.x + intBitsToFloat(0x3caaaaab) * scaler; -R5f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbcaaaaab) * scaler; -PS0f = R4f.x; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.x); -PV0f.w = R123f.w; -R0f.x = R7f.x + intBitsToFloat(0x3cbbbbbc) * scaler; -PS0f = R0f.x; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbcbbbbbc) * scaler; -PS0f = R1f.x; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + PV0f.z); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.x) + PV0f.y); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + PV0f.w); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.y) + PV0f.x); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R2f.x = R7f.x + intBitsToFloat(0x3cccccce) * scaler; -R2f.y = R7f.y; -R6f.z = R7f.y; -R6f.x = R7f.x + intBitsToFloat(0xbcccccce) * scaler; -PS0f = R6f.x; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R3f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R3f.x); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.z); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.w); -PV0f.w = R123f.w; -R3f.x = R7f.x + intBitsToFloat(0x3cdddddf) * scaler; -PS0f = R3f.x; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.y = R7f.y; -PS1f = R3f.y; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.w) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.x) + PV1f.x); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbcdddddf) * scaler; -PS0f = R1f.x; -// 3 -R0f.x = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[3].x)) + PV0f.x); -R0f.y = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[3].x)) + PV0f.y); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[3].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[3].x)) + PV0f.w); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R5f.x = R7f.x + intBitsToFloat(0x3ceeeef0) * scaler; -R5f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbceeeef0) * scaler; -PS0f = R4f.x; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.z) + R0f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.w) + R0f.x); -PV0f.w = R123f.w; -R0f.x = R7f.x + intBitsToFloat(0x3d000000) * scaler; -PS0f = R0f.x; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.w) + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.y) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.y) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.w) + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbd000000) * scaler; -PS0f = R1f.x; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.w) + PV0f.z); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.x) + PV0f.y); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),backupReg0f) + PV0f.w); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.y) + PV0f.x); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R2f.x = R7f.x + intBitsToFloat(0x3d088889) * scaler; -R2f.y = R7f.y; -R6f.z = R7f.y; -R6f.x = R7f.x + intBitsToFloat(0xbd088889) * scaler; -PS0f = R6f.x; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.x) + R3f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.w) + R3f.x); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.z) + R2f.z); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.y) + R2f.w); -PV0f.w = R123f.w; -R3f.x = R7f.x + intBitsToFloat(0x3d111112) * scaler; -PS0f = R3f.x; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.w) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.y = R7f.y; -PS1f = R3f.y; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.w) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.x) + PV1f.x); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbd111112) * scaler; -PS0f = R1f.x; -// 3 -R0f.x = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[4].x)) + PV0f.x); -R0f.y = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[4].x)) + PV0f.y); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[4].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[4].x)) + PV0f.w); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R5f.x = R7f.x + intBitsToFloat(0x3d19999a) * scaler; -R5f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbd19999a) * scaler; -PS0f = R4f.x; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.z) + R0f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.w) + R0f.x); -PV0f.w = R123f.w; -R0f.x = R7f.x + intBitsToFloat(0x3d222223) * scaler; -PS0f = R0f.x; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.w) + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.y) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -backupReg0f = R7f.x; -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.y) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.w) + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R7f.x = backupReg0f + intBitsToFloat(0xbd222223) * scaler; -PS0f = R7f.x; -// 3 -backupReg0f = R2f.x; -backupReg1f = R2f.z; -backupReg2f = R2f.y; -R2f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R2f.w) + PV0f.z); -R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg0f) + PV0f.y); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg1f) + PV0f.w); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg2f) + PV0f.x); -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.x) + R2f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.w) + R2f.x); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.z) + R2f.z); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.y) + R2f.w); -PV0f.w = R123f.w; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.w) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -// 2 -backupReg0f = R7f.x; -backupReg1f = R7f.y; -backupReg2f = R7f.z; -backupReg3f = R7f.w; -R7f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),backupReg0f) + PV1f.x); -R7f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),backupReg1f) + PV1f.w); -R7f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),backupReg2f) + PV1f.z); -R7f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),backupReg3f) + PV1f.y); -// export -passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt deleted file mode 100644 index 7cdf23c5d..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/ce7aa5fffc34aab0_0000000000000000_vs.txt +++ /dev/null @@ -1,147 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader ce7aa5fffc34aab0 -//action buttons -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -const float UItransp = $UItransp; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R2f.x = R3f.x; -PS0f = R2f.x; -// 3 -R3f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R3f.x; -PV1f.y = R3f.x; -PV1f.z = R3f.x; -PV1f.w = R3f.x; -R2f.y = R3f.y; -PS1f = R2f.y; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R3f.y = tempf.x; -R2f.z = R127f.w; -PS0f = R2f.z; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.z = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R3f.w = tempf.x; -// export -SET_POSITION(vec4(R3f.x*UIx, R3f.y*UIy, R3f.z, R3f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w*UItransp); -// export -passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt deleted file mode 100644 index 858bf01ad..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/e9d455979cba2505_0000000000000000_vs.txt +++ /dev/null @@ -1,150 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader e9d455979cba2505 -//dungeon objects -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem1; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// skipped unused attribute for r5 -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R1f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R0f.x = 0.0; -PS0f = R0f.x; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R3f.x = R2f.x; -PS1f = R3f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -R3f.y = R2f.y; -PS0f = R3f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -R3f.z = R127f.w; -PS1f = R3f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem2 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt deleted file mode 100644 index e1f6f8429..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/eec9403a9d54137e_0000000000000000_vs.txt +++ /dev/null @@ -1,151 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader eec9403a9d54137e -//Map bg middle layer -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R4f.x = 0.0; -PS0f = R4f.x; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R0f.x = R3f.x; -PS1f = R0f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -R0f.y = R3f.y; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -R0f.z = R127f.w; -PS1f = R0f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt deleted file mode 100644 index c927d51f3..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/f017fcfaf1bd28ab_0000000000000000_vs.txt +++ /dev/null @@ -1,145 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader f017fcfaf1bd28ab -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; - -//amiibo -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R1f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R3f.x = 0.0; -PS0f = R3f.x; -// 3 -R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R0f.x = R2f.x; -PS1f = R0f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -R0f.y = R2f.y; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = tempf.x; -R0f.z = R127f.w; -PS1f = R0f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.w = tempf.x; -// export -SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); -// export -passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt deleted file mode 100644 index 38bbc8b51..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/f5034fe4aa1fec23_0000000000000000_vs.txt +++ /dev/null @@ -1,152 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader f5034fe4aa1fec23 -//map fade -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R4f.x = 0.0; -PS0f = R4f.x; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R0f.x = R3f.x; -PS1f = R0f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -R0f.y = R3f.y; -PS0f = R0f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -R0f.z = R127f.w; -PS1f = R0f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -// skipped export to semanticId 255 -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt b/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt deleted file mode 100644 index 3f0108a50..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/fc148873ef522f50_0000000000000000_vs.txt +++ /dev/null @@ -1,154 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader fc148873ef522f50 -// objective shadow -const float UIx = $UIAspectX; -const float UIy = $UIAspectY; -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[7]; -}; -#else -uniform ivec4 uf_remappedVS[7]; -#endif -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -layout(location = 2) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.w = R2f.w; -PS0f = R126f.w; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = 1.0; -PS1f = R127f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -R0f.x = 0.0; -PS0f = R0f.x; -// 3 -R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = R2f.x; -PV1f.y = R2f.x; -PV1f.z = R2f.x; -PV1f.w = R2f.x; -R4f.x = R3f.x; -PS1f = R4f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.y = tempf.x; -R4f.y = R3f.y; -PS0f = R4f.y; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.z = tempf.x; -R4f.z = R127f.w; -PS1f = R4f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.w = tempf.x; -// export -SET_POSITION(vec4(R2f.x*UIx, R2f.y, R2f.z, R2f.w)); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -// skipped export to semanticId 255 -// export -passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// export -passParameterSem3 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Resolutions/TwilightPrincessHD_Resolution/patches.txt b/Resolutions/TwilightPrincessHD_Resolution/patches.txt deleted file mode 100644 index 1814cb36b..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/patches.txt +++ /dev/null @@ -1,13 +0,0 @@ -[TPHDv81] -moduleMatches = 0x1A03E108 - -#rodata constants -0x1005AAD8 = .float $aspectRatio -_aspectAddr = 0x1006AAD8 - - -#code changes -0x028D75B8 = lis r11, _aspectAddr@h -0x028D75C0 = lfs f0, _aspectAddr@l(r11) ; Main 3d Aspect -0x029BB184 = lis r12, _aspectAddr@h -0x029BB188 = lfs f2, _aspectAddr@l(r12) ; may just be the intro zelda graphic diff --git a/Resolutions/TwilightPrincessHD_Resolution/rules.txt b/Resolutions/TwilightPrincessHD_Resolution/rules.txt deleted file mode 100644 index 47732965e..000000000 --- a/Resolutions/TwilightPrincessHD_Resolution/rules.txt +++ /dev/null @@ -1,1180 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = Resolution -path = "The Legend of Zelda: Twilight Princess HD/Graphics/Resolution" -description = Changes the resolution of the game. Made by getdls. -version = 4 - -[Preset] -name = 1920x1080 (Native) -$width = 1920 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 2560x1440 -$width = 2560 -$height = 1440 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 2732x1536 -$width = 2732 -$height = 1536 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 3200x1800 -$width = 3200 -$height = 1800 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 3840x2160 (4k - Native x2) -$width = 3840 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.75 -$internalRes = 0.75 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 5120x2880 -$width = 5120 -$height = 2880 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 0.75 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -// Enthusiast - -[Preset] -name = 7680x4320 (8k - Native x3) -$width = 7680 -$height = 4320 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.25 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 0.5 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = -- 21:9 -- resolutions -$width = 2560 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 2560x1080 (21:9 HD) -$width = 2560 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 3440x1440 (21:9) -$width = 3440 -$height = 1440 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 3440.0 / 1440.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 5120x2160 (21:9) -$width = 5120 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 0.75 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 5120.0 / 2160.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = -- 16:10 -- resolutions -$width = 1440 -$height = 900 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1440.0/900.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1440.0 / 900.0 ) / (1920.0 / 1080.0) -$UItransp = 1.0 - -[Preset] -name = 1280x800 (16:10) -$width = 1280 -$height = 800 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1280.0/800.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1280.0 / 800.0 ) / (1920.0 / 1080.0) -$UItransp = 1.0 - -[Preset] -name = 1440x900 (16:10) -$width = 1440 -$height = 900 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1440.0/900.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1440.0 / 900.0 ) / (1920.0 / 1080.0) -$UItransp = 1.0 - -[Preset] -name = 1680x1050 (16:10) -$width = 1680 -$height = 1050 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1680.0/1050.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1680.0 / 1050.0 ) / (1920.0 / 1080.0) -$UItransp = 1.0 - -[Preset] -name = 1920x1200 (16:10) -$width = 1920 -$height = 1200 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1920.0/1200.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1920.0 / 1200.0 ) / (1920.0 / 1080.0) -$UItransp = 1.0 - -[Preset] -name = 2560x1600 (16:10) -$width = 2560 -$height = 1600 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (2560.0/1600.0) -$UIAspectX = 1.0 -$UIAspectY = ( 2560.0 / 1600.0 ) / (1920.0 / 1080.0) -$UItransp = 1.0 - -[Preset] -name = 2880x1800 (16:10) -$width = 2880 -$height = 1800 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (2880.0/1800.0) -$UIAspectX = 1.0 -$UIAspectY = ( 2880.0 / 1800.0 ) / (1920.0 / 1080.0) -$UItransp = 1.0 - -[Preset] -name = 3840x2400 (16:10) -$width = 3840 -$height = 2400 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (3840.0/2400.0) -$UIAspectX = 1.0 -$UIAspectY = ( 3840.0 / 2400.0 ) / (1920.0 / 1080.0) -$UItransp = 1.0 - -[Preset] -name = 5120x3200 (16:10) -$width = 5120 -$height = 3200 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (5120.0/3200.0) -$UIAspectX = 1.0 -$UIAspectY = ( 5120.0 / 3200.0 ) / (1920.0 / 1080.0) -$UItransp = 1.0 - -[Preset] -name = -- 48:9 -- resolutions -$width = 5760 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (48.0/9.0) -$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 5760x1080 (48:9) -$width = 5760 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (48.0/9.0) -$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 7680x1440 (48:9) -$width = 7680 -$height = 1440 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 0.70 -$aspectRatio = (48.0/9.0) -$UIAspectX = ( 1920.0 / 1080.0 ) / ( 7680.0 / 1440.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] # Should work fine on a 1070 and fixes most of horizontal shimmering -name = -- SSAA vert res x2 - Set scaling to Stretch -$width = 1920 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 1920x2160 (Vertical x2) -$width = 1920 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 2560x2880 (Vertical x2 - 0.75 sub scaling) -$width = 2560 -$height = 2880 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 0.75 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] # -name = 3840x4320 (Vertical x2 - 0.5 sub scaling) -$width = 3840 -$height = 4320 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.25 -$scaleShader = 1.0 -$scaleBlur = 1.0 -$internalRes = 0.5 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 2560x2160 (21:9 Vertical x2) -$width = 2560 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 3440x2880 (21:9 Vertical x2 - 0.75 sub scaling) -$width = 3440 -$height = 2880 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 0.75 # 2880 * 0.75 = 1080 x 2 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 3440.0 / 1440.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = 10240x4320 (21:9 0.5 subscale) -$width = 10240 -$height = 4320 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 0.5 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 5120.0 / 2160.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - - -[Preset] -name = 5760x1080 (48:9 Vertical x2 - 0.5 sub scaling) -$width = 5760 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 0.5 -$aspectRatio = (48.0/9.0) -$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 1.0 - -[Preset] -name = -- UI 25% transparency, reduces risk of burn in -- -$width = 1920 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 1920x1080 (Native) - UI 25% transp -$width = 1920 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 2560x1440 - UI 25% transp -$width = 2560 -$height = 1440 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 2732x1536 - UI 25% transp -$width = 2732 -$height = 1536 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 3200x1800 - UI 25% transp -$width = 3200 -$height = 1800 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 3840x2160 (4k - Native x2) - UI 25% transp -$width = 3840 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.75 -$internalRes = 0.75 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 5120x2880 - UI 25% transp -$width = 5120 -$height = 2880 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 0.75 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -// Enthusiast - -[Preset] -name = 7680x4320 (8k - Native x3) - UI 25% transp -$width = 7680 -$height = 4320 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.25 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 0.5 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = -- 21:9 -- resolutions - UI 25% transp -$width = 2560 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 2560x1080 (21:9 HD) - UI 25% transp -$width = 2560 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 3440x1440 (21:9) - UI 25% transp -$width = 3440 -$height = 1440 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 3440.0 / 1440.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 5120x2160 (21:9) - UI 25% transp -$width = 5120 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 0.75 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 5120.0 / 2160.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 10240x4320 (21:9) - UI 25% transp -$width = 10240 -$height = 4320 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.2 -$scaleShader = 1.0 -$scaleBlur = 0.5 -$internalRes = 0.5 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 5120.0 / 2160.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = -- 16:10 -- resolutions - UI 25% transp -$width = 1440 -$height = 900 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1440.0/900.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1440.0 / 900.0 ) / (1920.0 / 1080.0) -$UItransp = 0.75 - -[Preset] -name = 1280x800 (16:10) - UI 25% transp -$width = 1280 -$height = 800 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1280.0/800.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1280.0 / 800.0 ) / (1920.0 / 1080.0) -$UItransp = 0.75 - -[Preset] -name = 1440x900 (16:10) - UI 25% transp -$width = 1440 -$height = 900 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1440.0/900.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1440.0 / 900.0 ) / (1920.0 / 1080.0) -$UItransp = 0.75 - -[Preset] -name = 1680x1050 (16:10) - UI 25% transp -$width = 1680 -$height = 1050 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1680.0/1050.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1680.0 / 1050.0 ) / (1920.0 / 1080.0) -$UItransp = 0.75 - -[Preset] -name = 1920x1200 (16:10) - UI 25% transp -$width = 1920 -$height = 1200 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (1920.0/1200.0) -$UIAspectX = 1.0 -$UIAspectY = ( 1920.0 / 1200.0 ) / (1920.0 / 1080.0) -$UItransp = 0.75 - -[Preset] -name = 2560x1600 (16:10) - UI 25% transp -$width = 2560 -$height = 1600 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (2560.0/1600.0) -$UIAspectX = 1.0 -$UIAspectY = ( 2560.0 / 1600.0 ) / (1920.0 / 1080.0) -$UItransp = 0.75 - -[Preset] -name = 2880x1800 (16:10) - UI 25% transp -$width = 2880 -$height = 1800 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (2880.0/1800.0) -$UIAspectX = 1.0 -$UIAspectY = ( 2880.0 / 1800.0 ) / (1920.0 / 1080.0) -$UItransp = 0.75 - -[Preset] -name = 3840x2400 (16:10) - UI 25% transp -$width = 3840 -$height = 2400 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (3840.0/2400.0) -$UIAspectX = 1.0 -$UIAspectY = ( 3840.0 / 2400.0 ) / (1920.0 / 1080.0) -$UItransp = 0.75 - -[Preset] -name = 5120x3200 (16:10) - UI 25% transp -$width = 5120 -$height = 3200 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (5120.0/3200.0) -$UIAspectX = 1.0 -$UIAspectY = ( 5120.0 / 3200.0 ) / (1920.0 / 1080.0) -$UItransp = 0.75 - -[Preset] -name = -- 48:9 -- resolutions - UI 25% transp -$width = 5760 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (48.0/9.0) -$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 5760x1080 (48:9) - UI 25% transp -$width = 5760 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (48.0/9.0) -$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 7680x1440 (48:9) - UI 25% transp -$width = 7680 -$height = 1440 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 0.70 -$aspectRatio = (48.0/9.0) -$UIAspectX = ( 1920.0 / 1080.0 ) / ( 7680.0 / 1440.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] # Should work fine on a 1070 and fixes most of horizontal shimmering -name = --- SSAA vert res x2 - Set scaling to Stretch -$width = 1920 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 1920x2160 (Vertical x2) - UI 25% transp -$width = 1920 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.01 -$scaleShader = 1.0 -$scaleBlur = 0.05 -$internalRes = 1.0 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 2560x2880 (Vertical x2 - 0.75 sub scaling) - UI 25% transp -$width = 2560 -$height = 2880 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 0.75 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] # -name = 3840x4320 (Vertical x2 - 0.5 sub scaling) - UI 25% transp -$width = 3840 -$height = 4320 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.25 -$scaleShader = 1.0 -$scaleBlur = 1.0 -$internalRes = 0.5 -$aspectRatio = (16.0/9.0) -$UIAspectX = 1.0 -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 2560x2160 (21:9 Vertical x2) - UI 25% transp -$width = 2560 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 1.0 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 3440x2880 (21:9 Vertical x2 - 0.75 sub scaling) - UI 25% transp -$width = 3440 -$height = 2880 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 0.75 # 2880 * 0.75 = 1080 x 2 -$aspectRatio = (64.0 / 27.0) -$UIAspectX = (1920.0 / 1080.0) / ( 3440.0 / 1440.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[Preset] -name = 5760x1080 (48:9 Vertical x2 - 0.5 sub scaling) - UI 25% transp -$width = 5760 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$dither = 0.1 -$scaleShader = 1.0 -$scaleBlur = 0.25 -$internalRes = 0.5 -$aspectRatio = (48.0/9.0) -$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) -$UIAspectY = 1.0 -$UItransp = 0.75 - -[TextureRedefine] -width = 1920 -height = 1088 -#formats = 0x011,0x01a -overwriteWidth = ($width/$gameWidth) * 1920 -overwriteHeight = ($height/$gameHeight) * 1088 - -[TextureRedefine] -width = 1920 -height = 1080 -#formats = -overwriteWidth = ($width/$gameWidth) * 1920 -overwriteHeight = ($height/$gameHeight) * 1080 - -[TextureRedefine] -width = 1280 -height = 720 -#formats = -overwriteWidth = ($width/$gameWidth) * 1280 -overwriteHeight = ($height/$gameHeight) * 720 - -[TextureRedefine] -width = 960 -height = 544 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * (960*$internalRes) -overwriteHeight = ($height/$gameHeight) * (544*$internalRes) - -[TextureRedefine] -width = 960 -height = 540 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * (960*$internalRes) -overwriteHeight = ($height/$gameHeight) * (540*$internalRes) - -[TextureRedefine] -width = 960 -height = 544 -formats = 0x011 -overwriteWidth = ($width/$gameWidth) * (960*$internalRes) -overwriteHeight = ($height/$gameHeight) * (544*$internalRes) - -[TextureRedefine] -width = 960 -height = 540 -formats = 0x011 -overwriteWidth = ($width/$gameWidth) * (960*$internalRes) -overwriteHeight = ($height/$gameHeight) * (540*$internalRes) - -[TextureRedefine] -width = 960 -height = 544 -formats = 0x007 -overwriteWidth = ($width/$gameWidth) * (960*$internalRes) -overwriteHeight = ($height/$gameHeight) * (544*$internalRes) - -[TextureRedefine] -width = 960 -height = 540 -formats = 0x007 -overwriteWidth = ($width/$gameWidth) * (960*$internalRes) -overwriteHeight = ($height/$gameHeight) * (540*$internalRes) - -[TextureRedefine] -width = 864 -height = 480 -#formats = -overwriteWidth = ($width/$gameWidth) * 864 -overwriteHeight = ($height/$gameHeight) * 480 - -[TextureRedefine] -width = 854 -height = 480 -#formats = -overwriteWidth = ($width/$gameWidth) * 854 -overwriteHeight = ($height/$gameHeight) * 480 - -[TextureRedefine] #shadows horsie -width = 768 -height = 768 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 768 -overwriteHeight = ($height/$gameHeight) * 768 - -[TextureRedefine] #large map 8 rounding -width = 1376 -height = 784 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 1376 -overwriteHeight = ($height/$gameHeight) * 784 - -[TextureRedefine] #large map rounding -width = 1345 -height = 773 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 1345 -overwriteHeight = ($height/$gameHeight) * 773 - -[TextureRedefine] #large map 8 rounding -width = 608 -height = 352 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 608 -overwriteHeight = ($height/$gameHeight) * 352 - -[TextureRedefine] # Large map -width = 598 -height = 343 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 598 -overwriteHeight = ($height/$gameHeight) * 343 - -[TextureRedefine] # bloom n cutscene -width = 480 -height = 272 -#formats = 0x01a -overwriteWidth = ($width/$gameWidth) * (480*$internalRes) -overwriteHeight = ($height/$gameHeight) * (272*$internalRes) - -[TextureRedefine] # bloom n cutscene -width = 480 -height = 270 -#formats = 0x01a -overwriteWidth = ($width/$gameWidth) * (480*$internalRes) -overwriteHeight = ($height/$gameHeight) * (270*$internalRes) - -[TextureRedefine] # -width = 448 -height = 384 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 448 -overwriteHeight = ($height/$gameHeight) * 384 - -[TextureRedefine] # Map -width = 442 -height = 383 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 442 -overwriteHeight = ($height/$gameHeight) * 383 - -[TextureRedefine] -width = 435 -height = 381 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 435 -overwriteHeight = ($height/$gameHeight) * 381 - -[TextureRedefine] #Wolf shadows -width = 384 -height = 384 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 384 -overwriteHeight = ($height/$gameHeight) * 384 - -[TextureRedefine] #GUI map +8 -width = 320 -height = 288 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 320 -overwriteHeight = ($height/$gameHeight) * 288 - -[TextureRedefine] # map -width = 290 -height = 280 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 290 -overwriteHeight = ($height/$gameHeight) * 280 - -[TextureRedefine] # -width = 290 -height = 280 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 290 -overwriteHeight = ($height/$gameHeight) * 280 - -[TextureRedefine] # Gui -width = 282 -height = 272 -#formats = -overwriteWidth = ($width/$gameWidth) * 282 -overwriteHeight = ($height/$gameHeight) * 272 - -[TextureRedefine] # Gui -width = 832 -height = 720 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 832 -overwriteHeight = ($height/$gameHeight) * 720 - -[TextureRedefine] # Gui -width = 813 -height = 718 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 813 -overwriteHeight = ($height/$gameHeight) * 718 - -[TextureRedefine] # map -width = 384 -height = 320 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 384 -overwriteHeight = ($height/$gameHeight) * 320 - -[TextureRedefine] # map -width = 362 -height = 319 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 362 -overwriteHeight = ($height/$gameHeight) * 319 - -[TextureRedefine] # map endgame -width = 832 -height = 720 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 832 -overwriteHeight = ($height/$gameHeight) * 720 - -[TextureRedefine] # map endgame -width = 802 -height = 512 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 802 -overwriteHeight = ($height/$gameHeight) * 512 From 99afe72c1f72b801e9cecb7130c6886b663e0bb7 Mon Sep 17 00:00:00 2001 From: intra0 Date: Fri, 13 Dec 2024 23:18:56 -0600 Subject: [PATCH 09/16] Adds src/TwilighPrincessHD --- .../49865bd2e62efda1_0000000000000079_ps.txt | 82 + .../5f422bf63e25be7f_0000000000000079_ps.txt | 75 + .../6e2f31b2b2fcab1f_0000000000000079_ps.txt | 67 + ...d_95a5a89d62998e0d_0000000000000079_ps.txt | 300 ++++ ...d_c612390d4c70f430_0000000000000079_ps.txt | 454 ++++++ .../Enhancements/Bloom/rules.txt | 434 ++++++ .../c14019840473ff86_00000000000003c9_ps.txt | 245 +++ .../Enhancements/Contrasty/rules.txt | 208 +++ ...d_49865bd2e62efda1_0000000000000079_ps.txt | 82 + ...d_5f422bf63e25be7f_0000000000000079_ps.txt | 88 ++ ...d_95a5a89d62998e0d_0000000000000079_ps.txt | 367 +++++ ...d_e334517825fdd599_0000000000000079_ps.txt | 130 ++ .../Enhancements/NegativeLOD/rules.txt | 68 + .../15e4acf324eb0912_0000000000000000_vs.txt | 150 ++ .../18893ce415f2fcc7_0000000000000000_vs.txt | 149 ++ .../1caed2ca3d14f36b_0000000000000000_vs.txt | 159 ++ .../24b09ef9b11b98d5_0000000000000000_vs.txt | 148 ++ .../27b429c755f71162_0000000000000000_vs.txt | 197 +++ .../4f5f72f9eec53a90_0000000000000000_vs.txt | 165 +++ .../5f2ae4dbd2256d0c_0000000000000000_vs.txt | 146 ++ .../6dc0977212eae7b3_0000000000000000_vs.txt | 153 ++ .../70e776430cd020a9_0000000000000000_vs.txt | 165 +++ .../7674f1be5f1b1e0c_0000000000000000_vs.txt | 165 +++ .../7c5a0f2532be049f_0000000000000000_vs.txt | 152 ++ .../7fc573264230ed00_0000000000000000_vs.txt | 158 ++ .../827afe113fd67658_0000000000000000_vs.txt | 164 ++ .../85b15b7fe92662bb_0000000000000000_vs.txt | 147 ++ .../95a5a89d62998e0d_0000000000000079_ps.txt | 364 +++++ .../Graphics/TPHD_Readme.md | 48 + .../_cac95df4d2d6f5b8_0000000000000000_vs.txt | 102 ++ .../acbedb86f89efae4_0000000000000000_vs.txt | 146 ++ .../aebb1e76797684a2_0000000000000000_vs.txt | 151 ++ .../b5241d6db4feef42_0000000000000000_vs.txt | 165 +++ .../c14019840473ff86_00000000000003c9_ps.txt | 159 ++ .../c612390d4c70f430_0000000000000079_ps.txt | 567 +++++++ .../ce7aa5fffc34aab0_0000000000000000_vs.txt | 147 ++ .../e9d455979cba2505_0000000000000000_vs.txt | 150 ++ .../eec9403a9d54137e_0000000000000000_vs.txt | 151 ++ .../f017fcfaf1bd28ab_0000000000000000_vs.txt | 145 ++ .../f5034fe4aa1fec23_0000000000000000_vs.txt | 152 ++ .../fc148873ef522f50_0000000000000000_vs.txt | 154 ++ .../Graphics/patch_resolution.asm | 8 + src/TwilightPrincessHD/Graphics/rules.txt | 1320 +++++++++++++++++ .../14e81f55c62139c7_0000000000000079_ps.txt | 72 + .../4e1d21b4863fc48c_0000000000000079_ps.txt | 125 ++ .../9f1ac253de80a927_0000000000000079_ps.txt | 125 ++ .../acd66e3570ee3a72_0000000000000079_ps.txt | 137 ++ .../b567aed28aa42ec7_0000000000000079_ps.txt | 122 ++ .../e264c779e7deb774_0000000000000079_ps.txt | 69 + .../f6e03fd012597dda_0000000000000079_ps.txt | 122 ++ .../faace4c78d269ce1_0000000000000079_ps.txt | 72 + .../Mods/RemoveHUD/rules.txt | 7 + .../Mods/RemoveHaze/patch_RemoveHaze.asm | 9 + .../Mods/RemoveHaze/rules.txt | 44 + 54 files changed, 9651 insertions(+) create mode 100644 src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Bloom/rules.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Contrasty/rules.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Enhancements/NegativeLOD/rules.txt create mode 100644 src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Graphics/TPHD_Readme.md create mode 100644 src/TwilightPrincessHD/Graphics/_cac95df4d2d6f5b8_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt create mode 100644 src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt create mode 100644 src/TwilightPrincessHD/Graphics/patch_resolution.asm create mode 100644 src/TwilightPrincessHD/Graphics/rules.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHaze/patch_RemoveHaze.asm create mode 100644 src/TwilightPrincessHD/Mods/RemoveHaze/rules.txt diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt new file mode 100644 index 000000000..8380767f0 --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt @@ -0,0 +1,82 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + + +// shader 49865bd2e62efda1: tints the bloom mask and applies it to the frame + + +#ifdef VULKAN + #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) + +#else + #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) + +#endif + +#ifdef VULKAN + layout(set = 1, binding = 1) uniform ufBlock + { + uniform ivec4 uf_remappedPS[1]; // holds area specific bloom tint color + uniform vec4 uf_fragCoordScale; + }; + +#else + uniform ivec4 uf_remappedPS[1]; // holds area specific bloom tint color + uniform vec2 uf_fragCoordScale; + +#endif + +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; // bloom mask created in 6e2f31b2b2fcab1f +layout(location = 0) in vec4 passParameterSem0; // pixel coord +layout(location = 0) out vec4 passPixelColor0; // pixel color, alpha = blend of original pixel -> used to dampen non-bloom areas in shadow world + + +// more compatible interpolation +float mixf(float x, float y, float a) +{ + return x * (1.0 - a) + y * a; +} + + +void main() +{ + // get pixel coord + vec2 coord = passParameterSem0.xy; + + // get bloom mask + vec3 mask = texture(textureUnitPS0, coord).xyz; + + // get area specific color tint + vec4 tint = vec4(0.0); + tint.x = intBitsToFloat(uf_remappedPS[0].x); + tint.y = intBitsToFloat(uf_remappedPS[0].y); + tint.z = intBitsToFloat(uf_remappedPS[0].z); + tint.w = intBitsToFloat(uf_remappedPS[0].w); + + // get luminance of tint: removes color, keeps intended brightness + float tintLuminance = dot(tint.xyz, vec3(0.299, 0.587, 0.114)); // percieved approximation + + // apply custom tint color + tint.x = mixf(tintLuminance, tint.x, $bloom_tint_strength); + tint.y = mixf(tintLuminance, tint.y, $bloom_tint_strength); + tint.z = mixf(tintLuminance, tint.z, $bloom_tint_strength); + + // apply tint on mask + vec4 outColor = vec4(0.0); + outColor.x = mask.x * tint.x; + outColor.y = mask.y * tint.y; + outColor.z = mask.z * tint.z; + + // custom brightness reduction, only in shadow world below 1.0 + outColor.w = mixf(1.0, tint.w, $shadow_world_darkening); + + // export + passPixelColor0 = vec4(outColor.x, outColor.y, outColor.z, outColor.w); +} diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt new file mode 100644 index 000000000..2590c9f9b --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt @@ -0,0 +1,75 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + + +// shader 5f422bf63e25be7f: desaturates colors (shadow world only) +// desaturates the image by shifting colors towards the red channel +// used in shadow world only, as far as tested +// grading values always seem to be: 1.0, 1.0, 1.0, ~0.33 + + +#ifdef VULKAN + #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) + + layout(set = 1, binding = 1) uniform ufBlock + { + uniform ivec4 uf_remappedPS[1]; // grading + }; + +#else + #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) + + uniform ivec4 uf_remappedPS[1]; // grading + +#endif + + +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; // frame +layout(location = 0) in vec4 passParameterSem1; // pixel coordinate +layout(location = 0) out vec4 passPixelColor0; // output. w is alpha, overlayed + + +// more compatible interpolation +float mixf(float x, float y, float a) +{ + return x * (1.0 - a) + y * a; +} + + +void main() +{ + // get texel color + vec2 coord = passParameterSem1.xy; + vec3 texel = texture(textureUnitPS0, coord).xyz; + + // get grading + vec4 grading = vec4(0.0); + grading.x = intBitsToFloat(uf_remappedPS[0].x); // 1.0 + grading.y = intBitsToFloat(uf_remappedPS[0].y); // 1.0 + grading.z = intBitsToFloat(uf_remappedPS[0].z); // 1.0 + grading.w = intBitsToFloat(uf_remappedPS[0].w); // alpha, ~0.33 + + // shift towards red channel + vec4 color = vec4(0.0); + color.x = texel.x * grading.x; // red * 1.0 + color.y = texel.x * grading.y; // red * 1.0 + color.z = texel.x * grading.z; // red * 1.0 + color.w = mixf(0.0, grading.w, $shadow_world_desaturation); // apply custom strength + + // export + passPixelColor0 = vec4(color.x, color.y, color.z, color.w); + + + // test current grading colors + //passPixelColor0 = vec4(grading.x, grading.y, grading.z, 1.0); + + // test current grading alpha + //passPixelColor0 = vec4(grading.w, grading.w, grading.w, 1.0); +} diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt new file mode 100644 index 000000000..5dcb11cb1 --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt @@ -0,0 +1,67 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + + +// shader 6e2f31b2b2fcab1f: creates bloom mask + + +#ifdef VULKAN + #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) + +#else + #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) + +#endif + +#ifdef VULKAN + layout(set = 1, binding = 1) uniform ufBlock + { + uniform ivec4 uf_remappedPS[1]; // mask threshold + uniform vec4 uf_fragCoordScale; + }; + +#else + uniform ivec4 uf_remappedPS[1]; // mask threshold + uniform vec2 uf_fragCoordScale; + +#endif + +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; // frame +layout(location = 0) out vec4 passPixelColor0; // outputs to a texture used by c612390d4c70f430, 95a5a89d62998e0d and 49865bd2e62efda1 + + +void main() +{ + // get mask threshold data + float cutoff = intBitsToFloat(uf_remappedPS[0].x); // ~0.39: 0-1, higher = less glowing pixels + float contrast = intBitsToFloat(uf_remappedPS[0].y); // 4.5: higher = sharper edges + + // get texture coordinate of this pixel + vec4 coord = GET_FRAGCOORD(); + coord.x = coord.x * intBitsToFloat(0x3b088889); // align to scale/grid? + coord.y = coord.y * intBitsToFloat(0x3b72b9d6); + + // get color of this pixel + vec3 color = texture(textureUnitPS0, vec2(coord.x, coord.y)).xyz; + + // calculate luminance = percieved brightness + float luminance = dot(color, vec3(0.299, 0.587, 0.114)); // percieved approximation + + // apply threshold, removes dark areas from the mask + luminance = contrast * (luminance - cutoff) * $bloom_strength; // apply custom strength + + // apply to color and clamp + color.x = clamp(luminance * color.x, 0.0, 1.0); + color.y = clamp(luminance * color.y, 0.0, 1.0); + color.z = clamp(luminance * color.z, 0.0, 1.0); + + // export + passPixelColor0 = vec4(color.x, color.y, color.z, 0.0); +} diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt new file mode 100644 index 000000000..2200fab3f --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt @@ -0,0 +1,300 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + + +// shader 95a5a89d62998e0d: blurs bloom vertical + + +#ifdef VULKAN + #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) + +#else + #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) + +#endif + +#ifdef VULKAN + layout(set = 1, binding = 1) uniform ufBlock + { + uniform ivec4 uf_remappedPS[3]; + uniform vec4 uf_fragCoordScale; + }; + +#else + uniform ivec4 uf_remappedPS[3]; + uniform vec2 uf_fragCoordScale; + +#endif + +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) out vec4 passPixelColor0; + + +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} + + +void main() +{ + vec4 R0f = vec4(0.0); + vec4 R1f = vec4(0.0); + vec4 R2f = vec4(0.0); + vec4 R3f = vec4(0.0); + vec4 R4f = vec4(0.0); + vec4 R5f = vec4(0.0); + vec4 R6f = vec4(0.0); + vec4 R7f = vec4(0.0); + vec4 R123f = vec4(0.0); + float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; + float PV0fx = 0.0, PV0fy = 0.0, PV0fz = 0.0, PV0fw = 0.0, PV1fx = 0.0, PV1fy = 0.0, PV1fz = 0.0, PV1fw = 0.0; + float PS0f = 0.0, PS1f = 0.0; + vec4 tempf = vec4(0.0); + float tempResultf; + int tempResulti; + ivec4 ARi = ivec4(0); + bool predResult = true; + R0f = GET_FRAGCOORD(); + + + // 0 + R7f.x = R0f.x * intBitsToFloat(0x3b088889); + R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); + + // 1 + R0f.x = R7f.x; + R0f.y = R7f.y + intBitsToFloat(0x3b72b9d6); + R1f.z = R7f.x; + R1f.y = R7f.y + intBitsToFloat(0xbb72b9d6); + + // 2 + R2f.x = R7f.x; + R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6); + R4f.z = R7f.x; + R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6); + R3f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.z,R1f.y),0.0).xyzw); + R2f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); + + // 0 + PV0fx = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); + PV0fy = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); + PV0fz = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.x); + PV0fw = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.w); + R0f.y = R7f.y + intBitsToFloat(0x3c360b60); + + // 1 + R123f.x = mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0fx; + R123f.y = mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0fw; + R123f.z = mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0fz; + R123f.w = mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0fy; + R0f.x = R7f.x; + + // 2 + backupReg0f = R123f.y; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + backupReg0f; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + R123f.w; + R1f.y = R7f.y + intBitsToFloat(0xbc360b60); + + // 3 + backupReg0f = R2f.z; + R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + R123f.y; + R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + R123f.x; + R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + R123f.z; + R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + R123f.w; + R1f.x = R7f.x; + + // 4 + R2f.x = R7f.x; + R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6); + R6f.z = R7f.x; + R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6); + R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.z,R4f.y),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R2f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R3f.y; + R3f.y = R7f.y + intBitsToFloat(0x3c97b426); + + // 1 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + backupReg0f; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + R123f.w; + R3f.x = R7f.x; + + // 2 + backupReg0f = R123f.y; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + R123f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + backupReg0f; + R1f.y = R7f.y + intBitsToFloat(0xbc97b426); + + // 3 + R0f.x = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + R123f.y; + R0f.y = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + R123f.x; + R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + R123f.z; + R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + R123f.w; + R1f.x = R7f.x; + + // 4 + R5f.x = R7f.x; + R5f.y = R7f.y + intBitsToFloat(0x3cb60b60); + R4f.z = R7f.x; + R4f.y = R7f.y + intBitsToFloat(0xbcb60b60); + R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.z,R6f.y),0.0).xyzw); + R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.y; + R0f.y = R7f.y + intBitsToFloat(0x3cd4629b); + + // 1 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + R123f.w; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + backupReg0f; + R0f.x = R7f.x; + + // 2 + backupReg0f = R123f.y; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + backupReg0f; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + R123f.w; + R1f.y = R7f.y + intBitsToFloat(0xbcd4629b); + + // 3 + backupReg0f = R2f.z; + R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + R123f.y; + R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + R123f.x; + R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + R123f.z; + R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + R123f.w; + R1f.x = R7f.x; + + // 4 + R2f.x = R7f.x; + R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6); + R6f.z = R7f.x; + R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6); + R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.z,R4f.y),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R2f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R3f.y; + R3f.y = R7f.y + intBitsToFloat(0x3d088888); + + // 1 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + backupReg0f; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + R123f.w; + R3f.x = R7f.x; + + // 2 + backupReg0f = R123f.y; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + R123f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + backupReg0f; + R1f.y = R7f.y + intBitsToFloat(0xbd088888); + + // 3 + R0f.x = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + R123f.y; + R0f.y = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + R123f.x; + R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + R123f.z; + R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + R123f.w; + R1f.x = R7f.x; + + // 4 + R5f.x = R7f.x; + R5f.y = R7f.y + intBitsToFloat(0x3d17b426); + R4f.z = R7f.x; + R4f.y = R7f.y + intBitsToFloat(0xbd17b426); + R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.z,R6f.y),0.0).xyzw); + R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.y; + R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3); + + // 1 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + R123f.w; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + backupReg0f; + R0f.x = R7f.x; + + // 2 + backupReg0f = R123f.y; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + backupReg0f; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + R123f.w; + R7f.y = R7f.y + intBitsToFloat(0xbd26dfc3); + + // 3 + backupReg0f = R2f.z; + R2f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.x) + R123f.y; + R2f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.y) + R123f.x; + R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + R123f.z; + R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + R123f.w; + R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.z,R4f.y),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R7f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R2f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R2f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.y; + + // 1 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + backupReg0f; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + R123f.w; + + // 2 + R7f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.x) + R123f.y; + R7f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.y) + R123f.w; + R7f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.z) + R123f.z; + R7f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.w) + R123f.x; + + // export + passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); +} diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt new file mode 100644 index 000000000..8bd8f11a6 --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt @@ -0,0 +1,454 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + + +// shader c612390d4c70f430: blurs bloom horizontal + + +#ifdef VULKAN + #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) + +#else + #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) + #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) + +#endif + +#ifdef VULKAN + layout(set = 1, binding = 1) uniform ufBlock + { + uniform ivec4 uf_remappedPS[5]; + uniform vec4 uf_fragCoordScale; + }; + +#else + uniform ivec4 uf_remappedPS[5]; + uniform vec2 uf_fragCoordScale; + +#endif + +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) out vec4 passPixelColor0; + + +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} + + +void main() +{ + vec4 R0f = vec4(0.0); + vec4 R1f = vec4(0.0); + vec4 R2f = vec4(0.0); + vec4 R3f = vec4(0.0); + vec4 R4f = vec4(0.0); + vec4 R5f = vec4(0.0); + vec4 R6f = vec4(0.0); + vec4 R7f = vec4(0.0); + vec4 R123f = vec4(0.0); + float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; + float PV0fx = 0.0, PV0fy = 0.0, PV0fz = 0.0, PV0fw = 0.0, PV1fx = 0.0, PV1fy = 0.0, PV1fz = 0.0, PV1fw = 0.0; + float PS0f = 0.0, PS1f = 0.0; + vec4 tempf = vec4(0.0); + float tempResultf; + int tempResulti; + ivec4 ARi = ivec4(0); + bool predResult = true; + R0f = GET_FRAGCOORD(); + + + // 0 + R7f.x = R0f.x * intBitsToFloat(0x3b088889); + R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); + + // 1 + R0f.x = R7f.x + intBitsToFloat(0x3b088889); + R0f.y = R7f.y; + R1f.z = R7f.y; + R1f.x = R7f.x + intBitsToFloat(0xbb088889); + + // 2 + R2f.x = R7f.x + intBitsToFloat(0x3b888889); + R2f.y = R7f.y; + R4f.z = R7f.y; + R4f.x = R7f.x + intBitsToFloat(0xbb888889); + R3f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.z),0.0).xyzw); + R2f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); + + // 0 + PV0fx = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); + PV0fy = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); + PV0fz = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.x); + PV0fw = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.w); + R0f.x = R7f.x + intBitsToFloat(0x3bccccce); + + // 1 + R123f.x = mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0fw; + R123f.y = mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0fy; + R123f.z = mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0fz; + R123f.w = mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0fx; + R0f.y = R7f.y; + + // 2 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + backupReg0f; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + R123f.w; + R1f.x = R7f.x + intBitsToFloat(0xbbccccce); + + // 3 + R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + R123f.z; + R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + R123f.y; + R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.z) + R123f.w; + R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + R123f.x; + R1f.y = R7f.y; + + // 4 + R2f.x = R7f.x + intBitsToFloat(0x3c088889); + R2f.y = R7f.y; + R6f.z = R7f.y; + R6f.x = R7f.x + intBitsToFloat(0xbc088889); + R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R3f.x; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R2f.w; + R3f.x = R7f.x + intBitsToFloat(0x3c2aaaab); + + // 1 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + R123f.y; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + R123f.w; + R3f.y = R7f.y; + + // 2 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + R123f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + backupReg0f; + R1f.x = R7f.x + intBitsToFloat(0xbc2aaaab); + + // 3 + R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + R123f.x; + R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + R123f.y; + R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + R123f.z; + R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + R123f.w; + R1f.y = R7f.y; + + // 4 + R5f.x = R7f.x + intBitsToFloat(0x3c4cccce); + R5f.y = R7f.y; + R4f.z = R7f.y; + R4f.x = R7f.x + intBitsToFloat(0xbc4cccce); + R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); + R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.x; + R0f.x = R7f.x + intBitsToFloat(0x3c6eeef0); + + // 1 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + R123f.w; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + R123f.y; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + backupReg0f; + R0f.y = R7f.y; + + // 2 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + backupReg0f; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + R123f.w; + R1f.x = R7f.x + intBitsToFloat(0xbc6eeef0); + + // 3 + R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + R123f.z; + R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + R123f.y; + R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.z) + R123f.w; + R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + R123f.x; + R1f.y = R7f.y; + + // 4 + R2f.x = R7f.x + intBitsToFloat(0x3c888889); + R2f.y = R7f.y; + R6f.z = R7f.y; + R6f.x = R7f.x + intBitsToFloat(0xbc888889); + R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R3f.x; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R2f.w; + R3f.x = R7f.x + intBitsToFloat(0x3c99999a); + + // 1 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + R123f.y; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + R123f.w; + R3f.y = R7f.y; + + // 2 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + R123f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + backupReg0f; + R1f.x = R7f.x + intBitsToFloat(0xbc99999a); + + // 3 + R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + R123f.x; + R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + R123f.y; + R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + R123f.z; + R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + R123f.w; + R1f.y = R7f.y; + + // 4 + R5f.x = R7f.x + intBitsToFloat(0x3caaaaab); + R5f.y = R7f.y; + R4f.z = R7f.y; + R4f.x = R7f.x + intBitsToFloat(0xbcaaaaab); + R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); + R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.x; + R0f.x = R7f.x + intBitsToFloat(0x3cbbbbbc); + + // 1 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + R123f.w; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + R123f.y; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + backupReg0f; + R0f.y = R7f.y; + + // 2 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + backupReg0f; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + R123f.w; + R1f.x = R7f.x + intBitsToFloat(0xbcbbbbbc); + + // 3 + R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + R123f.z; + R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.x) + R123f.y; + R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.z) + R123f.w; + R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.y) + R123f.x; + R1f.y = R7f.y; + + // 4 + R2f.x = R7f.x + intBitsToFloat(0x3cccccce); + R2f.y = R7f.y; + R6f.z = R7f.y; + R6f.x = R7f.x + intBitsToFloat(0xbcccccce); + R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R3f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R3f.x; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.w; + R3f.x = R7f.x + intBitsToFloat(0x3cdddddf); + + // 1 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + R123f.y; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + R123f.w; + R3f.y = R7f.y; + + // 2 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.w) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.z) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.y) + R123f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.x) + backupReg0f; + R1f.x = R7f.x + intBitsToFloat(0xbcdddddf); + + // 3 + R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[3].x)) + R123f.x; + R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[3].x)) + R123f.y; + R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[3].x)) + R123f.z; + R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[3].x)) + R123f.w; + R1f.y = R7f.y; + + // 4 + R5f.x = R7f.x + intBitsToFloat(0x3ceeeef0); + R5f.y = R7f.y; + R4f.z = R7f.y; + R4f.x = R7f.x + intBitsToFloat(0xbceeeef0); + R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); + R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.z) + R0f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.y) + R5f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.x) + R5f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.w) + R0f.x; + R0f.x = R7f.x + 0.03125; + + // 1 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.w) + R123f.w; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.y) + R123f.y; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.x) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.z) + backupReg0f; + R0f.y = R7f.y; + + // 2 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.y) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.x) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.w) + backupReg0f; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.z) + R123f.w; + R1f.x = R7f.x + -0.03125; + + // 3 + R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.w) + R123f.z; + R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.x) + R123f.y; + R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.z) + R123f.w; + R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.y) + R123f.x; + R1f.y = R7f.y; + + // 4 + R2f.x = R7f.x + intBitsToFloat(0x3d088889); + R2f.y = R7f.y; + R6f.z = R7f.y; + R6f.x = R7f.x + intBitsToFloat(0xbd088889); + R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.x) + R3f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.w) + R3f.x; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.z) + R2f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.y) + R2f.w; + R3f.x = R7f.x + intBitsToFloat(0x3d111112); + + // 1 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.x) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.w) + R123f.y; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.z) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.y) + R123f.w; + R3f.y = R7f.y; + + // 2 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.w) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.z) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.y) + R123f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.x) + backupReg0f; + R1f.x = R7f.x + intBitsToFloat(0xbd111112); + + // 3 + R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[4].x)) + R123f.x; + R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[4].x)) + R123f.y; + R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[4].x)) + R123f.z; + R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[4].x)) + R123f.w; + R1f.y = R7f.y; + + // 4 + R5f.x = R7f.x + intBitsToFloat(0x3d19999a); + R5f.y = R7f.y; + R4f.z = R7f.y; + R4f.x = R7f.x + intBitsToFloat(0xbd19999a); + R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); + R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); + R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); + R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.z) + R0f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.y) + R5f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.x) + R5f.w; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.w) + R0f.x; + R0f.x = R7f.x + intBitsToFloat(0x3d222223); + + // 1 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.w) + R123f.w; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.y) + R123f.y; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.x) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.z) + backupReg0f; + R0f.y = R7f.y; + + // 2 + backupReg0f = R123f.x; + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.y) + R123f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.x) + R123f.z; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.w) + backupReg0f; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.z) + R123f.w; + R7f.x = R7f.x + intBitsToFloat(0xbd222223); + + // 3 + backupReg0f = R2f.x; + backupReg1f = R2f.y; + R2f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R2f.w) + R123f.z; + R2f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg0f) + R123f.y; + R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R2f.z) + R123f.w; + R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg1f) + R123f.x; + R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); + R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); + R7f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); + + // 0 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.x) + R2f.y; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.w) + R2f.x; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.z) + R2f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.y) + R2f.w; + + // 1 + R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.x) + R123f.x; + R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.w) + R123f.y; + R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.z) + R123f.z; + R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.y) + R123f.w; + + // 2 + R7f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.x) + R123f.x; + R7f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.y) + R123f.w; + R7f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.z) + R123f.z; + R7f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.w) + R123f.y; + + // export + passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); +} diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/rules.txt b/src/TwilightPrincessHD/Enhancements/Bloom/rules.txt new file mode 100644 index 000000000..acc4c21ba --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Bloom/rules.txt @@ -0,0 +1,434 @@ +[Definition] +titleIds = 000500001019C800,000500001019E600,000500001019E500 +name = Bloom (Glow) and Shadow World Color Grading +path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Bloom" +description = This pack allows you to adjust bloom and color grading in the shadow world.||It's not recommended to fully disable bloom, as it removes the intended tone of the game.|Bloom is particularly strong in the shadow world with a strong yellow tint, but is also used in the normal world.||Color grading only affects the shadow world. By default, the game darkens and desaturates the image in the shadow world to further distinguish it. +#Credits: KoB-Kirito +version = 7 + + +[Default] +$bloom_custom = 0 +$bloom_enabled = 1 +$bloom_strength = 1.0 +#$bloom_blur_strength = 1.0 +$bloom_tint_strength = 1.0 +$shadow_world_custom = 0 +$shadow_world_darkening = 1.0 +$shadow_world_desaturation = 1.0 + + +# Bloom presets for dummies + +[Preset] +category = Bloom +name = Very High (Default) +$bloom_custom = 0 +$bloom_strength = 1.0 +#$bloom_blur_strength = 1.0 +$bloom_tint_strength = 1.0 + +[Preset] +category = Bloom +name = High +$bloom_custom = 0 +$bloom_strength = 0.8 +#$bloom_blur_strength = 0.8 +$bloom_tint_strength = 0.8 + +[Preset] +category = Bloom +name = Balanced (Recommended) +$bloom_custom = 0 +$bloom_strength = 0.5 +#$bloom_blur_strength = 0.5 +$bloom_tint_strength = 0.8 + +[Preset] +category = Bloom +name = Low +$bloom_custom = 0 +$bloom_strength = 0.4 +#$bloom_blur_strength = 0.2 +$bloom_tint_strength = 0.9 + +[Preset] +category = Bloom +name = Very Low +$bloom_custom = 0 +$bloom_strength = 0.2 +#$bloom_blur_strength = 0.2 +$bloom_tint_strength = 0.9 + +[Preset] +category = Bloom +name = Custom +$bloom_custom = 1 + + +# Overall Bloom Strength (6e2f31b2b2fcab1f) + +[Preset] +category = Bloom Strength +name = 0% (Disables bloom entirely, not recommended) +condition = $bloom_custom +$bloom_enabled = 0 +$bloom_strength = 0.0 + +[Preset] +category = Bloom Strength +name = 10% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 0.1 + +[Preset] +category = Bloom Strength +name = 20% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 0.2 + +[Preset] +category = Bloom Strength +name = 30% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 0.3 + +[Preset] +category = Bloom Strength +name = 40% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 0.4 + +[Preset] +category = Bloom Strength +name = 50% (Recommended) +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 0.5 + +[Preset] +category = Bloom Strength +name = 60% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 0.6 + +[Preset] +category = Bloom Strength +name = 70% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 0.7 + +[Preset] +category = Bloom Strength +name = 80% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 0.8 + +[Preset] +category = Bloom Strength +name = 90% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 0.9 + +[Preset] +category = Bloom Strength +name = 100% (Default) +default = 1 +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 1.0 + +[Preset] +category = Bloom Strength +name = 110% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 1.1 + +[Preset] +category = Bloom Strength +name = 120% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 1.2 + +[Preset] +category = Bloom Strength +name = 150% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 1.5 + +[Preset] +category = Bloom Strength +name = 200% +condition = $bloom_custom +$bloom_enabled = 1 +$bloom_strength = 2.0 + + +## Blur Strength (ToDo) +## Strength of the periodic blur would be most useful, some people feel nausatiated by it +## Would recommend to set bloom higher with this reduced +## Didn't figure out the shader yet. Most likely better solved via ASM +# +#[Preset] +#category = Periodic Bloom Blur +#name = 0% (Bloom will stay static) +#condition = $bloom_enabled +#$bloom_blur_strength = 0.0 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 10% +#condition = $bloom_enabled +#$bloom_blur_strength = 0.1 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 20% +#condition = $bloom_enabled +#$bloom_blur_strength = 0.2 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 30% +#condition = $bloom_enabled +#$bloom_blur_strength = 0.3 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 40% +#condition = $bloom_enabled +#$bloom_blur_strength = 0.4 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 50% (Recommended) +#condition = $bloom_enabled +#$bloom_blur_strength = 0.5 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 60% +#condition = $bloom_enabled +#$bloom_blur_strength = 0.6 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 70% +#condition = $bloom_enabled +#$bloom_blur_strength = 0.7 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 80% +#condition = $bloom_enabled +#$bloom_blur_strength = 0.8 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 90% +#condition = $bloom_enabled +#$bloom_blur_strength = 0.9 +# +#[Preset] +#category = Periodic Bloom Blur +#name = 100% (Native) +#condition = $bloom_enabled +#default = 1 +#$bloom_blur_strength = 1.0 + + +# Area Specific Bloom Tint (49865bd2e62efda1) + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 0% (Same white bloom color everywhere) +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.0 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 10% +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.1 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 20% +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.2 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 30% +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.3 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 40% +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.4 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 50% +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.5 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 60% +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.6 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 70% +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.7 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 80% (Recommended) +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.8 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 90% +condition = $bloom_enabled + $bloom_custom > 1 +$bloom_tint_strength = 0.9 + +[Preset] +category = Area-Specific Bloom Tint Strength +name = 100% (Default) +condition = $bloom_enabled + $bloom_custom > 1 +default = 1 +$bloom_tint_strength = 1.0 + + + +# Shadow world color grading presets for dummies + +[Preset] +category = Shadow World Color Grading +name = Very Dark (Default) +default = 1 +$shadow_world_custom = 0 +$shadow_world_darkening = 1.0 +$shadow_world_desaturation = 1.0 + +[Preset] +category = Shadow World Color Grading +name = Dark +$shadow_world_custom = 0 +$shadow_world_darkening = 0.75 +$shadow_world_desaturation = 0.75 + +[Preset] +category = Shadow World Color Grading +name = Balanced +$shadow_world_custom = 0 +$shadow_world_darkening = 0.5 +$shadow_world_desaturation = 0.5 + +[Preset] +category = Shadow World Color Grading +name = Bright (Recommended) +$shadow_world_custom = 0 +$shadow_world_darkening = 0.25 +$shadow_world_desaturation = 0.5 + +[Preset] +category = Shadow World Color Grading +name = Very Bright +$shadow_world_custom = 0 +$shadow_world_darkening = 0.0 +$shadow_world_desaturation = 0.5 + +[Preset] +category = Shadow World Color Grading +name = Custom +$shadow_world_custom = 1 + + +# Shadow World Brightness (49865bd2e62efda1) +# the alpha of the bloom color tint in the shadow world is used to darken the image +# this is separated, because it is not affected by bloom strength at all + +[Preset] +category = Shadow World Brightness +name = 60% (Default) +default = 1 +condition = $shadow_world_custom +$shadow_world_darkening = 1.0 + +[Preset] +category = Shadow World Brightness +name = 70% +condition = $shadow_world_custom +$shadow_world_darkening = 0.75 + +[Preset] +category = Shadow World Brightness +name = 80% +condition = $shadow_world_custom +$shadow_world_darkening = 0.5 + +[Preset] +category = Shadow World Brightness +name = 90% (Recommended) +condition = $shadow_world_custom +$shadow_world_darkening = 0.25 + +[Preset] +category = Shadow World Brightness +name = 100% (Shadow world as bright as normal world) +condition = $shadow_world_custom +$shadow_world_darkening = 0.0 + + +# Shadow World Color Desaturation (5f422bf63e25be7f) +# a custom shader is used exclusivly in the shadow world to desaturate its colors + +[Preset] +category = Shadow World Saturation +name = 60% (Default) +default = 1 +condition = $shadow_world_custom +$shadow_world_desaturation = 1.0 + +[Preset] +category = Shadow World Saturation +name = 70% +condition = $shadow_world_custom +$shadow_world_desaturation = 0.75 + +[Preset] +category = Shadow World Saturation +name = 80% (Recommended) +condition = $shadow_world_custom +$shadow_world_desaturation = 0.5 + +[Preset] +category = Shadow World Saturation +name = 90% +condition = $shadow_world_custom +$shadow_world_desaturation = 0.25 + +[Preset] +category = Shadow World Saturation +name = 100% (Shadow world as saturated as normal world) +condition = $shadow_world_custom +$shadow_world_desaturation = 0.0 diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt new file mode 100644 index 000000000..657f88be3 --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt @@ -0,0 +1,245 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader c14019840473ff86 +// start of shader inputs/outputs, predetermined by Cemu. Do not touch +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +// end of shader inputs/outputs + +const float hazeFactor = 0.1; +const float gamma = $gamma; // 1.0 is neutral Botw is already colour graded at this stage +const float exposure = $exposure; // 1.0 is neutral +const float vibrance = $vibrance; // 0.0 is neutral +const float crushContrast = $crushContrast; // 0.0 is neutral. Use small increments, loss of shadow detail +const float contrastCurve = $contrastCurve; + +vec3 RGB_Lift = vec3($redShadows, $greenShadows , $blueSadows); // [0.000 to 2.000] Adjust shadows for Red, Green and Blue. +vec3 RGB_Gamma = vec3($redMid ,$greenMid, $blueMid); // [0.000 to 2.000] Adjust midtones for Red, Green and Blue +vec3 RGB_Gain = vec3($redHilight, $greenHilight, $blueHilight); // [0.000 to 2.000] Adjust highlights for Red, Green and Blue +//lumasharpen +const float sharp_mix = $sharp_mix; +const float sharp_strength = 2.0; +const float sharp_clamp = 0.75; +const float offset_bias = 1.0; +float Sigmoid (float x) { + + return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5))); +} + + +#define px (1.0/1920.0*uf_fragCoordScale.x) +#define py (1.0/1080.0*uf_fragCoordScale.y) +#define CoefLuma vec3(0.2126, 0.7152, 0.0722) + +float lumasharping(sampler2D tex, vec2 pos) { + vec4 colorInput = texture(tex, pos); + + vec3 ori = colorInput.rgb; + + // -- Combining the strength and luma multipliers -- + vec3 sharp_strength_luma = (CoefLuma * sharp_strength); + + // -- Gaussian filter -- + // [ .25, .50, .25] [ 1 , 2 , 1 ] + // [ .50, 1, .50] = [ 2 , 4 , 2 ] + // [ .25, .50, .25] [ 1 , 2 , 1 ] + + vec3 blur_ori = texture(tex, pos + vec2(px, -py) * 0.5 * offset_bias).rgb; // South East + blur_ori += texture(tex, pos + vec2(-px, -py) * 0.5 * offset_bias).rgb; // South West + blur_ori += texture(tex, pos + vec2(px, py) * 0.5 * offset_bias).rgb; // North East + blur_ori += texture(tex, pos + vec2(-px, py) * 0.5 * offset_bias).rgb; // North West + + blur_ori *= 0.25; // ( /= 4) Divide by the number of texture fetches + + // -- Calculate the sharpening -- + vec3 sharp = ori - blur_ori; //Subtracting the blurred image from the original image + + // -- Adjust strength of the sharpening and clamp it-- + vec4 sharp_strength_luma_clamp = vec4(sharp_strength_luma * (0.5 / sharp_clamp), 0.5); //Roll part of the clamp into the dot + + float sharp_luma = clamp((dot(vec4(sharp, 1.0), sharp_strength_luma_clamp)), 0.0, 1.0); //Calculate the luma, adjust the strength, scale up and clamp + sharp_luma = (sharp_clamp * 2.0) * sharp_luma - sharp_clamp; //scale down + + return sharp_luma; +} + +vec3 LiftGammaGainPass(vec3 colorInput) +{ //reshade BSD https://reshade.me , Alexkiri port + vec3 color = colorInput; + color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5; + color = clamp(color, 0.0, 1.0); + color *= RGB_Gain; + color = pow(color, 1.0 / RGB_Gamma); + return clamp(color, 0.0, 1.0); +} + +vec3 contrasty(vec3 colour){ + vec3 fColour = (colour.xyz); +//fColour = LiftGammaGainPass(fColour); + + fColour = clamp(exposure * fColour, 0.0, 1.0); + fColour = pow(fColour, vec3(1.0 / gamma)); + float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; + float mn = min(min(fColour.r, fColour.g), fColour.b); + float mx = max(max(fColour.r, fColour.g), fColour.b); + float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; + vec3 lightness = vec3((mn + mx) / 2.0); + fColour = LiftGammaGainPass(fColour); +// vibrance + fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); + fColour = max(vec3(0.0), fColour - vec3(crushContrast)); + return fColour; +} + +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float scaleRes = uf_fragCoordScale.x; +R0f = passParameterSem0; +R0f.w = (textureGather(textureUnitPS1, R0f.xy).y); +// 0 +R1f.x = R0f.x + intBitsToFloat(0xba088889); +R1f.y = R0f.y + intBitsToFloat(0xba72b9d6); +R2f.z = R0f.x; +R2f.y = R0f.y + intBitsToFloat(0xba72b9d6); +PS0f = R2f.y; +// 1 +R3f.x = R0f.x + intBitsToFloat(0xba088889); +R3f.y = R0f.y; +R1f.xyzw = (textureGather(textureUnitPS1, R1f.xy).xyzw); +R2f.yz = (textureGather(textureUnitPS1, R2f.zy).yz); +R3f.xy = (textureGather(textureUnitPS1, R3f.xy).xy); +// 0 +PV0f.x = R2f.z + R3f.x; +PV0f.y = R1f.w + R0f.w; +PV0f.z = R1f.z + R3f.y; +PV0f.w = R1f.x + R2f.y; +// 1 +R123f.x = (R1f.y * 2.0 + -(PV0f.x)); +PV1f.x = R123f.x; +R123f.y = (R1f.y * 2.0 + -(PV0f.y)); +PV1f.y = R123f.y; +R123f.z = (R1f.y * 2.0 + -(PV0f.z)); +PV1f.z = R123f.z; +R123f.w = (R1f.y * 2.0 + -(PV0f.w)); +PV1f.w = R123f.w; +// 2 +PV0f.x = max(PV1f.x, -(PV1f.x)); +PV0f.y = max(PV1f.y, -(PV1f.y)); +PV0f.z = max(PV1f.z, -(PV1f.z)); +PV0f.w = max(PV1f.w, -(PV1f.w)); +// 3 +PV1f.x = PV0f.x + intBitsToFloat(0xb400d959); +PV1f.y = PV0f.y + intBitsToFloat(0xb400d959); +PV1f.z = PV0f.z + intBitsToFloat(0xb400d959); +PV1f.w = PV0f.w + intBitsToFloat(0xb400d959); +// 4 +R123f.x = intBitsToFloat(((PV1f.w >= 0.0)?(floatBitsToInt(1.0)):(0))); +PV0f.x = R123f.x; +R123f.y = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); +PV0f.y = R123f.y; +R123f.z = intBitsToFloat(((PV1f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); +PV0f.z = R123f.z; +R123f.w = intBitsToFloat(((PV1f.x >= 0.0)?(floatBitsToInt(1.0)):(0))); +PV0f.w = R123f.w; +// 5 +tempf.x = dot(vec4(PV0f.x,PV0f.y,PV0f.z,PV0f.w),vec4(0.25,0.25,0.25,0.25)); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +// 6 +R127f.z = PV1f.x * intBitsToFloat(0x3f400000)* scaleRes; +PV0f.z = R127f.z; +// 7 +R1f.x = (PV0f.z * intBitsToFloat(0xba088889) * scaleRes + R0f.x); +R1f.y = R0f.y; +R2f.z = R0f.x; +R2f.y = (PV0f.z * intBitsToFloat(0xba72b9d6) * scaleRes + R0f.y); +PS1f = R2f.y; +// 8 +R3f.x = (R127f.z * intBitsToFloat(0x3a088889) * scaleRes + R0f.x); +R3f.y = R0f.y; +R0f.w = (R127f.z * intBitsToFloat(0x3a72b9d6) * scaleRes + R0f.y); +R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); +R2f.xyzw = (texture(textureUnitPS0, R2f.zy).xyzw); +R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); +R0f.xyzw = (texture(textureUnitPS0, R0f.xw).xyzw); +// 0 +PV0f.x = R1f.w + R2f.w; +PV0f.y = R1f.z + R2f.z; +PV0f.z = R1f.y + R2f.y; +PV0f.w = R1f.x + R2f.x; +// 1 +PV1f.x = R3f.w + PV0f.x; +PV1f.y = R3f.z + PV0f.y; +PV1f.z = R3f.y + PV0f.z; +PV1f.w = R3f.x + PV0f.w; +// 2 +backupReg0f = R0f.y; +backupReg1f = R0f.x; +PV0f.x = R0f.w + PV1f.x; +PV0f.y = R0f.z + PV1f.y; +PV0f.z = backupReg0f + PV1f.z; +PV0f.w = backupReg1f + PV1f.w; +// 3 +R0f.x = PV0f.w * 0.25; +R0f.y = PV0f.z * 0.25; +R0f.z = PV0f.y * 0.25; +R0f.w = PV0f.x * 0.25; +// export + +R0f.xyz = contrasty(R0f.xyz); +R0f.xyz = mix(R0f.xyz, smoothstep(0.0, 1.0, R0f.xyz), contrastCurve); +float smask = lumasharping(textureUnitPS0, passParameterSem0.xy); +vec3 temp3 = R0f.xyz; +R0f.xyz = mix(R0f.xyz, (temp3.xyz += (smask)), sharp_mix); + +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +} diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/rules.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/rules.txt new file mode 100644 index 000000000..bb5bb8a24 --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/rules.txt @@ -0,0 +1,208 @@ +[Definition] +titleIds = 000500001019C800,000500001019E600,000500001019E500 +name = Contrasty +path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Contrasty" +description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.|Made by getdls. +#Credits: getdls +version = 6 + +[Default] +$redShadows = 1.0 +$greenShadows = 1.0 +$blueSadows = 1.0 +$redMid = 1.0 +$greenMid = 1.0 +$blueMid = 1.0 +$redHilight = 1.0 +$greenHilight =1.0 +$blueHilight = 1.0 + +$contrastCurve = 0.0 +$hazeFactor = 1.0 +# $bloom = 1.0 +$gamma = 1.0 +$exposure = 1.0 +$vibrance = 0.0 +$crushContrast = 0.0 +# $bleach = 1.0 +$sharp_mix = 0.0 + +[Preset] +name = default + +[Preset] # Preserve original washed out look, but balances bloom white point towards neutral +name = Neutral Hi-lights +$redShadows = 1.0 +$greenShadows = 1.0 #1.01 +$blueSadows = 1.01 #1.02 +$redMid = 0.98 +$greenMid = 0.99 +$blueMid = 1.01 +$redHilight = 1.0 +$greenHilight = 1.01 #.86 +$blueHilight = 1.15 + +$contrastCurve = 0.0 +$hazeFactor = 0.1 +# $bloom = 1.0 +$gamma = 1.0 +$exposure = 1.0 +$vibrance = 0.25 +$crushContrast = 0.0 +# $bleach = 0.85 +$sharp_mix = 0.0 + +[Preset] #Warm and washed out light-sources and bloom, original look "enhanced". +name = Warm glow +$redShadows = 1.0 +$greenShadows = 1.0 +$blueSadows = 1.0 +$redMid = 0.98 +$greenMid = 0.98 +$blueMid = 1.0 +$redHilight = 1.0 +$greenHilight =1.0 +$blueHilight = 1.0 + +$contrastCurve = 0.5 +$hazeFactor = 0.71 +# $bloom = 0.85 +$gamma = 1.1 +$exposure = 1.07 +$vibrance = 0.15 +$crushContrast = 0.00 +# $bleach = 0.85 +$sharp_mix = 0.05 + +[Preset] # Colourful midway between original and cold +name = Warm / Colorful +$redShadows = 0.96 +$greenShadows = 0.97 +$blueSadows = 1.01 +$redMid = 0.94 +$greenMid = 0.96 +$blueMid = 1.01 +$redHilight = 0.97 +$greenHilight = 0.99 +$blueHilight = 1.01 + +$contrastCurve = 0.25 +$hazeFactor = 0.1 +# $bloom = 1.0 +$gamma = 1.075 +$exposure = 1.01 +$vibrance = 0.55 +$crushContrast = 0.0 +# $bleach = 0.85 +$sharp_mix = 0.05 + +[Preset] #Neutral/cold white point, light and shadows interplay, caves are dark. Some discoloration of multi layer fx +name = Cold +$redShadows = 0.99 #0.99 +$greenShadows = 1.0 # 1.0 +$blueSadows = 1.0 #1.0 #1.01 +$redMid = 0.88 #0.87 +$greenMid = 0.925 #0.9 #0.88 +$blueMid = 1.0 +$redHilight = 1.0 +$greenHilight = 1.01 #.86 +$blueHilight = 1.11 #1.14 + +$contrastCurve = 0.25 +$hazeFactor = 0.1 + +$gamma = 1.025 +$exposure = 1.025 +$vibrance = 0.48 +$crushContrast = 0.0 +# $bleach = 0.875 +$sharp_mix = 0.00 + +[Preset] #Warm colour palette, light and shadows interplay, caves are dark. +name = Warm contrast crush +$redShadows = 1.0 #1.02 #0.99 +$greenShadows = 1.0 #1.05 # 1.0 +$blueSadows = 0.98 #1.0 #1.01 +$redMid = 0.96 #0.87 +$greenMid = 1.04 #0.9 #0.88 +$blueMid = 1.10 +$redHilight = 0.99 +$greenHilight = 0.99 #.86 +$blueHilight = 1.05 #1.14 + +$contrastCurve = 0.75 +$hazeFactor = 0.1 +# $bloom = 0.975 +$gamma = 1.03 +$exposure = 1.01 +$vibrance = 0.25 +$crushContrast = 0.0 +# $bleach = 0.875 +$sharp_mix = 0.00 + +[Preset] #Neutral/cold white point, light and shadows interplay, caves are dark. Some discoloration of multi layer fx +name = Cold contrast crush +$redShadows = 1.01 #1.02 #0.99 +$greenShadows = 1.03 #1.05 # 1.0 +$blueSadows = 1.04 #1.0 #1.01 +$redMid = 0.99 #0.87 +$greenMid = 1.06 #0.9 #0.88 +$blueMid = 1.12 +$redHilight = 0.98 +$greenHilight = 0.97 #.86 +$blueHilight = 1.08 #1.14 + +$contrastCurve = 0.75 +$hazeFactor = 0.1 +# $bloom = 0.975 +$gamma = 1.01 +$exposure = 1.01 +$vibrance = 0.29 +$crushContrast = 0.0 +# $bleach = 0.875 +$sharp_mix = 0.00 + +[Preset] #Neutral/cold white point, light and shadows interplay, caves are dark. Some discoloration of multi layer fx +name = Cold contrast preserve highlights +$redShadows = 1.01 #1.02 #0.99 +$greenShadows = 1.02 #1.05 # 1.0 +$blueSadows = 1.04 #1.0 #1.01 +$redMid = 0.97 #0.87 +$greenMid = 1.06 #0.9 #0.88 +$blueMid = 1.14 +$redHilight = 0.98 +$greenHilight = 0.97 #.86 +$blueHilight = 1.09 #1.14 + +$contrastCurve = 0.25 +$hazeFactor = 0.1 +# $bloom = 0.975 +$gamma = 0.75 +$exposure = 1.125 +$vibrance = 0.35 +$crushContrast = 0.0 +# $bleach = 0.875 +$sharp_mix = 0.00 + + +[Preset] # jff +name = Skyward Swordish +$redShadows = 0.95 +$greenShadows = 0.95 +$blueSadows = 1.0 +$redMid = 0.95 +$greenMid = 0.97 +$blueMid = 1.04 +$redHilight = 0.99 +$greenHilight =1.0 +$blueHilight = 1.01 + +$contrastCurve = 0.95 +$hazeFactor = 0.71 +# $bloom = 0.85 +$gamma = 1.25 +$exposure = 1.1 +$vibrance = 1.25 +$crushContrast = 0.00 +# $bleach = 0.85 +$sharp_mix = 0.05 diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt new file mode 100644 index 000000000..9151073a9 --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt @@ -0,0 +1,82 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 49865bd2e62efda1 +//dark world bloom + +const float bloom = $bloom; +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +// uf_fragCoordScale was moved to the ufBlock +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R0f.xyz = (textureLod(textureUnitPS0, R0f.xy,0.0).xyz)*bloom; +// 0 +backupReg0f = R0f.y; +backupReg1f = R0f.x; +PV0f.x = mul_nonIEEE(R0f.z, intBitsToFloat(uf_remappedPS[0].z)); +PV0f.y = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[0].y)); +PV0f.z = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedPS[0].x)); +PV0f.w = intBitsToFloat(uf_remappedPS[0].w); +// 1 +PV1f.x = max(PV0f.w, 0.0); +PV1f.y = max(PV0f.x, 0.0); +PV1f.z = max(PV0f.y, 0.0); +PV1f.w = max(PV0f.z, 0.0); +// 2 +R0f.x = min(PV1f.w, 1.0); +R0f.y = min(PV1f.z, 1.0); +R0f.z = min(PV1f.y, 1.0); +R0f.w = min(PV1f.x, 1.0); +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +} diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt new file mode 100644 index 000000000..c65e1a0ea --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt @@ -0,0 +1,88 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 5f422bf63e25be7f // Bleach pass cutscene + +const float bleach = $bleach; + +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +// uf_fragCoordScale was moved to the ufBlock +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem1; +R0f.w = (texture(textureUnitPS0, R0f.xy).x); +// 0 +PV0f.x = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); +PV0f.w = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); +R1f.w = intBitsToFloat(uf_remappedPS[0].w); +R1f.w = clamp(R1f.w, 0.0, 1.0); +PS0f = R1f.w; +// 1 +PV1f.x = fract(PV0f.w); +PV1f.y = fract(PV0f.x); +PV1f.w = fract(PV0f.z); +// 2 +PV0f.x = PV1f.w * intBitsToFloat(0x3f808081); +PV0f.y = PV1f.x * intBitsToFloat(0x3f808081); +PV0f.z = PV1f.y * intBitsToFloat(0x3f808081); +// 3 +R1f.x = mul_nonIEEE(R0f.w, PV0f.z); +R1f.x = clamp(R1f.x, 0.0, 1.0); +R1f.y = mul_nonIEEE(R0f.w, PV0f.y); +R1f.y = clamp(R1f.y, 0.0, 1.0); +R1f.z = mul_nonIEEE(R0f.w, PV0f.x); +R1f.z = clamp(R1f.z, 0.0, 1.0); +// export +passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w) * bleach; +} diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt new file mode 100644 index 000000000..550f670d3 --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt @@ -0,0 +1,367 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 95a5a89d62998e0d + +// blur +const float bloom = $bloom; + +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) out vec4 passPixelColor0; +// uf_fragCoordScale was moved to the ufBlock +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R6f = vec4(0.0); +vec4 R7f = vec4(0.0); +vec4 R123f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +float scaler; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = GET_FRAGCOORD(); +scaler = uf_fragCoordScale.x; +// 0 +R7f.x = R0f.x * intBitsToFloat(0x3b088889); +PV0f.x = R7f.x; +R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); +PV0f.y = R7f.y; +// 1 +R0f.x = PV0f.x; +R0f.y = PV0f.y + intBitsToFloat(0x3b72b9d6) * scaler; +R1f.z = PV0f.x; +R1f.y = PV0f.y + intBitsToFloat(0xbb72b9d6) * scaler; +PS1f = R1f.y; +// 2 +R2f.x = R7f.x; +R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6) * scaler; +R4f.z = R7f.x; +R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6) * scaler; +PS0f = R4f.y; +R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.zy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +backupReg0f = R0f.x; +backupReg1f = R0f.w; +PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); +PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); +PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f); +PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f); +R0f.y = R7f.y + intBitsToFloat(0x3c360b60) * scaler; +PS0f = R0f.y; +// 1 +R123f.x = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.x); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.w); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.y); +PV1f.w = R123f.w; +R0f.x = R7f.x; +PS1f = R0f.x; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + PV1f.y); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R1f.y = R7f.y + intBitsToFloat(0xbc360b60) * scaler; +PS0f = R1f.y; +// 3 +backupReg0f = R2f.z; +R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + PV0f.y); +R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + PV0f.x); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + PV0f.z); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + PV0f.w); +R1f.x = R7f.x; +PS1f = R1f.x; +// 4 +R2f.x = R7f.x; +R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6) * scaler; +R6f.z = R7f.x; +R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6) * scaler; +PS0f = R6f.y; +R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R2f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R3f.y); +PV0f.w = R123f.w; +R3f.y = R7f.y + intBitsToFloat(0x3c97b426) * scaler; +PS0f = R3f.y; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + PV0f.x); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +R3f.x = R7f.x; +PS1f = R3f.x; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + PV1f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + PV1f.y); +PV0f.w = R123f.w; +R1f.y = R7f.y + intBitsToFloat(0xbc97b426) * scaler; +PS0f = R1f.y; +// 3 +R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.y); +R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.x); +R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.z); +R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.w); +R1f.x = R7f.x; +PS1f = R1f.x; +// 4 +R5f.x = R7f.x; +R5f.y = R7f.y + intBitsToFloat(0x3cb60b60) * scaler; +R4f.z = R7f.x; +R4f.y = R7f.y + intBitsToFloat(0xbcb60b60) * scaler; +PS0f = R4f.y; +R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); +R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.y); +PV0f.w = R123f.w; +R0f.y = R7f.y + intBitsToFloat(0x3cd4629b) * scaler; +PS0f = R0f.y; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + PV0f.w); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + PV0f.x); +PV1f.w = R123f.w; +R0f.x = R7f.x; +PS1f = R0f.x; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + PV1f.y); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R1f.y = R7f.y + intBitsToFloat(0xbcd4629b) * scaler; +PS0f = R1f.y; +// 3 +backupReg0f = R2f.z; +R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + PV0f.y); +R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + PV0f.x); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + PV0f.z); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + PV0f.w); +R1f.x = R7f.x; +PS1f = R1f.x; +// 4 +R2f.x = R7f.x; +R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6) * scaler; +R6f.z = R7f.x; +R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6) * scaler; +PS0f = R6f.y; +R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R2f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R3f.y); +PV0f.w = R123f.w; +R3f.y = R7f.y + intBitsToFloat(0x3d088888) * scaler; +PS0f = R3f.y; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + PV0f.x); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +R3f.x = R7f.x; +PS1f = R3f.x; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + PV1f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + PV1f.y); +PV0f.w = R123f.w; +R1f.y = R7f.y + intBitsToFloat(0xbd088888) * scaler; +PS0f = R1f.y; +// 3 +R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.y); +R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.x); +R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.z); +R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.w); +R1f.x = R7f.x; +PS1f = R1f.x; +// 4 +R5f.x = R7f.x; +R5f.y = R7f.y + intBitsToFloat(0x3d17b426) * scaler; +R4f.z = R7f.x; +R4f.y = R7f.y + intBitsToFloat(0xbd17b426) * scaler; +PS0f = R4f.y; +R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); +R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.y); +PV0f.w = R123f.w; +R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3) * scaler; +PS0f = R0f.y; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + PV0f.w); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + PV0f.x); +PV1f.w = R123f.w; +R0f.x = R7f.x; +PS1f = R0f.x; +// 2 +backupReg0f = R7f.y; +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + PV1f.y); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R7f.y = backupReg0f + intBitsToFloat(0xbd26dfc3) * scaler; +PS0f = R7f.y; +// 3 +backupReg0f = R2f.x; +backupReg1f = R2f.y; +backupReg2f = R2f.z; +R2f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + PV0f.y); +R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg1f) + PV0f.x); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + PV0f.z); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg2f) + PV0f.w); +R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R2f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R2f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.y); +PV0f.w = R123f.w; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + PV0f.x); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +// 2 +backupReg0f = R7f.x; +backupReg1f = R7f.y; +backupReg2f = R7f.z; +backupReg3f = R7f.w; +R7f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg0f) + PV1f.y); +R7f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg1f) + PV1f.w); +R7f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg2f) + PV1f.z); +R7f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg3f) + PV1f.x); +// export +passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w)* bloom; +} diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt new file mode 100644 index 000000000..29ab6dbf5 --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt @@ -0,0 +1,130 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader e334517825fdd599 +//water, sun, fog. +uniform vec2 uf_fragCoordScale; + +const float hazeFactor = 0.1; + +const float gamma = $gamma; // 1.0 is neutral Botw is already colour graded at this stage +const float exposure = $exposure; // 1.0 is neutral +const float vibrance = $vibrance; // 0.0 is neutral +const float crushContrast = $crushContrast; // 0.0 is neutral. Use small increments, loss of shadow detail +const float contrastCurve = $contrastCurve; + + +vec3 RGB_Lift = vec3($redShadows, $greenShadows , $blueSadows); // [0.000 to 2.000] Adjust shadows for Red, Green and Blue. +vec3 RGB_Gamma = vec3($redMid ,$greenMid, $blueMid); // [0.000 to 2.000] Adjust midtones for Red, Green and Blue +vec3 RGB_Gain = vec3($redHilight, $greenHilight, $blueHilight); // [0.000 to 2.000] Adjust highlights for Red, Green and Blue +//lumasharpen +const float sharp_mix = $sharp_mix; +const float sharp_strength = 2.0; +const float sharp_clamp = 0.75; +const float offset_bias = 1.0; +float Sigmoid (float x) { + + return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5))); +} + + +#define px (1.0/1920.0*uf_fragCoordScale.x) +#define py (1.0/1080.0*uf_fragCoordScale.y) +#define CoefLuma vec3(0.2126, 0.7152, 0.0722) + +float lumasharping(sampler2D tex, vec2 pos) { + vec4 colorInput = texture(tex, pos); + + vec3 ori = colorInput.rgb; + + // -- Combining the strength and luma multipliers -- + vec3 sharp_strength_luma = (CoefLuma * sharp_strength); + + // -- Gaussian filter -- + // [ .25, .50, .25] [ 1 , 2 , 1 ] + // [ .50, 1, .50] = [ 2 , 4 , 2 ] + // [ .25, .50, .25] [ 1 , 2 , 1 ] + + vec3 blur_ori = texture(tex, pos + vec2(px, -py) * 0.5 * offset_bias).rgb; // South East + blur_ori += texture(tex, pos + vec2(-px, -py) * 0.5 * offset_bias).rgb; // South West + blur_ori += texture(tex, pos + vec2(px, py) * 0.5 * offset_bias).rgb; // North East + blur_ori += texture(tex, pos + vec2(-px, py) * 0.5 * offset_bias).rgb; // North West + + blur_ori *= 0.25; // ( /= 4) Divide by the number of texture fetches + + // -- Calculate the sharpening -- + vec3 sharp = ori - blur_ori; //Subtracting the blurred image from the original image + + // -- Adjust strength of the sharpening and clamp it-- + vec4 sharp_strength_luma_clamp = vec4(sharp_strength_luma * (0.5 / sharp_clamp), 0.5); //Roll part of the clamp into the dot + + float sharp_luma = clamp((dot(vec4(sharp, 1.0), sharp_strength_luma_clamp)), 0.0, 1.0); //Calculate the luma, adjust the strength, scale up and clamp + sharp_luma = (sharp_clamp * 2.0) * sharp_luma - sharp_clamp; //scale down + + return sharp_luma; +} + +vec3 LiftGammaGainPass(vec3 colorInput) +{ //reshade BSD https://reshade.me , Alexkiri port + vec3 color = colorInput; + color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5; + color = clamp(color, 0.0, 1.0); + color *= RGB_Gain; + color = pow(color, 1.0 / RGB_Gamma); + return clamp(color, 0.0, 1.0); +} + +vec3 contrasty(vec3 colour){ + vec3 fColour = (colour.xyz); +//fColour = LiftGammaGainPass(fColour); + + fColour = clamp(exposure * fColour, 0.0, 1.0); + fColour = pow(fColour, vec3(1.0 / gamma)); + float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; + float mn = min(min(fColour.r, fColour.g), fColour.b); + float mx = max(max(fColour.r, fColour.g), fColour.b); + float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; + vec3 lightness = vec3((mn + mx) / 2.0); + fColour = LiftGammaGainPass(fColour); +// vibrance + fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); + fColour = max(vec3(0.0), fColour - vec3(crushContrast)); + return fColour; +} + + + +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; + +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +// export +R0f.xyz = contrasty(R0f.xyz); +//R0f.xyz = mix(R0f.xyz, smoothstep(0.0, 1.0, R0f.xyz), 0.25); //contrast difference between heat haze and sky + +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +} diff --git a/src/TwilightPrincessHD/Enhancements/NegativeLOD/rules.txt b/src/TwilightPrincessHD/Enhancements/NegativeLOD/rules.txt new file mode 100644 index 000000000..dff68c774 --- /dev/null +++ b/src/TwilightPrincessHD/Enhancements/NegativeLOD/rules.txt @@ -0,0 +1,68 @@ +[Definition] +titleIds = 000500001019C800,000500001019E600,000500001019E500 +name = Level of detail +path = "The Legend of Zelda: Twilight Princess HD/Enhancements/Negative Texture LOD" +description = Sharper textures at risk of shimmering when set too high.|Made by getdls. +#Credits: getdls +version = 6 + +[Default] +$0x031 = 0 +$0x033 = 0 +$0x034 = 0 +$0x035 = 0 +$0x01a = 0 + +[Preset] +name = LOD +2 (Simulate WiiU LOD on higher resolution) +$0x031 = +2 +$0x033 = +2 +$0x034 = +2 +$0x035 = +2 +$0x01a = 0 + +[Preset] +name = LOD Default + +[Preset] +name = LOD -0.5 (Sharper) +$0x031 = -.5 +$0x033 = -.5 +$0x034 = -.5 +$0x035 = -.5 +$0x01a = -.5 +[Preset] +name = LOD -1 (Super Sharp) +$0x031 = -1 +$0x033 = -1 +$0x034 = -1 +$0x035 = -1 +$0x01a = -1 + +[Preset] +name = LOD -4 (Overkill - For screenshots) +$0x031 = -4 +$0x033 = -4 +$0x034 = -4 +$0x035 = -4 +$0x01a = -4 + +[TextureRedefine] +formats = 0x031 #0x431,0x432,0x433,0x434,0x435 not used. +overwriteRelativeLodBias = $0x031 + +[TextureRedefine]#Per format, possible to have separate scaling if needed +formats = 0x033 +overwriteRelativeLodBias = $0x033 + +[TextureRedefine] +formats = 0x034 +overwriteRelativeLodBias = $0x034 + +[TextureRedefine] +formats = 0x035 +overwriteRelativeLodBias = $0x035 + +[TextureRedefine] +formats = 0x01a +overwriteRelativeLodBias = $0x01a diff --git a/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt new file mode 100644 index 000000000..058f6744c --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt @@ -0,0 +1,150 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 15e4acf324eb0912 missing +//map mission objectives missing +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; + +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem1; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +// skipped unused attribute for r5 +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R1f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R0f.x = 0.0; +PS0f = R0f.x; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R3f.x = R2f.x; +PS1f = R3f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R3f.y = R2f.y; +PS0f = R3f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +R3f.z = R127f.w; +PS1f = R3f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +// skipped export to semanticId 255 +// export +passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +// export +passParameterSem2 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt new file mode 100644 index 000000000..595742a82 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt @@ -0,0 +1,149 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 18893ce415f2fcc7 +//Map icon position +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem1; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +// skipped unused attribute for r8 +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R1f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R0f.x = 0.0; +PS0f = R0f.x; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R3f.x = R2f.x; +PS1f = R3f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R3f.y = R2f.y; +PS0f = R3f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +R3f.z = R127f.w; +PS1f = R3f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +// skipped export to semanticId 255 +// export +passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +// export +passParameterSem2 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt new file mode 100644 index 000000000..d794bead2 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt @@ -0,0 +1,159 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 1caed2ca3d14f36b +//object box bg 2 + +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[10]; +}; +#else +uniform ivec4 uf_remappedVS[10]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem1; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R127f.w = R1f.w; +PS0f = R127f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R2f.z = 1.0; +PS1f = R2f.z; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +PS0f = 1.0; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R3f.z = PS0f; +PS1f = R3f.z; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// 7 +R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); +R0f.w = intBitsToFloat(uf_remappedVS[7].w); +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// 0 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.z),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R3f.x = PV0f.x; +PS1f = R3f.x; +// 2 +R3f.y = PV1f.x; +// export +passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt new file mode 100644 index 000000000..aef93a0fd --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt @@ -0,0 +1,148 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 24b09ef9b11b98d5 +//UI text front +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +const float UItransp = $UItransp; + +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem1; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R2f.x = R3f.x; +PS0f = R2f.x; +// 3 +R3f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R3f.x; +PV1f.y = R3f.x; +PV1f.z = R3f.x; +PV1f.w = R3f.x; +R2f.y = R3f.y; +PS1f = R2f.y; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R3f.y = tempf.x; +R2f.z = R127f.w; +PS0f = R2f.z; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R3f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R3f.w = tempf.x; +// export +SET_POSITION(vec4(R3f.x*UIx, R3f.y*UIy, R3f.z, R3f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w*UItransp); +// export +passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt new file mode 100644 index 000000000..13c9480f5 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt @@ -0,0 +1,197 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 27b429c755f71162 +//Map arrows +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[11]; +}; +#else +uniform ivec4 uf_remappedVS[11]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +layout(location = 2) out vec4 passParameterSem3; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R127f.w = R2f.w; +PS0f = R127f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R0f.z = 1.0; +PS1f = R0f.z; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R126f.z = tempf.x; +R127f.z = 1.0; +PS0f = R127f.z; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R126f.w = 1.0; +PS1f = R126f.w; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R126f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +R0f.y = 0.0; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R126f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +R4f.z = R127f.z; +PS1f = R4f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R126f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +R5f.z = R126f.w; +PS0f = R5f.z; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +// skipped export to semanticId 255 +// 0 +backupReg0f = R0f.z; +backupReg0f = R0f.z; +tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +// 1 +backupReg0f = R0f.z; +backupReg0f = R0f.z; +tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R4f.x = PV0f.x; +PS1f = R4f.x; +// 2 +backupReg0f = R0f.z; +backupReg0f = R0f.z; +tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R4f.y = PV1f.x; +PS0f = R4f.y; +// 3 +backupReg0f = R0f.z; +backupReg0f = R0f.z; +tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R5f.x = PV0f.x; +PS1f = R5f.x; +// 4 +R5f.y = PV1f.x; +// export +passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +// export +passParameterSem3 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt new file mode 100644 index 000000000..1641106bb --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt @@ -0,0 +1,165 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 4f5f72f9eec53a90 +//BG box 3 +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[9]; +}; +#else +uniform ivec4 uf_remappedVS[9]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R3f.z = 1.0; +PS1f = R3f.z; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R127f.w = 1.0; +PS0f = R127f.w; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R0f.z = 0.0; +PS1f = R0f.z; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +R4f.z = R127f.w; +PS0f = R4f.z; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +// skipped export to semanticId 255 +// 0 +tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +// 1 +tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R4f.x = PV0f.x; +PS1f = R4f.x; +// 2 +R4f.y = PV1f.x; +// export +passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt new file mode 100644 index 000000000..4072c18b5 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt @@ -0,0 +1,146 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 5f2ae4dbd2256d0c +//minimap +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem1; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +// skipped unused attribute for r8 +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R1f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R3f.x = 0.0; +PS0f = R3f.x; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R0f.x = R2f.x; +PS1f = R0f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R0f.y = R2f.y; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +R0f.z = R127f.w; +PS1f = R0f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt new file mode 100644 index 000000000..6af264e64 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt @@ -0,0 +1,153 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 6dc0977212eae7b3 +//hearts +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +const float UItransp = $UItransp; + +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R4f.x = 0.0; +PS0f = R4f.x; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R0f.x = R3f.x; +PS1f = R0f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +R0f.y = R3f.y; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +R0f.z = R127f.w; +PS1f = R0f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w*UItransp); +// export +passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt new file mode 100644 index 000000000..f47f111f6 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt @@ -0,0 +1,165 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 70e776430cd020a9 +//box bg 5 +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[10]; +}; +#else +uniform ivec4 uf_remappedVS[10]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R1f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R3f.z = 1.0; +PS1f = R3f.z; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R127f.w = 1.0; +PS0f = R127f.w; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R2f.z = 0.0; +PS1f = R2f.z; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R4f.z = R127f.w; +PS0f = R4f.z; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// 7 +R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); +R0f.w = intBitsToFloat(uf_remappedVS[7].w); +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +// 0 +tempf.x = dot(vec4(R2f.x,R2f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R4f.x = PV0f.x; +PS1f = R4f.x; +// 2 +R4f.y = PV1f.x; +// export +passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt new file mode 100644 index 000000000..4e3dbef8c --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt @@ -0,0 +1,165 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 7674f1be5f1b1e0c +//object box BG +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[9]; +}; +#else +uniform ivec4 uf_remappedVS[9]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R3f.z = 1.0; +PS1f = R3f.z; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R127f.w = 1.0; +PS0f = R127f.w; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R0f.z = 0.0; +PS1f = R0f.z; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +R4f.z = R127f.w; +PS0f = R4f.z; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +// skipped export to semanticId 255 +// 0 +tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +// 1 +tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R4f.x = PV0f.x; +PS1f = R4f.x; +// 2 +R4f.y = PV1f.x; +// export +passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt new file mode 100644 index 000000000..5689b250f --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt @@ -0,0 +1,152 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 7c5a0f2532be049f +//Map highlight +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; + +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R4f.x = 0.0; +PS0f = R4f.x; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R0f.x = R3f.x; +PS1f = R0f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +R0f.y = R3f.y; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +R0f.z = R127f.w; +PS1f = R0f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt new file mode 100644 index 000000000..690d5f373 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt @@ -0,0 +1,158 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 7fc573264230ed00 +//lights bloom sensor +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[10]; +}; +#else +uniform ivec4 uf_remappedVS[10]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem1; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R127f.w = R1f.w; +PS0f = R127f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R2f.z = 1.0; +PS1f = R2f.z; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +PS0f = 1.0; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R3f.z = PS0f; +PS1f = R3f.z; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// 7 +R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); +R0f.w = intBitsToFloat(uf_remappedVS[7].w); +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// 0 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.z),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R3f.x = PV0f.x; +PS1f = R3f.x; +// 2 +R3f.y = PV1f.x; +// export +passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt new file mode 100644 index 000000000..6ef497b32 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt @@ -0,0 +1,164 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 827afe113fd67658 +//lamp oil indicator +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; + +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[9]; +}; +#else +uniform ivec4 uf_remappedVS[9]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem1; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R127f.w = R2f.w; +PS0f = R127f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R0f.z = 1.0; +PS1f = R0f.z; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +PS0f = 1.0; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R4f.z = PS0f; +PS1f = R4f.z; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// 0 +backupReg0f = R0f.z; +backupReg0f = R0f.z; +tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +// 1 +backupReg0f = R0f.z; +backupReg0f = R0f.z; +tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R4f.x = PV0f.x; +PS1f = R4f.x; +// 2 +R4f.y = PV1f.x; +// export +passParameterSem1 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt new file mode 100644 index 000000000..4f7eaf6c5 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt @@ -0,0 +1,147 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 85b15b7fe92662bb +//map dungeon BG +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; + +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem1; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +// skipped unused attribute for r5 +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R1f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R3f.x = 0.0; +PS0f = R3f.x; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R0f.x = R2f.x; +PS1f = R0f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R0f.y = R2f.y; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +R0f.z = R127f.w; +PS1f = R0f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt b/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt new file mode 100644 index 000000000..4630beef9 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt @@ -0,0 +1,364 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 95a5a89d62998e0d +// blur +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[3]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) out vec4 passPixelColor0; +// uf_fragCoordScale was moved to the ufBlock +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R6f = vec4(0.0); +vec4 R7f = vec4(0.0); +vec4 R123f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +float scaler; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = GET_FRAGCOORD(); +scaler = uf_fragCoordScale.x; +// 0 +R7f.x = R0f.x * intBitsToFloat(0x3b088889); +PV0f.x = R7f.x; +R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); +PV0f.y = R7f.y; +// 1 +R0f.x = PV0f.x; +R0f.y = PV0f.y + intBitsToFloat(0x3b72b9d6) * scaler; +R1f.z = PV0f.x; +R1f.y = PV0f.y + intBitsToFloat(0xbb72b9d6) * scaler; +PS1f = R1f.y; +// 2 +R2f.x = R7f.x; +R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6) * scaler; +R4f.z = R7f.x; +R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6) * scaler; +PS0f = R4f.y; +R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.zy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +backupReg0f = R0f.x; +backupReg1f = R0f.w; +PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); +PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); +PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f); +PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f); +R0f.y = R7f.y + intBitsToFloat(0x3c360b60) * scaler; +PS0f = R0f.y; +// 1 +R123f.x = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.x); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.w); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.y); +PV1f.w = R123f.w; +R0f.x = R7f.x; +PS1f = R0f.x; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + PV1f.y); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R1f.y = R7f.y + intBitsToFloat(0xbc360b60) * scaler; +PS0f = R1f.y; +// 3 +backupReg0f = R2f.z; +R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + PV0f.y); +R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + PV0f.x); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + PV0f.z); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + PV0f.w); +R1f.x = R7f.x; +PS1f = R1f.x; +// 4 +R2f.x = R7f.x; +R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6) * scaler; +R6f.z = R7f.x; +R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6) * scaler; +PS0f = R6f.y; +R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R2f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R3f.y); +PV0f.w = R123f.w; +R3f.y = R7f.y + intBitsToFloat(0x3c97b426) * scaler; +PS0f = R3f.y; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + PV0f.x); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +R3f.x = R7f.x; +PS1f = R3f.x; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + PV1f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + PV1f.y); +PV0f.w = R123f.w; +R1f.y = R7f.y + intBitsToFloat(0xbc97b426) * scaler; +PS0f = R1f.y; +// 3 +R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.y); +R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.x); +R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.z); +R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.w); +R1f.x = R7f.x; +PS1f = R1f.x; +// 4 +R5f.x = R7f.x; +R5f.y = R7f.y + intBitsToFloat(0x3cb60b60) * scaler; +R4f.z = R7f.x; +R4f.y = R7f.y + intBitsToFloat(0xbcb60b60) * scaler; +PS0f = R4f.y; +R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); +R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.y); +PV0f.w = R123f.w; +R0f.y = R7f.y + intBitsToFloat(0x3cd4629b) * scaler; +PS0f = R0f.y; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + PV0f.w); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + PV0f.x); +PV1f.w = R123f.w; +R0f.x = R7f.x; +PS1f = R0f.x; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + PV1f.y); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R1f.y = R7f.y + intBitsToFloat(0xbcd4629b) * scaler; +PS0f = R1f.y; +// 3 +backupReg0f = R2f.z; +R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + PV0f.y); +R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + PV0f.x); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + PV0f.z); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + PV0f.w); +R1f.x = R7f.x; +PS1f = R1f.x; +// 4 +R2f.x = R7f.x; +R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6) * scaler; +R6f.z = R7f.x; +R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6) * scaler; +PS0f = R6f.y; +R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R2f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R3f.y); +PV0f.w = R123f.w; +R3f.y = R7f.y + intBitsToFloat(0x3d088888) * scaler; +PS0f = R3f.y; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + PV0f.x); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +R3f.x = R7f.x; +PS1f = R3f.x; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + PV1f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + PV1f.y); +PV0f.w = R123f.w; +R1f.y = R7f.y + intBitsToFloat(0xbd088888) * scaler; +PS0f = R1f.y; +// 3 +R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.y); +R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.x); +R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.z); +R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.w); +R1f.x = R7f.x; +PS1f = R1f.x; +// 4 +R5f.x = R7f.x; +R5f.y = R7f.y + intBitsToFloat(0x3d17b426) * scaler; +R4f.z = R7f.x; +R4f.y = R7f.y + intBitsToFloat(0xbd17b426) * scaler; +PS0f = R4f.y; +R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); +R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.y); +PV0f.w = R123f.w; +R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3) * scaler; +PS0f = R0f.y; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + PV0f.w); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + PV0f.x); +PV1f.w = R123f.w; +R0f.x = R7f.x; +PS1f = R0f.x; +// 2 +backupReg0f = R7f.y; +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + PV1f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + PV1f.y); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R7f.y = backupReg0f + intBitsToFloat(0xbd26dfc3) * scaler; +PS0f = R7f.y; +// 3 +backupReg0f = R2f.x; +backupReg1f = R2f.y; +backupReg2f = R2f.z; +R2f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + PV0f.y); +R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg1f) + PV0f.x); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + PV0f.z); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg2f) + PV0f.w); +R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R2f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R2f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.y); +PV0f.w = R123f.w; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + PV0f.x); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +// 2 +backupReg0f = R7f.x; +backupReg1f = R7f.y; +backupReg2f = R7f.z; +backupReg3f = R7f.w; +R7f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg0f) + PV1f.y); +R7f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg1f) + PV1f.w); +R7f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg2f) + PV1f.z); +R7f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg3f) + PV1f.x); +// export +passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/TPHD_Readme.md b/src/TwilightPrincessHD/Graphics/TPHD_Readme.md new file mode 100644 index 000000000..371318933 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/TPHD_Readme.md @@ -0,0 +1,48 @@ +------ +### TLoZ Twilight Princess HD +------ +### Graphic options + +3840x4320 vert x2 SSAA - Runs the game at double vertical res balancing look and performance when super sampling. Run full screen scaling in stretched and bilinear when activating this option. + +0.5 Sub scaling - Runs transparances and blur at half resolution, slight performance improvement (in higher resolutions). + +UI 25% transp - Dims static GUI elements, making them slightly transparent. Reduces chance of burn in when using Oled or plasma display. + + +### Nice to know when creating a custom resolution + +There are some issues with AO and light sources, to mitigate this some “sub” viewports need to scale evenly. XCX uses a similar approach to get smooth shadow transitions. + +Example: +``` +[Preset] +name = 3440x1440 (21:9) +$width = 3440 +$height = 1440 +$gameWidth= 1920 +$gameHeight= 1080 +$lightSource = 1.5 +$scaleShader = (2560.0/3440.0) +$aspectRatio = (43.0/18.0) +``` + +Base resolution is 2560x1440 -> Uw patch res 3440 + +AO needs to be 2160 = 1440 * $lightSource = 1.5 + +We then need to scale back ultrawide to original aspect for all viewports using AO / light sources + +2560 = 3440 *$scaleShader (2560.0/3440.0) + +``` +[TextureRedefine] +width = 1024 +height = 544 +formats = 0x001 +overwriteWidth = ($width/$gameWidth) * (1024*$lightSource*$scaleShader) +overwriteHeight = ($height/$gameHeight) * (544*$lightSource) +``` +![21:9](TP21_9.jpg) + + diff --git a/src/TwilightPrincessHD/Graphics/_cac95df4d2d6f5b8_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/_cac95df4d2d6f5b8_0000000000000000_vs.txt new file mode 100644 index 000000000..e48ddfeeb --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/_cac95df4d2d6f5b8_0000000000000000_vs.txt @@ -0,0 +1,102 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable +// shader cac95df4d2d6f5b8 +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +//uncomment to remove pillarbox +uniform ivec4 uf_remappedVS[8]; +layout(location = 0) in uvec4 attrDataSem0; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R127f.w = R1f.w; +PS0f = R127f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// 7 +//R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); +R0f.w = intBitsToFloat(uf_remappedVS[7].w); +// export +//gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt new file mode 100644 index 000000000..591e88228 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt @@ -0,0 +1,146 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader acbedb86f89efae4 +//mapscreen bg +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem1; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +// skipped unused attribute for r8 +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R1f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R3f.x = 0.0; +PS0f = R3f.x; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R0f.x = R2f.x; +PS1f = R0f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R0f.y = R2f.y; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +R0f.z = R127f.w; +PS1f = R0f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt new file mode 100644 index 000000000..eadc7a308 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt @@ -0,0 +1,151 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader aebb1e76797684a2 +//UI text bg +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R4f.x = 0.0; +PS0f = R4f.x; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R0f.x = R3f.x; +PS1f = R0f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +R0f.y = R3f.y; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +R0f.z = R127f.w; +PS1f = R0f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt new file mode 100644 index 000000000..f7a8ff282 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt @@ -0,0 +1,165 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader b5241d6db4feef42 +//selection highlight +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[10]; +}; +#else +uniform ivec4 uf_remappedVS[10]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R1f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R3f.z = 1.0; +PS1f = R3f.z; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R127f.w = 1.0; +PS0f = R127f.w; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R2f.z = 0.0; +PS1f = R2f.z; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R4f.z = R127f.w; +PS0f = R4f.z; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// 7 +R0f.xyz = vec3(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z)); +R0f.w = intBitsToFloat(uf_remappedVS[7].w); +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +// 0 +tempf.x = dot(vec4(R2f.x,R2f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R3f.z,R3f.z),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R4f.x = PV0f.x; +PS1f = R4f.x; +// 2 +R4f.y = PV1f.x; +// export +passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt b/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt new file mode 100644 index 000000000..8b6ac98b3 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt @@ -0,0 +1,159 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader c14019840473ff86 +//scale boxblur fx + +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else +uniform vec2 uf_fragCoordScale; +#endif +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float scaler; +R0f = passParameterSem0; +scaler = uf_fragCoordScale.x; +R0f.w = (textureGather(textureUnitPS1, R0f.xy).y); +// 0 +R1f.x = R0f.x + intBitsToFloat(0xba088889); +R1f.y = R0f.y + intBitsToFloat(0xba72b9d6); +R2f.z = R0f.x; +R2f.y = R0f.y + intBitsToFloat(0xba72b9d6); +PS0f = R2f.y; +// 1 +R3f.x = R0f.x + intBitsToFloat(0xba088889); +R3f.y = R0f.y; +R1f.xyzw = (textureGather(textureUnitPS1, R1f.xy).xyzw); +R2f.yz = (textureGather(textureUnitPS1, R2f.zy).yz); +R3f.xy = (textureGather(textureUnitPS1, R3f.xy).xy); +// 0 +PV0f.x = R2f.z + R3f.x; +PV0f.y = R1f.w + R0f.w; +PV0f.z = R1f.z + R3f.y; +PV0f.w = R1f.x + R2f.y; +// 1 +R123f.x = (R1f.y * 2.0 + -(PV0f.x)); +PV1f.x = R123f.x; +R123f.y = (R1f.y * 2.0 + -(PV0f.y)); +PV1f.y = R123f.y; +R123f.z = (R1f.y * 2.0 + -(PV0f.z)); +PV1f.z = R123f.z; +R123f.w = (R1f.y * 2.0 + -(PV0f.w)); +PV1f.w = R123f.w; +// 2 +PV0f.x = max(PV1f.x, -(PV1f.x)); +PV0f.y = max(PV1f.y, -(PV1f.y)); +PV0f.z = max(PV1f.z, -(PV1f.z)); +PV0f.w = max(PV1f.w, -(PV1f.w)); +// 3 +PV1f.x = PV0f.x + intBitsToFloat(0xb400d959); +PV1f.y = PV0f.y + intBitsToFloat(0xb400d959); +PV1f.z = PV0f.z + intBitsToFloat(0xb400d959); +PV1f.w = PV0f.w + intBitsToFloat(0xb400d959); +// 4 +R123f.x = intBitsToFloat(((PV1f.w >= 0.0)?(floatBitsToInt(1.0)):(0))); +PV0f.x = R123f.x; +R123f.y = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); +PV0f.y = R123f.y; +R123f.z = intBitsToFloat(((PV1f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); +PV0f.z = R123f.z; +R123f.w = intBitsToFloat(((PV1f.x >= 0.0)?(floatBitsToInt(1.0)):(0))); +PV0f.w = R123f.w; +// 5 +tempf.x = dot(vec4(PV0f.x,PV0f.y,PV0f.z,PV0f.w),vec4(0.25*scaler,0.25*scaler,0.25*scaler,0.25*scaler)); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +// 6 +R127f.z = PV1f.x * intBitsToFloat(0x3f400000); +PV0f.z = R127f.z; +// 7 +R1f.x = (PV0f.z * intBitsToFloat(0xba088889) + R0f.x); +R1f.y = R0f.y; +R2f.z = R0f.x; +R2f.y = (PV0f.z * intBitsToFloat(0xba72b9d6) + R0f.y); +PS1f = R2f.y; +// 8 +R3f.x = (R127f.z * intBitsToFloat(0x3a088889) + R0f.x); +R3f.y = R0f.y; +R0f.w = (R127f.z * intBitsToFloat(0x3a72b9d6) + R0f.y); +R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); +R2f.xyzw = (texture(textureUnitPS0, R2f.zy).xyzw); +R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); +R0f.xyzw = (texture(textureUnitPS0, R0f.xw).xyzw); +// 0 +PV0f.x = R1f.w + R2f.w; +PV0f.y = R1f.z + R2f.z; +PV0f.z = R1f.y + R2f.y; +PV0f.w = R1f.x + R2f.x; +// 1 +PV1f.x = R3f.w + PV0f.x; +PV1f.y = R3f.z + PV0f.y; +PV1f.z = R3f.y + PV0f.z; +PV1f.w = R3f.x + PV0f.w; +// 2 +backupReg0f = R0f.y; +backupReg1f = R0f.x; +PV0f.x = R0f.w + PV1f.x; +PV0f.y = R0f.z + PV1f.y; +PV0f.z = backupReg0f + PV1f.z; +PV0f.w = backupReg1f + PV1f.w; +// 3 +R0f.x = PV0f.w * 0.25; +R0f.y = PV0f.z * 0.25; +R0f.z = PV0f.y * 0.25; +R0f.w = PV0f.x * 0.25; +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt b/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt new file mode 100644 index 000000000..8671c058e --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt @@ -0,0 +1,567 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader c612390d4c70f430 //cutscene focus n bloom + +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[5]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[5]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) out vec4 passPixelColor0; +// uf_fragCoordScale was moved to the ufBlock +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R6f = vec4(0.0); +vec4 R7f = vec4(0.0); +vec4 R123f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +float scaler; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = GET_FRAGCOORD(); +scaler = uf_fragCoordScale.x; +// 0 +R7f.x = R0f.x * intBitsToFloat(0x3b088889); +PV0f.x = R7f.x; +R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); +PV0f.y = R7f.y; +// 1 +R0f.x = PV0f.x + intBitsToFloat(0x3b088889) * scaler; +R0f.y = PV0f.y; +R1f.z = PV0f.y; +R1f.x = PV0f.x + intBitsToFloat(0xbb088889) * scaler; +PS1f = R1f.x; +// 2 +R2f.x = R7f.x + intBitsToFloat(0x3b888889) * scaler; +R2f.y = R7f.y; +R4f.z = R7f.y; +R4f.x = R7f.x + intBitsToFloat(0xbb888889) * scaler; +PS0f = R4f.x; +R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xz,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +backupReg0f = R0f.y; +backupReg1f = R0f.x; +backupReg2f = R0f.w; +PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); +PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f); +PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f); +PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg2f); +R0f.x = R7f.x + intBitsToFloat(0x3bccccce) * scaler; +PS0f = R0f.x; +// 1 +R123f.x = (mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.w); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.x); +PV1f.w = R123f.w; +R0f.y = R7f.y; +PS1f = R0f.y; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + PV1f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + PV1f.x); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R1f.x = R7f.x + intBitsToFloat(0xbbccccce) * scaler; +PS0f = R1f.x; +// 3 +backupReg0f = R2f.z; +R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + PV0f.z); +R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + PV0f.y); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + PV0f.w); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + PV0f.x); +R1f.y = R7f.y; +PS1f = R1f.y; +// 4 +R2f.x = R7f.x + intBitsToFloat(0x3c088889) * scaler; +R2f.y = R7f.y; +R6f.z = R7f.y; +R6f.x = R7f.x + intBitsToFloat(0xbc088889) * scaler; +PS0f = R6f.x; +R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R3f.x); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.z); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R2f.w); +PV0f.w = R123f.w; +R3f.x = R7f.x + intBitsToFloat(0x3c2aaaab) * scaler; +PS0f = R3f.x; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + PV0f.x); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +R3f.y = R7f.y; +PS1f = R3f.y; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + PV1f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + PV1f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + PV1f.x); +PV0f.w = R123f.w; +R1f.x = R7f.x + intBitsToFloat(0xbc2aaaab) * scaler; +PS0f = R1f.x; +// 3 +R0f.x = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.x); +R0f.y = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.y); +R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.z); +R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.w); +R1f.y = R7f.y; +PS1f = R1f.y; +// 4 +R5f.x = R7f.x + intBitsToFloat(0x3c4cccce) * scaler; +R5f.y = R7f.y; +R4f.z = R7f.y; +R4f.x = R7f.x + intBitsToFloat(0xbc4cccce) * scaler; +PS0f = R4f.x; +R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); +R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.x); +PV0f.w = R123f.w; +R0f.x = R7f.x + intBitsToFloat(0x3c6eeef0) * scaler; +PS0f = R0f.x; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + PV0f.w); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + PV0f.x); +PV1f.w = R123f.w; +R0f.y = R7f.y; +PS1f = R0f.y; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + PV1f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + PV1f.x); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R1f.x = R7f.x + intBitsToFloat(0xbc6eeef0) * scaler; +PS0f = R1f.x; +// 3 +backupReg0f = R2f.z; +R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + PV0f.z); +R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + PV0f.y); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + PV0f.w); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + PV0f.x); +R1f.y = R7f.y; +PS1f = R1f.y; +// 4 +R2f.x = R7f.x + intBitsToFloat(0x3c888889) * scaler; +R2f.y = R7f.y; +R6f.z = R7f.y; +R6f.x = R7f.x + intBitsToFloat(0xbc888889) * scaler; +PS0f = R6f.x; +R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R3f.x); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.z); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R2f.w); +PV0f.w = R123f.w; +R3f.x = R7f.x + intBitsToFloat(0x3c99999a) * scaler; +PS0f = R3f.x; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + PV0f.x); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +R3f.y = R7f.y; +PS1f = R3f.y; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + PV1f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + PV1f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + PV1f.x); +PV0f.w = R123f.w; +R1f.x = R7f.x + intBitsToFloat(0xbc99999a) * scaler; +PS0f = R1f.x; +// 3 +R0f.x = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.x); +R0f.y = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.y); +R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.z); +R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.w); +R1f.y = R7f.y; +PS1f = R1f.y; +// 4 +R5f.x = R7f.x + intBitsToFloat(0x3caaaaab) * scaler; +R5f.y = R7f.y; +R4f.z = R7f.y; +R4f.x = R7f.x + intBitsToFloat(0xbcaaaaab) * scaler; +PS0f = R4f.x; +R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); +R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.x); +PV0f.w = R123f.w; +R0f.x = R7f.x + intBitsToFloat(0x3cbbbbbc) * scaler; +PS0f = R0f.x; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + PV0f.w); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + PV0f.x); +PV1f.w = R123f.w; +R0f.y = R7f.y; +PS1f = R0f.y; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + PV1f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + PV1f.x); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R1f.x = R7f.x + intBitsToFloat(0xbcbbbbbc) * scaler; +PS0f = R1f.x; +// 3 +backupReg0f = R2f.z; +R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + PV0f.z); +R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.x) + PV0f.y); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + PV0f.w); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.y) + PV0f.x); +R1f.y = R7f.y; +PS1f = R1f.y; +// 4 +R2f.x = R7f.x + intBitsToFloat(0x3cccccce) * scaler; +R2f.y = R7f.y; +R6f.z = R7f.y; +R6f.x = R7f.x + intBitsToFloat(0xbcccccce) * scaler; +PS0f = R6f.x; +R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R3f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R3f.x); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.z); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.w); +PV0f.w = R123f.w; +R3f.x = R7f.x + intBitsToFloat(0x3cdddddf) * scaler; +PS0f = R3f.x; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + PV0f.x); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +R3f.y = R7f.y; +PS1f = R3f.y; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.w) + PV1f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.z) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.y) + PV1f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.x) + PV1f.x); +PV0f.w = R123f.w; +R1f.x = R7f.x + intBitsToFloat(0xbcdddddf) * scaler; +PS0f = R1f.x; +// 3 +R0f.x = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[3].x)) + PV0f.x); +R0f.y = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[3].x)) + PV0f.y); +R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[3].x)) + PV0f.z); +R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[3].x)) + PV0f.w); +R1f.y = R7f.y; +PS1f = R1f.y; +// 4 +R5f.x = R7f.x + intBitsToFloat(0x3ceeeef0) * scaler; +R5f.y = R7f.y; +R4f.z = R7f.y; +R4f.x = R7f.x + intBitsToFloat(0xbceeeef0) * scaler; +PS0f = R4f.x; +R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); +R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.z) + R0f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.y) + R5f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.x) + R5f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.w) + R0f.x); +PV0f.w = R123f.w; +R0f.x = R7f.x + intBitsToFloat(0x3d000000) * scaler; +PS0f = R0f.x; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.w) + PV0f.w); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.y) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.x) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.z) + PV0f.x); +PV1f.w = R123f.w; +R0f.y = R7f.y; +PS1f = R0f.y; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.y) + PV1f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.w) + PV1f.x); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R1f.x = R7f.x + intBitsToFloat(0xbd000000) * scaler; +PS0f = R1f.x; +// 3 +backupReg0f = R2f.z; +R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.w) + PV0f.z); +R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.x) + PV0f.y); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),backupReg0f) + PV0f.w); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.y) + PV0f.x); +R1f.y = R7f.y; +PS1f = R1f.y; +// 4 +R2f.x = R7f.x + intBitsToFloat(0x3d088889) * scaler; +R2f.y = R7f.y; +R6f.z = R7f.y; +R6f.x = R7f.x + intBitsToFloat(0xbd088889) * scaler; +PS0f = R6f.x; +R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.x) + R3f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.w) + R3f.x); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.z) + R2f.z); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.y) + R2f.w); +PV0f.w = R123f.w; +R3f.x = R7f.x + intBitsToFloat(0x3d111112) * scaler; +PS0f = R3f.x; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.x) + PV0f.x); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.w) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +R3f.y = R7f.y; +PS1f = R3f.y; +// 2 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.w) + PV1f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.z) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.y) + PV1f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.x) + PV1f.x); +PV0f.w = R123f.w; +R1f.x = R7f.x + intBitsToFloat(0xbd111112) * scaler; +PS0f = R1f.x; +// 3 +R0f.x = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[4].x)) + PV0f.x); +R0f.y = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[4].x)) + PV0f.y); +R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[4].x)) + PV0f.z); +R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[4].x)) + PV0f.w); +R1f.y = R7f.y; +PS1f = R1f.y; +// 4 +R5f.x = R7f.x + intBitsToFloat(0x3d19999a) * scaler; +R5f.y = R7f.y; +R4f.z = R7f.y; +R4f.x = R7f.x + intBitsToFloat(0xbd19999a) * scaler; +PS0f = R4f.x; +R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); +R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); +R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); +R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.z) + R0f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.y) + R5f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.x) + R5f.w); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.w) + R0f.x); +PV0f.w = R123f.w; +R0f.x = R7f.x + intBitsToFloat(0x3d222223) * scaler; +PS0f = R0f.x; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.w) + PV0f.w); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.y) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.x) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.z) + PV0f.x); +PV1f.w = R123f.w; +R0f.y = R7f.y; +PS1f = R0f.y; +// 2 +backupReg0f = R7f.x; +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.y) + PV1f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.x) + PV1f.z); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.w) + PV1f.x); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.z) + PV1f.w); +PV0f.w = R123f.w; +R7f.x = backupReg0f + intBitsToFloat(0xbd222223) * scaler; +PS0f = R7f.x; +// 3 +backupReg0f = R2f.x; +backupReg1f = R2f.z; +backupReg2f = R2f.y; +R2f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R2f.w) + PV0f.z); +R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg0f) + PV0f.y); +R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg1f) + PV0f.w); +R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg2f) + PV0f.x); +R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); +R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); +R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); +// 0 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.x) + R2f.y); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.w) + R2f.x); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.z) + R2f.z); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.y) + R2f.w); +PV0f.w = R123f.w; +// 1 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.x) + PV0f.x); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.w) + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.z) + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.y) + PV0f.w); +PV1f.w = R123f.w; +// 2 +backupReg0f = R7f.x; +backupReg1f = R7f.y; +backupReg2f = R7f.z; +backupReg3f = R7f.w; +R7f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),backupReg0f) + PV1f.x); +R7f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),backupReg1f) + PV1f.w); +R7f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),backupReg2f) + PV1f.z); +R7f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),backupReg3f) + PV1f.y); +// export +passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt new file mode 100644 index 000000000..cebea9f2d --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt @@ -0,0 +1,147 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader ce7aa5fffc34aab0 +//action buttons +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +const float UItransp = $UItransp; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem1; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R2f.x = R3f.x; +PS0f = R2f.x; +// 3 +R3f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R3f.x; +PV1f.y = R3f.x; +PV1f.z = R3f.x; +PV1f.w = R3f.x; +R2f.y = R3f.y; +PS1f = R2f.y; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R3f.y = tempf.x; +R2f.z = R127f.w; +PS0f = R2f.z; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R3f.z = tempf.x; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R3f.w = tempf.x; +// export +SET_POSITION(vec4(R3f.x*UIx, R3f.y*UIy, R3f.z, R3f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w*UItransp); +// export +passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt new file mode 100644 index 000000000..31e387150 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt @@ -0,0 +1,150 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader e9d455979cba2505 +//dungeon objects +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; + +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem1; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +// skipped unused attribute for r5 +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R1f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R0f.x = 0.0; +PS0f = R0f.x; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R3f.x = R2f.x; +PS1f = R3f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R3f.y = R2f.y; +PS0f = R3f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +R3f.z = R127f.w; +PS1f = R3f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +// skipped export to semanticId 255 +// export +passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +// export +passParameterSem2 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt new file mode 100644 index 000000000..f9ca1df5c --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt @@ -0,0 +1,151 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader eec9403a9d54137e +//Map bg middle layer +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R4f.x = 0.0; +PS0f = R4f.x; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R0f.x = R3f.x; +PS1f = R0f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +R0f.y = R3f.y; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +R0f.z = R127f.w; +PS1f = R0f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt new file mode 100644 index 000000000..6cd31ef70 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt @@ -0,0 +1,145 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader f017fcfaf1bd28ab +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; + +//amiibo +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem1; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xy = attrDataSem1.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R1f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R3f.x = 0.0; +PS0f = R3f.x; +// 3 +R1f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R1f.x; +PV1f.y = R1f.x; +PV1f.z = R1f.x; +PV1f.w = R1f.x; +R0f.x = R2f.x; +PS1f = R0f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R0f.y = R2f.y; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R1f.z = tempf.x; +R0f.z = R127f.w; +PS1f = R0f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.w = tempf.x; +// export +SET_POSITION(vec4(R1f.x*UIx, R1f.y*UIy, R1f.z, R1f.w)); +// export +passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt new file mode 100644 index 000000000..ed9f6ebb1 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt @@ -0,0 +1,152 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader f5034fe4aa1fec23 +//map fade +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; + +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R4f.x = 0.0; +PS0f = R4f.x; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R0f.x = R3f.x; +PS1f = R0f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +R0f.y = R3f.y; +PS0f = R0f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +R0f.z = R127f.w; +PS1f = R0f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y*UIy, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +passParameterSem2 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +// skipped export to semanticId 255 +} diff --git a/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt new file mode 100644 index 000000000..a7edb90cc --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt @@ -0,0 +1,154 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader fc148873ef522f50 +// objective shadow +const float UIx = $UIAspectX; +const float UIy = $UIAspectY; +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[7]; +}; +#else +uniform ivec4 uf_remappedVS[7]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 1) out vec4 passParameterSem2; +layout(location = 2) out vec4 passParameterSem3; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); +PV0f.x = R127f.x; +PV0f.y = R127f.x; +PV0f.z = R127f.x; +PV0f.w = R127f.x; +R126f.w = R2f.w; +PS0f = R126f.w; +// 1 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R127f.y = tempf.x; +R127f.w = 1.0; +PS1f = R127f.w; +// 2 +tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +R0f.x = 0.0; +PS0f = R0f.x; +// 3 +R2f.x = dot(vec4(R127f.x,R127f.y,PV0f.x,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); +PV1f.x = R2f.x; +PV1f.y = R2f.x; +PV1f.z = R2f.x; +PV1f.w = R2f.x; +R4f.x = R3f.x; +PS1f = R4f.x; +// 4 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.y = tempf.x; +R4f.y = R3f.y; +PS0f = R4f.y; +// 5 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R2f.z = tempf.x; +R4f.z = R127f.w; +PS1f = R4f.z; +// 6 +tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R2f.w = tempf.x; +// export +SET_POSITION(vec4(R2f.x*UIx, R2f.y, R2f.z, R2f.w)); +// export +passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +// skipped export to semanticId 255 +// export +passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +// export +passParameterSem3 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +} diff --git a/src/TwilightPrincessHD/Graphics/patch_resolution.asm b/src/TwilightPrincessHD/Graphics/patch_resolution.asm new file mode 100644 index 000000000..98794aa02 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/patch_resolution.asm @@ -0,0 +1,8 @@ +[TwilightPrincessHD_Resolution] +moduleMatches = 0x1A03E108, 0xA3175EEA ; v81(EU/NA), v82(JP) +0x1005AAD8 = .float $aspectRatio +_aspectAddr = 0x1006AAD8 +0x028D75B8 = lis r11, _aspectAddr@h +0x028D75C0 = lfs f0, _aspectAddr@l(r11) ; Main 3d Aspect +0x029BB184 = lis r12, _aspectAddr@h +0x029BB188 = lfs f2, _aspectAddr@l(r12) ; may just be the intro zelda graphic diff --git a/src/TwilightPrincessHD/Graphics/rules.txt b/src/TwilightPrincessHD/Graphics/rules.txt new file mode 100644 index 000000000..b27df7011 --- /dev/null +++ b/src/TwilightPrincessHD/Graphics/rules.txt @@ -0,0 +1,1320 @@ +[Definition] +titleIds = 000500001019C800,000500001019E600,000500001019E500 +name = Graphics Settings +path = "The Legend of Zelda: Twilight Princess HD/Graphics" +description = Changes the resolution of the game.|Made by getdls. +#Credits: getdls, NineKain +version = 6 + +[Default] +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 +$anisoLevel = 1 + +# Performance + +[Preset] +category = Resolution +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +category = Resolution +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +category = Resolution +name = 1280x720 +$width = 1280 +$height = 720 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +category = Resolution +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +category = Resolution +name = 1920x1080 (Native) +default = 1 + +# HD Resolutions + +[Preset] +category = Resolution +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 3840x2160 (4k - Native x2) +$width = 3840 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.75 +$internalRes = 0.75 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 0.75 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +# Enthusiast + +[Preset] +category = Resolution +name = 7680x4320 (8k - Native x3) +$width = 7680 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.25 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 0.5 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = -- 21:9 -- resolutions +$width = 2560 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 2560x1080 (21:9 HD) +$width = 2560 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 3440x1440 (21:9) +$width = 3440 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 3440.0 / 1440.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 5120x2160 (21:9) +$width = 5120 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 0.75 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 5120.0 / 2160.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = -- 16:10 -- resolutions +$width = 1440 +$height = 900 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1440.0/900.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1440.0 / 900.0 ) / (1920.0 / 1080.0) +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 1280x800 (16:10) +$width = 1280 +$height = 800 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1280.0/800.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1280.0 / 800.0 ) / (1920.0 / 1080.0) +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 1440x900 (16:10) +$width = 1440 +$height = 900 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1440.0/900.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1440.0 / 900.0 ) / (1920.0 / 1080.0) +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 1680x1050 (16:10) +$width = 1680 +$height = 1050 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1680.0/1050.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1680.0 / 1050.0 ) / (1920.0 / 1080.0) +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 1920x1200 (16:10) +$width = 1920 +$height = 1200 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1920.0/1200.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1920.0 / 1200.0 ) / (1920.0 / 1080.0) +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 2560x1600 (16:10) +$width = 2560 +$height = 1600 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (2560.0/1600.0) +$UIAspectX = 1.0 +$UIAspectY = ( 2560.0 / 1600.0 ) / (1920.0 / 1080.0) +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 2880x1800 (16:10) +$width = 2880 +$height = 1800 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (2880.0/1800.0) +$UIAspectX = 1.0 +$UIAspectY = ( 2880.0 / 1800.0 ) / (1920.0 / 1080.0) +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 3840x2400 (16:10) +$width = 3840 +$height = 2400 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (3840.0/2400.0) +$UIAspectX = 1.0 +$UIAspectY = ( 3840.0 / 2400.0 ) / (1920.0 / 1080.0) +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 5120x3200 (16:10) +$width = 5120 +$height = 3200 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (5120.0/3200.0) +$UIAspectX = 1.0 +$UIAspectY = ( 5120.0 / 3200.0 ) / (1920.0 / 1080.0) +$UItransp = 1.0 + +[Preset] +category = Resolution +name = -- 48:9 -- resolutions +$width = 5760 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (48.0/9.0) +$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 5760x1080 (48:9) +$width = 5760 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (48.0/9.0) +$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 7680x1440 (48:9) +$width = 7680 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 0.70 +$aspectRatio = (48.0/9.0) +$UIAspectX = ( 1920.0 / 1080.0 ) / ( 7680.0 / 1440.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] # Should work fine on a 1070 and fixes most of horizontal shimmering +category = Resolution +name = -- SSAA vert res x2 - Set scaling to Stretch +$width = 1920 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 1920x2160 (Vertical x2) +$width = 1920 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 2560x2880 (Vertical x2 - 0.75 sub scaling) +$width = 2560 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 0.75 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] # +category = Resolution +name = 3840x4320 (Vertical x2 - 0.5 sub scaling) +$width = 3840 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.25 +$scaleShader = 1.0 +$scaleBlur = 1.0 +$internalRes = 0.5 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 2560x2160 (21:9 Vertical x2) +$width = 2560 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 3440x2880 (21:9 Vertical x2 - 0.75 sub scaling) +$width = 3440 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 0.75 # 2880 * 0.75 = 1080 x 2 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 3440.0 / 1440.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = 10240x4320 (21:9 0.5 subscale) +$width = 10240 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 0.5 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 5120.0 / 2160.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + + +[Preset] +category = Resolution +name = 5760x1080 (48:9 Vertical x2 - 0.5 sub scaling) +$width = 5760 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 0.5 +$aspectRatio = (48.0/9.0) +$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 1.0 + +[Preset] +category = Resolution +name = -- UI 25% transparency, reduces risk of burn in -- +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 1920x1080 (Native) - UI 25% transp +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 2560x1440 - UI 25% transp +$width = 2560 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 2732x1536 - UI 25% transp +$width = 2732 +$height = 1536 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 3200x1800 - UI 25% transp +$width = 3200 +$height = 1800 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 3840x2160 (4k - Native x2) - UI 25% transp +$width = 3840 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.75 +$internalRes = 0.75 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 5120x2880 - UI 25% transp +$width = 5120 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 0.75 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +# Enthusiast + +[Preset] +category = Resolution +name = 7680x4320 (8k - Native x3) - UI 25% transp +$width = 7680 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.25 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 0.5 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = -- 21:9 -- resolutions - UI 25% transp +$width = 2560 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 2560x1080 (21:9 HD) - UI 25% transp +$width = 2560 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 3440x1440 (21:9) - UI 25% transp +$width = 3440 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 3440.0 / 1440.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 5120x2160 (21:9) - UI 25% transp +$width = 5120 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 0.75 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 5120.0 / 2160.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 10240x4320 (21:9) - UI 25% transp +$width = 10240 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.2 +$scaleShader = 1.0 +$scaleBlur = 0.5 +$internalRes = 0.5 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 5120.0 / 2160.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = -- 16:10 -- resolutions - UI 25% transp +$width = 1440 +$height = 900 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1440.0/900.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1440.0 / 900.0 ) / (1920.0 / 1080.0) +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 1280x800 (16:10) - UI 25% transp +$width = 1280 +$height = 800 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1280.0/800.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1280.0 / 800.0 ) / (1920.0 / 1080.0) +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 1440x900 (16:10) - UI 25% transp +$width = 1440 +$height = 900 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1440.0/900.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1440.0 / 900.0 ) / (1920.0 / 1080.0) +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 1680x1050 (16:10) - UI 25% transp +$width = 1680 +$height = 1050 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1680.0/1050.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1680.0 / 1050.0 ) / (1920.0 / 1080.0) +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 1920x1200 (16:10) - UI 25% transp +$width = 1920 +$height = 1200 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (1920.0/1200.0) +$UIAspectX = 1.0 +$UIAspectY = ( 1920.0 / 1200.0 ) / (1920.0 / 1080.0) +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 2560x1600 (16:10) - UI 25% transp +$width = 2560 +$height = 1600 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (2560.0/1600.0) +$UIAspectX = 1.0 +$UIAspectY = ( 2560.0 / 1600.0 ) / (1920.0 / 1080.0) +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 2880x1800 (16:10) - UI 25% transp +$width = 2880 +$height = 1800 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (2880.0/1800.0) +$UIAspectX = 1.0 +$UIAspectY = ( 2880.0 / 1800.0 ) / (1920.0 / 1080.0) +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 3840x2400 (16:10) - UI 25% transp +$width = 3840 +$height = 2400 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (3840.0/2400.0) +$UIAspectX = 1.0 +$UIAspectY = ( 3840.0 / 2400.0 ) / (1920.0 / 1080.0) +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 5120x3200 (16:10) - UI 25% transp +$width = 5120 +$height = 3200 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (5120.0/3200.0) +$UIAspectX = 1.0 +$UIAspectY = ( 5120.0 / 3200.0 ) / (1920.0 / 1080.0) +$UItransp = 0.75 + +[Preset] +category = Resolution +name = -- 48:9 -- resolutions - UI 25% transp +$width = 5760 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (48.0/9.0) +$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 5760x1080 (48:9) - UI 25% transp +$width = 5760 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (48.0/9.0) +$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 7680x1440 (48:9) - UI 25% transp +$width = 7680 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 0.70 +$aspectRatio = (48.0/9.0) +$UIAspectX = ( 1920.0 / 1080.0 ) / ( 7680.0 / 1440.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] # Should work fine on a 1070 and fixes most of horizontal shimmering +category = Resolution +name = --- SSAA vert res x2 - Set scaling to Stretch +$width = 1920 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 1920x2160 (Vertical x2) - UI 25% transp +$width = 1920 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.01 +$scaleShader = 1.0 +$scaleBlur = 0.05 +$internalRes = 1.0 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 2560x2880 (Vertical x2 - 0.75 sub scaling) - UI 25% transp +$width = 2560 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 0.75 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] # +category = Resolution +name = 3840x4320 (Vertical x2 - 0.5 sub scaling) - UI 25% transp +$width = 3840 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.25 +$scaleShader = 1.0 +$scaleBlur = 1.0 +$internalRes = 0.5 +$aspectRatio = (16.0/9.0) +$UIAspectX = 1.0 +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 2560x2160 (21:9 Vertical x2) - UI 25% transp +$width = 2560 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 1.0 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 2560.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 3440x2880 (21:9 Vertical x2 - 0.75 sub scaling) - UI 25% transp +$width = 3440 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 0.75 # 2880 * 0.75 = 1080 x 2 +$aspectRatio = (64.0 / 27.0) +$UIAspectX = (1920.0 / 1080.0) / ( 3440.0 / 1440.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + +[Preset] +category = Resolution +name = 5760x1080 (48:9 Vertical x2 - 0.5 sub scaling) - UI 25% transp +$width = 5760 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 +$dither = 0.1 +$scaleShader = 1.0 +$scaleBlur = 0.25 +$internalRes = 0.5 +$aspectRatio = (48.0/9.0) +$UIAspectX = ( 1920.0 / 1080.0 ) / ( 5760.0 / 1080.0 ) +$UIAspectY = 1.0 +$UItransp = 0.75 + + +[Preset] +category = Anisotropic Filtering +name = 1x (Default) + +[Preset] +category = Anisotropic Filtering +name = 2x +$anisoLevel = 2 + +[Preset] +category = Anisotropic Filtering +name = 4x +$anisoLevel = 4 + +[Preset] +category = Anisotropic Filtering +name = 8x +$anisoLevel = 8 + +[Preset] +category = Anisotropic Filtering +name = 16x (Recommended) +$anisoLevel = 16 + +[Preset] +category = Anisotropic Filtering +name = 32x (Overkill) +$anisoLevel = 32 + + +[TextureRedefine] +formats = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435 +overwriteAnisotropy = $anisoLevel + + +[TextureRedefine] +width = 1920 +height = 1088 +#formats = 0x011,0x01a +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1088 + +[TextureRedefine] +width = 1920 +height = 1080 +#formats = +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1080 + +[TextureRedefine] +width = 1280 +height = 720 +#formats = +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] +width = 960 +height = 544 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * (960*$internalRes) +overwriteHeight = ($height/$gameHeight) * (544*$internalRes) + +[TextureRedefine] +width = 960 +height = 540 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * (960*$internalRes) +overwriteHeight = ($height/$gameHeight) * (540*$internalRes) + +[TextureRedefine] +width = 960 +height = 544 +formats = 0x011 +overwriteWidth = ($width/$gameWidth) * (960*$internalRes) +overwriteHeight = ($height/$gameHeight) * (544*$internalRes) + +[TextureRedefine] +width = 960 +height = 540 +formats = 0x011 +overwriteWidth = ($width/$gameWidth) * (960*$internalRes) +overwriteHeight = ($height/$gameHeight) * (540*$internalRes) + +[TextureRedefine] +width = 960 +height = 544 +formats = 0x007 +overwriteWidth = ($width/$gameWidth) * (960*$internalRes) +overwriteHeight = ($height/$gameHeight) * (544*$internalRes) + +[TextureRedefine] +width = 960 +height = 540 +formats = 0x007 +overwriteWidth = ($width/$gameWidth) * (960*$internalRes) +overwriteHeight = ($height/$gameHeight) * (540*$internalRes) + +[TextureRedefine] +width = 864 +height = 480 +#formats = +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] +width = 854 +height = 480 +#formats = +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] #shadows horsie +width = 768 +height = 768 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 768 +overwriteHeight = ($height/$gameHeight) * 768 + +[TextureRedefine] #large map 8 rounding +width = 1376 +height = 784 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1376 +overwriteHeight = ($height/$gameHeight) * 784 + +[TextureRedefine] #large map rounding +width = 1345 +height = 773 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1345 +overwriteHeight = ($height/$gameHeight) * 773 + +[TextureRedefine] #large map 8 rounding +width = 608 +height = 352 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 608 +overwriteHeight = ($height/$gameHeight) * 352 + +[TextureRedefine] # Large map +width = 598 +height = 343 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 598 +overwriteHeight = ($height/$gameHeight) * 343 + +[TextureRedefine] # bloom n cutscene +width = 480 +height = 272 +#formats = 0x01a +overwriteWidth = ($width/$gameWidth) * (480*$internalRes) +overwriteHeight = ($height/$gameHeight) * (272*$internalRes) + +[TextureRedefine] # bloom n cutscene +width = 480 +height = 270 +#formats = 0x01a +overwriteWidth = ($width/$gameWidth) * (480*$internalRes) +overwriteHeight = ($height/$gameHeight) * (270*$internalRes) + +[TextureRedefine] # +width = 448 +height = 384 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 448 +overwriteHeight = ($height/$gameHeight) * 384 + +[TextureRedefine] # Map +width = 442 +height = 383 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 442 +overwriteHeight = ($height/$gameHeight) * 383 + +[TextureRedefine] +width = 435 +height = 381 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 435 +overwriteHeight = ($height/$gameHeight) * 381 + +[TextureRedefine] #Wolf shadows +width = 384 +height = 384 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 384 +overwriteHeight = ($height/$gameHeight) * 384 + +[TextureRedefine] #GUI map +8 +width = 320 +height = 288 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 288 + +[TextureRedefine] # map +width = 290 +height = 280 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 290 +overwriteHeight = ($height/$gameHeight) * 280 + +[TextureRedefine] # +width = 290 +height = 280 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 290 +overwriteHeight = ($height/$gameHeight) * 280 + +[TextureRedefine] # Gui +width = 282 +height = 272 +#formats = +overwriteWidth = ($width/$gameWidth) * 282 +overwriteHeight = ($height/$gameHeight) * 272 + +[TextureRedefine] # Gui +width = 832 +height = 720 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 832 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] # Gui +width = 813 +height = 718 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 813 +overwriteHeight = ($height/$gameHeight) * 718 + +[TextureRedefine] # map +width = 384 +height = 320 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 384 +overwriteHeight = ($height/$gameHeight) * 320 + +[TextureRedefine] # map +width = 362 +height = 319 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 362 +overwriteHeight = ($height/$gameHeight) * 319 + +[TextureRedefine] # map endgame +width = 832 +height = 720 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 832 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] # map endgame +width = 802 +height = 512 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 802 +overwriteHeight = ($height/$gameHeight) * 512 diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt new file mode 100644 index 000000000..bd4b8c0e7 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt @@ -0,0 +1,72 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 14e81f55c62139c7 +// Used for: Removing the button prompts in the HUD + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R1f = passParameterSem1; +R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); +// 0 +backupReg0f = R0f.x; +backupReg1f = R0f.y; +backupReg2f = R0f.z; +backupReg3f = R0f.w; +R0f.x = mul_nonIEEE(backupReg0f, R1f.x); +R0f.x = clamp(R0f.x, 0.0, 1.0); +R0f.y = mul_nonIEEE(backupReg1f, R1f.y); +R0f.y = clamp(R0f.y, 0.0, 1.0); +R0f.z = mul_nonIEEE(backupReg2f, R1f.z); +R0f.z = clamp(R0f.z, 0.0, 1.0); +R0f.w = mul_nonIEEE(backupReg3f, R1f.w); +R0f.w = clamp(R0f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, 0.0); +} diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt new file mode 100644 index 000000000..d4db3d835 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt @@ -0,0 +1,125 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 4e1d21b4863fc48c +// Used for: Removes the HUD icons like the hearts + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R1f = passParameterSem2; +R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); +// 0 +PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); +PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); +// 1 +PV1f.x = fract(PV0f.w); +R127f.y = fract(PV0f.x); +R127f.z = fract(PV0f.y); +PV1f.w = fract(PV0f.z); +R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); +PS1f = R127f.w; +// 2 +R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); +R126f.w = PV1f.x * intBitsToFloat(0x3f808081); +R126f.x = PV1f.w * intBitsToFloat(0x3f808081); +PS0f = R126f.x; +// 3 +R125f.x = R127f.y * intBitsToFloat(0x3f808081); +PV1f.y = fract(R127f.w); +PV1f.z = fract(PV0f.z); +R127f.w = R127f.z * intBitsToFloat(0x3f808081); +PV1f.w = R127f.w; +PS1f = fract(PV0f.y); +// 4 +PV0f.x = fract(R127f.x); +R123f.y = (PS1f * intBitsToFloat(0x3f808081) + -(PV1f.w)); +PV0f.y = R123f.y; +R123f.z = (PV1f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); +PV0f.z = R123f.z; +R123f.w = (PV1f.y * intBitsToFloat(0x3f808081) + -(R126f.w)); +PV0f.w = R123f.w; +// 5 +R123f.x = (mul_nonIEEE(PV0f.w,R1f.x) + R126f.w); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV1f.x = R123f.x; +R123f.y = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(PV0f.y,R1f.z) + R127f.w); +R123f.z = clamp(R123f.z, 0.0, 1.0); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(PV0f.z,R1f.y) + R126f.x); +R123f.w = clamp(R123f.w, 0.0, 1.0); +PV1f.w = R123f.w; +// 6 +R123f.x = (mul_nonIEEE(PV1f.y,R1f.w) + R125f.x); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV0f.x = R123f.x; +R1f.y = mul_nonIEEE(R0f.y, PV1f.w); +R1f.y = clamp(R1f.y, 0.0, 1.0); +R1f.z = mul_nonIEEE(R0f.z, PV1f.z); +R1f.z = clamp(R1f.z, 0.0, 1.0); +R1f.x = mul_nonIEEE(R0f.x, PV1f.x); +R1f.x = clamp(R1f.x, 0.0, 1.0); +PS0f = R1f.x; +// 7 +R1f.w = mul_nonIEEE(R0f.w, PV0f.x); +R1f.w = clamp(R1f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, 0.0); +} diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt new file mode 100644 index 000000000..bd179682d --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt @@ -0,0 +1,125 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 9f1ac253de80a927 +// Used for: Removing the blinking button in the HUD + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R1f = passParameterSem2; +R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); +// 0 +PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); +PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); +// 1 +PV1f.x = fract(PV0f.w); +R127f.y = fract(PV0f.x); +R127f.z = fract(PV0f.y); +PV1f.w = fract(PV0f.z); +R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); +PS1f = R127f.w; +// 2 +R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); +R126f.w = PV1f.x * intBitsToFloat(0x3f808081); +R126f.x = PV1f.w * intBitsToFloat(0x3f808081); +PS0f = R126f.x; +// 3 +R125f.x = R127f.y * intBitsToFloat(0x3f808081); +PV1f.y = fract(R127f.w); +PV1f.z = fract(PV0f.z); +R127f.w = R127f.z * intBitsToFloat(0x3f808081); +PV1f.w = R127f.w; +PS1f = fract(PV0f.y); +// 4 +PV0f.x = fract(R127f.x); +R123f.y = (PS1f * intBitsToFloat(0x3f808081) + -(PV1f.w)); +PV0f.y = R123f.y; +R123f.z = (PV1f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); +PV0f.z = R123f.z; +R123f.w = (PV1f.y * intBitsToFloat(0x3f808081) + -(R126f.w)); +PV0f.w = R123f.w; +// 5 +R123f.x = (mul_nonIEEE(PV0f.w,R1f.x) + R126f.w); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV1f.x = R123f.x; +R123f.y = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(PV0f.y,R1f.z) + R127f.w); +R123f.z = clamp(R123f.z, 0.0, 1.0); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(PV0f.z,R1f.y) + R126f.x); +R123f.w = clamp(R123f.w, 0.0, 1.0); +PV1f.w = R123f.w; +// 6 +R123f.x = (mul_nonIEEE(PV1f.y,R1f.w) + R125f.x); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV0f.x = R123f.x; +R1f.y = mul_nonIEEE(R0f.y, PV1f.w); +R1f.y = clamp(R1f.y, 0.0, 1.0); +R1f.z = mul_nonIEEE(R0f.z, PV1f.z); +R1f.z = clamp(R1f.z, 0.0, 1.0); +R1f.x = mul_nonIEEE(R0f.x, PV1f.x); +R1f.x = clamp(R1f.x, 0.0, 1.0); +PS0f = R1f.x; +// 7 +R1f.w = mul_nonIEEE(R0f.w, PV0f.x); +R1f.w = clamp(R1f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, 0.0); +} diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt new file mode 100644 index 000000000..ee0d8450d --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt @@ -0,0 +1,137 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader acd66e3570ee3a72 +// Used for: Removing the last bit of text in the HUD + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R122f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R124f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R1f = passParameterSem2; +R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); +// 0 +PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); +PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); +R126f.w = R1f.x; +R126f.w = clamp(R126f.w, 0.0, 1.0); +PS0f = R126f.w; +// 1 +PV1f.x = fract(PV0f.w); +R127f.y = fract(PV0f.x); +R127f.z = fract(PV0f.y); +PV1f.w = fract(PV0f.z); +R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); +PS1f = R127f.w; +// 2 +R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); +R125f.w = PV1f.x * intBitsToFloat(0x3f808081); +R126f.x = PV1f.w * intBitsToFloat(0x3f808081); +PS0f = R126f.x; +// 3 +backupReg0f = R127f.z; +R125f.x = R127f.y * intBitsToFloat(0x3f808081); +PV1f.y = fract(R127f.w); +R127f.z = fract(PV0f.z); +R127f.w = backupReg0f * intBitsToFloat(0x3f808081); +R126f.z = fract(PV0f.y); +PS1f = R126f.z; +// 4 +PV0f.x = fract(R127f.x); +R127f.y = R1f.z; +R127f.y = clamp(R127f.y, 0.0, 1.0); +R125f.z = R1f.y; +R125f.z = clamp(R125f.z, 0.0, 1.0); +R124f.w = R1f.w; +R124f.w = clamp(R124f.w, 0.0, 1.0); +R122f.x = (PV1f.y * intBitsToFloat(0x3f808081) + -(R125f.w)); +PS0f = R122f.x; +// 5 +R123f.x = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); +PV1f.x = R123f.x; +R123f.y = (R126f.z * intBitsToFloat(0x3f808081) + -(R127f.w)); +PV1f.y = R123f.y; +R123f.z = (R127f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(PS0f,R126f.w) + R125f.w); +R123f.w = clamp(R123f.w, 0.0, 1.0); +PV1f.w = R123f.w; +// 6 +R123f.x = (mul_nonIEEE(PV1f.x,R124f.w) + R125f.x); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV0f.x = R123f.x; +R123f.z = (mul_nonIEEE(PV1f.y,R127f.y) + R127f.w); +R123f.z = clamp(R123f.z, 0.0, 1.0); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(PV1f.z,R125f.z) + R126f.x); +R123f.w = clamp(R123f.w, 0.0, 1.0); +PV0f.w = R123f.w; +R1f.x = mul_nonIEEE(R0f.x, PV1f.w); +R1f.x = clamp(R1f.x, 0.0, 1.0); +PS0f = R1f.x; +// 7 +R1f.y = mul_nonIEEE(R0f.y, PV0f.w); +R1f.y = clamp(R1f.y, 0.0, 1.0); +R1f.z = mul_nonIEEE(R0f.z, PV0f.z); +R1f.z = clamp(R1f.z, 0.0, 1.0); +R1f.w = mul_nonIEEE(R0f.w, PV0f.x); +R1f.w = clamp(R1f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +} diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt new file mode 100644 index 000000000..d192cbd41 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt @@ -0,0 +1,122 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader b567aed28aa42ec7 +// Used for: Removing the text from the HUD + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R1f = passParameterSem2; +R1f.w = (texture(textureUnitPS0, R1f.xy).w); +// 0 +PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); +PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); +// 1 +PV1f.x = fract(PV0f.w); +R127f.y = fract(PV0f.x); +R127f.z = fract(PV0f.y); +PV1f.w = fract(PV0f.z); +R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); +PS1f = R127f.w; +// 2 +R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); +R126f.w = PV1f.x * intBitsToFloat(0x3f808081); +R126f.x = PV1f.w * intBitsToFloat(0x3f808081); +PS0f = R126f.x; +// 3 +R125f.x = R127f.y * intBitsToFloat(0x3f808081); +PV1f.y = fract(R127f.w); +PV1f.z = fract(PV0f.z); +R127f.w = R127f.z * intBitsToFloat(0x3f808081); +PV1f.w = R127f.w; +PS1f = fract(PV0f.y); +// 4 +PV0f.x = fract(R127f.x); +R123f.y = (PS1f * intBitsToFloat(0x3f808081) + -(PV1f.w)); +PV0f.y = R123f.y; +R123f.z = (PV1f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); +PV0f.z = R123f.z; +R123f.w = (PV1f.y * intBitsToFloat(0x3f808081) + -(R126f.w)); +PV0f.w = R123f.w; +// 5 +PV1f.x = R126f.w + PV0f.w; +PV1f.x = clamp(PV1f.x, 0.0, 1.0); +R123f.y = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); +PV1f.y = R123f.y; +PV1f.z = R127f.w + PV0f.y; +PV1f.z = clamp(PV1f.z, 0.0, 1.0); +PV1f.w = R126f.x + PV0f.z; +PV1f.w = clamp(PV1f.w, 0.0, 1.0); +// 6 +R123f.x = (mul_nonIEEE(PV1f.y,R1f.w) + R125f.x); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV0f.x = R123f.x; +R1f.y = mul_nonIEEE(R0f.y, PV1f.w); +R1f.y = clamp(R1f.y, 0.0, 1.0); +R1f.z = mul_nonIEEE(R0f.z, PV1f.z); +R1f.z = clamp(R1f.z, 0.0, 1.0); +R1f.x = mul_nonIEEE(R0f.x, PV1f.x); +R1f.x = clamp(R1f.x, 0.0, 1.0); +PS0f = R1f.x; +// 7 +R1f.w = mul_nonIEEE(R0f.w, PV0f.x); +R1f.w = clamp(R1f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, 0.0); +} diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt new file mode 100644 index 000000000..618750b1c --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt @@ -0,0 +1,69 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader e264c779e7deb774 +// Used for: Removing the map from the HUD + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem1; +R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); +// 0 +backupReg0f = R0f.x; +backupReg1f = R0f.y; +backupReg2f = R0f.z; +backupReg3f = R0f.w; +R0f.x = backupReg0f; +R0f.x = clamp(R0f.x, 0.0, 1.0); +R0f.y = backupReg1f; +R0f.y = clamp(R0f.y, 0.0, 1.0); +R0f.z = backupReg2f; +R0f.z = clamp(R0f.z, 0.0, 1.0); +R0f.w = backupReg3f; +R0f.w = clamp(R0f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, 0.0); +} diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt new file mode 100644 index 000000000..b1c4a1ec5 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt @@ -0,0 +1,122 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader f6e03fd012597dda +// Used for: Removing even more text from HUD + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R122f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R124f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem1; +R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); +// 0 +backupReg0f = R0f.x; +PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); +PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); +R126f.w = backupReg0f; +R126f.w = clamp(R126f.w, 0.0, 1.0); +PS0f = R126f.w; +// 1 +PV1f.x = fract(PV0f.w); +R127f.y = fract(PV0f.x); +R127f.z = fract(PV0f.y); +PV1f.w = fract(PV0f.z); +R127f.w = intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0x3f7f0000); +PS1f = R127f.w; +// 2 +R127f.x = intBitsToFloat(uf_remappedPS[1].w) * intBitsToFloat(0x3f7f0000); +PV0f.y = intBitsToFloat(uf_remappedPS[1].z) * intBitsToFloat(0x3f7f0000); +PV0f.z = intBitsToFloat(uf_remappedPS[1].y) * intBitsToFloat(0x3f7f0000); +R125f.w = PV1f.x * intBitsToFloat(0x3f808081); +R126f.x = PV1f.w * intBitsToFloat(0x3f808081); +PS0f = R126f.x; +// 3 +backupReg0f = R127f.z; +R125f.x = R127f.y * intBitsToFloat(0x3f808081); +PV1f.y = fract(R127f.w); +R127f.z = fract(PV0f.z); +R127f.w = backupReg0f * intBitsToFloat(0x3f808081); +R126f.z = fract(PV0f.y); +PS1f = R126f.z; +// 4 +PV0f.x = fract(R127f.x); +R127f.y = R0f.z; +R127f.y = clamp(R127f.y, 0.0, 1.0); +R125f.z = R0f.y; +R125f.z = clamp(R125f.z, 0.0, 1.0); +R124f.w = R0f.w; +R124f.w = clamp(R124f.w, 0.0, 1.0); +R122f.x = (PV1f.y * intBitsToFloat(0x3f808081) + -(R125f.w)); +PS0f = R122f.x; +// 5 +R123f.x = (PV0f.x * intBitsToFloat(0x3f808081) + -(R125f.x)); +PV1f.x = R123f.x; +R123f.y = (R126f.z * intBitsToFloat(0x3f808081) + -(R127f.w)); +PV1f.y = R123f.y; +R123f.z = (R127f.z * intBitsToFloat(0x3f808081) + -(R126f.x)); +PV1f.z = R123f.z; +R0f.x = (mul_nonIEEE(PS0f,R126f.w) + R125f.w); +R0f.x = clamp(R0f.x, 0.0, 1.0); +PS1f = R0f.x; +// 6 +R0f.y = (mul_nonIEEE(PV1f.z,R125f.z) + R126f.x); +R0f.y = clamp(R0f.y, 0.0, 1.0); +R0f.z = (mul_nonIEEE(PV1f.y,R127f.y) + R127f.w); +R0f.z = clamp(R0f.z, 0.0, 1.0); +R0f.w = (mul_nonIEEE(PV1f.x,R124f.w) + R125f.x); +R0f.w = clamp(R0f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, 0.0); +} diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt new file mode 100644 index 000000000..d237290c1 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt @@ -0,0 +1,72 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader faace4c78d269ce1 +// Used for: Removing more text from HUD + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R1f = passParameterSem1; +R1f.w = (texture(textureUnitPS0, R1f.xy).w); +// 0 +backupReg0f = R0f.x; +backupReg1f = R0f.y; +backupReg2f = R0f.z; +backupReg3f = R0f.w; +R0f.x = backupReg0f; +R0f.x = clamp(R0f.x, 0.0, 1.0); +R0f.y = backupReg1f; +R0f.y = clamp(R0f.y, 0.0, 1.0); +R0f.z = backupReg2f; +R0f.z = clamp(R0f.z, 0.0, 1.0); +R0f.w = mul_nonIEEE(backupReg3f, R1f.w); +R0f.w = clamp(R0f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, 0.0); +} diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt new file mode 100644 index 000000000..8963641c3 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt @@ -0,0 +1,7 @@ +[Definition] +titleIds = 000500001019E500,000500001019E600,000500001019C800 +name = Remove HUD +path = "The Legend of Zelda: Twilight Princess HD/Mods/Remove HUD (breaks menus)" +description = Hides the HUD elements like the hearts, controller buttons and rupees count.|You should only enable this graphic pack when you want to make a screenshot without the HUD. +#Credits: Crementif +version = 6 diff --git a/src/TwilightPrincessHD/Mods/RemoveHaze/patch_RemoveHaze.asm b/src/TwilightPrincessHD/Mods/RemoveHaze/patch_RemoveHaze.asm new file mode 100644 index 000000000..50d831595 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHaze/patch_RemoveHaze.asm @@ -0,0 +1,9 @@ +[TwilightPrincessHD_RemoveHaze] +moduleMatches = 0x1A03E108, 0xA3175EEA ; v81(EU/NA), v82(JP) +;##exp and haze settings +0x100C3EB8 = .float $nearExp ; Near world (over)exposure +0x100C36C4 = .float $bloomExp ; Bloom npc/object (over) " +0x100C3780 = .float $distExp ; Distant world (over)exposure +;0x100C3774 = .float $distanceFog +0x1012C898 = .float $distanceFog +;0x100871C8 = .float 0.01 ;100871C8:.float 0.00050000002 ;cloud float diff --git a/src/TwilightPrincessHD/Mods/RemoveHaze/rules.txt b/src/TwilightPrincessHD/Mods/RemoveHaze/rules.txt new file mode 100644 index 000000000..9c4ae1ac6 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHaze/rules.txt @@ -0,0 +1,44 @@ +[Definition] +titleIds = 000500001019C800,000500001019E600,000500001019E500 +name = Distant Fog +path = "The Legend of Zelda: Twilight Princess HD/Mods/Distant Fog" +description = Sets the depth and exposure of distant fog. Possible issues with disappearing objects.|Made by getdls. +#Credits: getdls +version = 6 + +[Default] +$distanceFog = 21.0 +$nearExp = 0.0039 +$bloomExp = 0.0039 +$distExp = 0.0039 + +[Preset] +name = Default + +[Preset] +name = Half-distant fog +$distanceFog = 22.0 +$nearExp = 0.0039 +$bloomExp = 0.0039 +$distExp = 0.0039 + +[Preset] +name = No distant fog +$distanceFog = 60.0 +$nearExp = 0.0039 +$bloomExp = 0.0039 +$distExp = 0.0039 + +[Preset] +name = Low exposure +$distanceFog = 21.0 +$nearExp = 0.00375 +$bloomExp = 0.00375 +$distExp = 0.00375 + +[Preset] +name = Lowest exposure +$distanceFog = 22.0 +$nearExp = 0.003 +$bloomExp = 0.00325 +$distExp = 0.00325 From ca40dc9a13d65b50625b24e7f3b9b33cd4efd6f6 Mon Sep 17 00:00:00 2001 From: intra0 Date: Sat, 14 Dec 2024 01:53:29 -0600 Subject: [PATCH 10/16] oops dont want to downgrade a pack that was already a higher version --- src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt index 8963641c3..73f64466e 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt @@ -4,4 +4,4 @@ name = Remove HUD path = "The Legend of Zelda: Twilight Princess HD/Mods/Remove HUD (breaks menus)" description = Hides the HUD elements like the hearts, controller buttons and rupees count.|You should only enable this graphic pack when you want to make a screenshot without the HUD. #Credits: Crementif -version = 6 +version = 7 From 718f317c4ccfff0d84b04e0d86a45192b610a3f8 Mon Sep 17 00:00:00 2001 From: intra0 Date: Sun, 15 Dec 2024 13:16:32 -0600 Subject: [PATCH 11/16] Add an AA enable/disable option inspired by dr luigi --- .../c14019840473ff86_00000000000003c9_ps.txt | 18 +++++++++++------- src/TwilightPrincessHD/Graphics/rules.txt | 11 +++++++++++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt b/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt index 8b6ac98b3..906e0b9e7 100644 --- a/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt +++ b/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt @@ -18,13 +18,6 @@ #endif // This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. -// shader c14019840473ff86 -//scale boxblur fx - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; #ifdef VULKAN layout(set = 1, binding = 2) uniform ufBlock { @@ -33,6 +26,16 @@ uniform vec4 uf_fragCoordScale; #else uniform vec2 uf_fragCoordScale; #endif + +#define AAENABLE $AAEnable + +#if (AAENABLE == 1) +// shader c14019840473ff86 +//scale boxblur fx +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -157,3 +160,4 @@ R0f.w = PV0f.x * 0.25; // export passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); } +#endif diff --git a/src/TwilightPrincessHD/Graphics/rules.txt b/src/TwilightPrincessHD/Graphics/rules.txt index b27df7011..7946fdfa4 100644 --- a/src/TwilightPrincessHD/Graphics/rules.txt +++ b/src/TwilightPrincessHD/Graphics/rules.txt @@ -20,6 +20,7 @@ $UIAspectX = 1.0 $UIAspectY = 1.0 $UItransp = 1.0 $anisoLevel = 1 +$AAEnable:int = 1 # Performance @@ -1089,6 +1090,16 @@ category = Anisotropic Filtering name = 32x (Overkill) $anisoLevel = 32 +[Preset] +category = Anti-Aliasing +name = Enable +$AAEnable:int = 1 + +[Preset] +category = Anti-Aliasing +name = Disable +$AAEnable:int = 0 + [TextureRedefine] formats = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435 From 17681769cd8263ba29f57edaa81d5467f5dbec1b Mon Sep 17 00:00:00 2001 From: intra0 Date: Sun, 15 Dec 2024 14:41:13 -0600 Subject: [PATCH 12/16] Fix to KoB-Kirito last commit Adds the files that were accidentailly added to wind waker into the mod they were supposed to be in --- .../7d7d874efcc7ba4b_0000000000000079_ps.txt | 67 ++++++++++ .../d80a321ea97e9415_0000000000000079_ps.txt | 115 ++++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt create mode 100644 src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt new file mode 100644 index 000000000..51d1d7bb8 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt @@ -0,0 +1,67 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + + +// shader 7d7d874efcc7ba4b: textbox continue icon + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +float PV0fx = 0.0, PV0fy = 0.0, PV0fz = 0.0, PV0fw = 0.0, PV1fx = 0.0, PV1fy = 0.0, PV1fz = 0.0, PV1fw = 0.0; +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +R0f = passParameterSem0; +R1f = passParameterSem1; +R1f.xyzw = (texture(textureUnitPS0, vec2(R1f.x,R1f.y)).xyzw); +// 0 +R0f.x = mul_nonIEEE(R0f.x, R1f.x); +R0f.x = clamp(R0f.x, 0.0, 1.0); +R0f.y = mul_nonIEEE(R0f.y, R1f.y); +R0f.y = clamp(R0f.y, 0.0, 1.0); +R0f.z = mul_nonIEEE(R0f.z, R1f.z); +R0f.z = clamp(R0f.z, 0.0, 1.0); +R0f.w = mul_nonIEEE(R0f.w, R1f.w); +R0f.w = clamp(R0f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, 0.0); +} diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt new file mode 100644 index 000000000..d927ca404 --- /dev/null +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt @@ -0,0 +1,115 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + + +// shader d80a321ea97e9415: text shadow + + +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[2]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +float PV0fx = 0.0, PV0fy = 0.0, PV0fz = 0.0, PV0fw = 0.0, PV1fx = 0.0, PV1fy = 0.0, PV1fz = 0.0, PV1fw = 0.0; +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +R0f = passParameterSem0; +R1f = passParameterSem2; +R1f.xyzw = (texture(textureUnitPS0, vec2(R1f.x,R1f.y)).xyzw); +// 0 +PV0fx = intBitsToFloat(uf_remappedPS[0].w) * 0.99609375; +PV0fy = intBitsToFloat(uf_remappedPS[0].z) * 0.99609375; +PV0fz = intBitsToFloat(uf_remappedPS[0].y) * 0.99609375; +PV0fw = intBitsToFloat(uf_remappedPS[0].x) * 0.99609375; +// 1 +PV1fx = fract(PV0fw); +R127f.y = fract(PV0fx); +R127f.z = fract(PV0fy); +PV1fw = fract(PV0fz); +R127f.w = intBitsToFloat(uf_remappedPS[1].x) * 0.99609375; +// 2 +R127f.x = intBitsToFloat(uf_remappedPS[1].w) * 0.99609375; +PV0fy = intBitsToFloat(uf_remappedPS[1].z) * 0.99609375; +PV0fz = intBitsToFloat(uf_remappedPS[1].y) * 0.99609375; +R126f.w = PV1fx * intBitsToFloat(0x3f808081); +R126f.x = PV1fw * intBitsToFloat(0x3f808081); +// 3 +R125f.x = R127f.y * intBitsToFloat(0x3f808081); +PV1fy = fract(R127f.w); +PV1fz = fract(PV0fz); +R127f.w = R127f.z * intBitsToFloat(0x3f808081); +PS1f = fract(PV0fy); +// 4 +PV0fx = fract(R127f.x); +R123f.y = PS1f * intBitsToFloat(0x3f808081) + -(R127f.w); +R123f.z = PV1fz * intBitsToFloat(0x3f808081) + -(R126f.x); +R123f.w = PV1fy * intBitsToFloat(0x3f808081) + -(R126f.w); +// 5 +backupReg0f = R123f.y; +backupReg1f = R123f.z; +R123f.x = mul_nonIEEE(R123f.w,R1f.x) + R126f.w; +R123f.x = clamp(R123f.x, 0.0, 1.0); +R123f.y = PV0fx * intBitsToFloat(0x3f808081) + -(R125f.x); +R123f.z = mul_nonIEEE(backupReg0f,R1f.z) + R127f.w; +R123f.z = clamp(R123f.z, 0.0, 1.0); +R123f.w = mul_nonIEEE(backupReg1f,R1f.y) + R126f.x; +R123f.w = clamp(R123f.w, 0.0, 1.0); +// 6 +backupReg0f = R123f.x; +R123f.x = mul_nonIEEE(R123f.y,R1f.w) + R125f.x; +R123f.x = clamp(R123f.x, 0.0, 1.0); +R1f.y = mul_nonIEEE(R0f.y, R123f.w); +R1f.y = clamp(R1f.y, 0.0, 1.0); +R1f.z = mul_nonIEEE(R0f.z, R123f.z); +R1f.z = clamp(R1f.z, 0.0, 1.0); +R1f.x = mul_nonIEEE(R0f.x, backupReg0f); +R1f.x = clamp(R1f.x, 0.0, 1.0); +// 7 +R1f.w = mul_nonIEEE(R0f.w, R123f.x); +R1f.w = clamp(R1f.w, 0.0, 1.0); +// export +passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, 0.0); +} From 922e01074a9efa45a7440baf9eb5c5d990b77209 Mon Sep 17 00:00:00 2001 From: intra0 Date: Sun, 15 Dec 2024 15:08:12 -0600 Subject: [PATCH 13/16] Update Credits Comment --- src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt index 73f64466e..64cd0cc29 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/rules.txt @@ -3,5 +3,5 @@ titleIds = 000500001019E500,000500001019E600,000500001019C800 name = Remove HUD path = "The Legend of Zelda: Twilight Princess HD/Mods/Remove HUD (breaks menus)" description = Hides the HUD elements like the hearts, controller buttons and rupees count.|You should only enable this graphic pack when you want to make a screenshot without the HUD. -#Credits: Crementif +#Credits: Crementif, KoB-Kirito version = 7 From 1b4aeef1909cdd822d6e1092b7539ba00fb7032e Mon Sep 17 00:00:00 2001 From: intra0 Date: Tue, 17 Dec 2024 14:32:52 -0600 Subject: [PATCH 14/16] glsl to v430 --- .../Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt | 2 +- .../Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt | 2 +- .../Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt | 2 +- .../Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt | 2 +- .../Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt | 2 +- .../Contrasty/c14019840473ff86_00000000000003c9_ps.txt | 2 +- .../Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt | 2 +- .../Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt | 2 +- .../Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt | 2 +- .../Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt | 2 +- .../Graphics/15e4acf324eb0912_0000000000000000_vs.txt | 2 +- .../Graphics/18893ce415f2fcc7_0000000000000000_vs.txt | 2 +- .../Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt | 2 +- .../Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt | 2 +- .../Graphics/27b429c755f71162_0000000000000000_vs.txt | 2 +- .../Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt | 2 +- .../Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt | 2 +- .../Graphics/6dc0977212eae7b3_0000000000000000_vs.txt | 2 +- .../Graphics/70e776430cd020a9_0000000000000000_vs.txt | 2 +- .../Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt | 2 +- .../Graphics/7c5a0f2532be049f_0000000000000000_vs.txt | 2 +- .../Graphics/7fc573264230ed00_0000000000000000_vs.txt | 2 +- .../Graphics/827afe113fd67658_0000000000000000_vs.txt | 2 +- .../Graphics/85b15b7fe92662bb_0000000000000000_vs.txt | 2 +- .../Graphics/95a5a89d62998e0d_0000000000000079_ps.txt | 2 +- .../Graphics/_cac95df4d2d6f5b8_0000000000000000_vs.txt | 2 +- .../Graphics/acbedb86f89efae4_0000000000000000_vs.txt | 2 +- .../Graphics/aebb1e76797684a2_0000000000000000_vs.txt | 2 +- .../Graphics/b5241d6db4feef42_0000000000000000_vs.txt | 2 +- .../Graphics/c14019840473ff86_00000000000003c9_ps.txt | 2 +- .../Graphics/c612390d4c70f430_0000000000000079_ps.txt | 2 +- .../Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt | 2 +- .../Graphics/e9d455979cba2505_0000000000000000_vs.txt | 2 +- .../Graphics/eec9403a9d54137e_0000000000000000_vs.txt | 2 +- .../Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt | 2 +- .../Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt | 2 +- .../Graphics/fc148873ef522f50_0000000000000000_vs.txt | 2 +- .../Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt | 2 +- 47 files changed, 47 insertions(+), 47 deletions(-) diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt index 8380767f0..c13fb1ede 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt index 2590c9f9b..c6dc44239 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt index 5dcb11cb1..dcf5fd846 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt index 2200fab3f..2914ac98f 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt index 8bd8f11a6..9bc80c332 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt index 657f88be3..e6b2058ec 100644 --- a/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader c14019840473ff86 diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt index 9151073a9..4c2aab0a6 100644 --- a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt index c65e1a0ea..982aaba84 100644 --- a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt index 550f670d3..422c38ba5 100644 --- a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt index 29ab6dbf5..488bf2236 100644 --- a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_e334517825fdd599_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader e334517825fdd599 diff --git a/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt index 058f6744c..b58432483 100644 --- a/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt index 595742a82..4e2b6ee80 100644 --- a/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt index d794bead2..fd8ef5bf7 100644 --- a/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt index aef93a0fd..d60d8b6b1 100644 --- a/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt index 13c9480f5..4afe8e73e 100644 --- a/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt index 1641106bb..cf1ef56c1 100644 --- a/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt index 4072c18b5..ab3e4a0bc 100644 --- a/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt index 6af264e64..2ee91db46 100644 --- a/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt index f47f111f6..5e2a7f914 100644 --- a/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt index 4e3dbef8c..f2df99204 100644 --- a/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt index 5689b250f..3f6546c28 100644 --- a/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt index 690d5f373..f0e8cc9c0 100644 --- a/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt index 6ef497b32..ce2aec8d4 100644 --- a/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt index 4f7eaf6c5..21fde0e28 100644 --- a/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt b/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt index 4630beef9..ad9b16e30 100644 --- a/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/_cac95df4d2d6f5b8_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/_cac95df4d2d6f5b8_0000000000000000_vs.txt index e48ddfeeb..779e55e09 100644 --- a/src/TwilightPrincessHD/Graphics/_cac95df4d2d6f5b8_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/_cac95df4d2d6f5b8_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable diff --git a/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt index 591e88228..87e59181a 100644 --- a/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt index eadc7a308..cbf19ebcf 100644 --- a/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt index f7a8ff282..701b68c55 100644 --- a/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt b/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt index 906e0b9e7..d13fbfe30 100644 --- a/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt +++ b/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt b/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt index 8671c058e..79323876e 100644 --- a/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt index cebea9f2d..46ca4d329 100644 --- a/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt index 31e387150..77a12ab64 100644 --- a/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt index f9ca1df5c..c2ec575de 100644 --- a/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt index 6cd31ef70..debe4297f 100644 --- a/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt index ed9f6ebb1..1bee15881 100644 --- a/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt index a7edb90cc..e782c3528 100644 --- a/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt index bd4b8c0e7..292da4560 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 14e81f55c62139c7 diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt index d4db3d835..4e762c454 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 4e1d21b4863fc48c diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt index 51d1d7bb8..86ad583d5 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt index bd179682d..d03aed283 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 9f1ac253de80a927 diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt index ee0d8450d..93ff6c5b5 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader acd66e3570ee3a72 diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt index d192cbd41..25a8424d3 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader b567aed28aa42ec7 diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt index d927ca404..bd758c8c6 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt index 618750b1c..f43a71001 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader e264c779e7deb774 diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt index b1c4a1ec5..e3c8c6aca 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader f6e03fd012597dda diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt index d237290c1..45826b583 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 450 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader faace4c78d269ce1 From 763b0cf1fff84171c33837d3eecc8e6aaee1e58d Mon Sep 17 00:00:00 2001 From: Intra Date: Wed, 1 Jan 2025 17:38:48 -0600 Subject: [PATCH 15/16] fix trailing white space in preprocessor --- .../Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt | 2 +- .../Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt | 2 +- .../Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt | 2 +- .../Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt | 2 +- .../Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt | 2 +- .../Contrasty/c14019840473ff86_00000000000003c9_ps.txt | 2 +- .../Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt | 2 +- .../Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt | 2 +- .../Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt | 2 +- .../Graphics/15e4acf324eb0912_0000000000000000_vs.txt | 2 +- .../Graphics/18893ce415f2fcc7_0000000000000000_vs.txt | 2 +- .../Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt | 2 +- .../Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt | 2 +- .../Graphics/27b429c755f71162_0000000000000000_vs.txt | 2 +- .../Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt | 2 +- .../Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt | 2 +- .../Graphics/6dc0977212eae7b3_0000000000000000_vs.txt | 2 +- .../Graphics/70e776430cd020a9_0000000000000000_vs.txt | 2 +- .../Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt | 2 +- .../Graphics/7c5a0f2532be049f_0000000000000000_vs.txt | 2 +- .../Graphics/7fc573264230ed00_0000000000000000_vs.txt | 2 +- .../Graphics/827afe113fd67658_0000000000000000_vs.txt | 2 +- .../Graphics/85b15b7fe92662bb_0000000000000000_vs.txt | 2 +- .../Graphics/95a5a89d62998e0d_0000000000000079_ps.txt | 2 +- .../Graphics/acbedb86f89efae4_0000000000000000_vs.txt | 2 +- .../Graphics/aebb1e76797684a2_0000000000000000_vs.txt | 2 +- .../Graphics/b5241d6db4feef42_0000000000000000_vs.txt | 2 +- .../Graphics/c14019840473ff86_00000000000003c9_ps.txt | 2 +- .../Graphics/c612390d4c70f430_0000000000000079_ps.txt | 2 +- .../Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt | 2 +- .../Graphics/e9d455979cba2505_0000000000000000_vs.txt | 2 +- .../Graphics/eec9403a9d54137e_0000000000000000_vs.txt | 2 +- .../Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt | 2 +- .../Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt | 2 +- .../Graphics/fc148873ef522f50_0000000000000000_vs.txt | 2 +- .../Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt | 2 +- .../Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt | 2 +- 45 files changed, 45 insertions(+), 45 deletions(-) diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt index c13fb1ede..0116df626 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/49865bd2e62efda1_0000000000000079_ps.txt @@ -14,7 +14,7 @@ #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt index c6dc44239..5c0c0f223 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/5f422bf63e25be7f_0000000000000079_ps.txt @@ -22,7 +22,7 @@ #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt index dcf5fd846..61462ece7 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt @@ -14,7 +14,7 @@ #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt index 2914ac98f..18052d393 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt @@ -14,7 +14,7 @@ #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt index 9bc80c332..8447816ed 100644 --- a/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt @@ -14,7 +14,7 @@ #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) + #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt index e6b2058ec..a2643f911 100644 --- a/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/c14019840473ff86_00000000000003c9_ps.txt @@ -10,7 +10,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt index 4c2aab0a6..9b33fe72c 100644 --- a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_49865bd2e62efda1_0000000000000079_ps.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt index 982aaba84..c20e493ac 100644 --- a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_5f422bf63e25be7f_0000000000000079_ps.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt index 422c38ba5..0d5943570 100644 --- a/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Enhancements/Contrasty/unused_95a5a89d62998e0d_0000000000000079_ps.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt index b58432483..d833b4587 100644 --- a/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/15e4acf324eb0912_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt index 4e2b6ee80..a43e77e9f 100644 --- a/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/18893ce415f2fcc7_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt index fd8ef5bf7..2b90806ad 100644 --- a/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/1caed2ca3d14f36b_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt index d60d8b6b1..be66c04f0 100644 --- a/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/24b09ef9b11b98d5_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt index 4afe8e73e..e43edea72 100644 --- a/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/27b429c755f71162_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt index cf1ef56c1..34b07ca79 100644 --- a/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/4f5f72f9eec53a90_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt index ab3e4a0bc..40d023d36 100644 --- a/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/5f2ae4dbd2256d0c_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt index 2ee91db46..003b1a9e8 100644 --- a/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/6dc0977212eae7b3_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt index 5e2a7f914..2d0acaf3a 100644 --- a/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/70e776430cd020a9_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt index f2df99204..2c4ec7bb2 100644 --- a/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/7674f1be5f1b1e0c_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt index 3f6546c28..1bb5eddb4 100644 --- a/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/7c5a0f2532be049f_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt index f0e8cc9c0..5c3db5552 100644 --- a/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/7fc573264230ed00_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt index ce2aec8d4..8f1f31c3c 100644 --- a/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/827afe113fd67658_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt index 21fde0e28..1b693d479 100644 --- a/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/85b15b7fe92662bb_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt b/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt index ad9b16e30..0f5c3713e 100644 --- a/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Graphics/95a5a89d62998e0d_0000000000000079_ps.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt index 87e59181a..c79d96d5a 100644 --- a/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/acbedb86f89efae4_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt index cbf19ebcf..4bcebf54e 100644 --- a/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/aebb1e76797684a2_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt index 701b68c55..a4697fbb3 100644 --- a/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/b5241d6db4feef42_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt b/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt index d13fbfe30..b8779ea07 100644 --- a/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt +++ b/src/TwilightPrincessHD/Graphics/c14019840473ff86_00000000000003c9_ps.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt b/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt index 79323876e..f6babcc66 100644 --- a/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Graphics/c612390d4c70f430_0000000000000079_ps.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt index 46ca4d329..cdf9c6e27 100644 --- a/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/ce7aa5fffc34aab0_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt index 77a12ab64..34abde6af 100644 --- a/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/e9d455979cba2505_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt index c2ec575de..a870a3196 100644 --- a/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/eec9403a9d54137e_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt index debe4297f..17af0d45e 100644 --- a/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/f017fcfaf1bd28ab_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt index 1bee15881..fce24aa21 100644 --- a/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/f5034fe4aa1fec23_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt b/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt index e782c3528..92de2107c 100644 --- a/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt +++ b/src/TwilightPrincessHD/Graphics/fc148873ef522f50_0000000000000000_vs.txt @@ -11,7 +11,7 @@ #define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt index 292da4560..180c2096f 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/14e81f55c62139c7_0000000000000079_ps.txt @@ -12,7 +12,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt index 4e762c454..37b1839a1 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/4e1d21b4863fc48c_0000000000000079_ps.txt @@ -12,7 +12,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt index 86ad583d5..7c4cfa860 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/7d7d874efcc7ba4b_0000000000000079_ps.txt @@ -13,7 +13,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt index d03aed283..128020d94 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/9f1ac253de80a927_0000000000000079_ps.txt @@ -12,7 +12,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt index 93ff6c5b5..0ebc2d812 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/acd66e3570ee3a72_0000000000000079_ps.txt @@ -12,7 +12,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt index 25a8424d3..5962d0c13 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/b567aed28aa42ec7_0000000000000079_ps.txt @@ -12,7 +12,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt index bd758c8c6..65abeebfb 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/d80a321ea97e9415_0000000000000079_ps.txt @@ -13,7 +13,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt index f43a71001..ca0c2c895 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/e264c779e7deb774_0000000000000079_ps.txt @@ -12,7 +12,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt index e3c8c6aca..ecd8c11be 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/f6e03fd012597dda_0000000000000079_ps.txt @@ -12,7 +12,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt b/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt index 45826b583..89954f83a 100644 --- a/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt +++ b/src/TwilightPrincessHD/Mods/RemoveHUD/faace4c78d269ce1_0000000000000079_ps.txt @@ -12,7 +12,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif From 4a6bfb8cca01121bce5f87d093d334fe7c708686 Mon Sep 17 00:00:00 2001 From: Intra Date: Wed, 1 Jan 2025 17:40:51 -0600 Subject: [PATCH 16/16] fix default lod --- src/TwilightPrincessHD/Enhancements/NegativeLOD/rules.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/TwilightPrincessHD/Enhancements/NegativeLOD/rules.txt b/src/TwilightPrincessHD/Enhancements/NegativeLOD/rules.txt index dff68c774..adafc0f0f 100644 --- a/src/TwilightPrincessHD/Enhancements/NegativeLOD/rules.txt +++ b/src/TwilightPrincessHD/Enhancements/NegativeLOD/rules.txt @@ -23,6 +23,7 @@ $0x01a = 0 [Preset] name = LOD Default +default = 1 [Preset] name = LOD -0.5 (Sharper)