diff --git a/Resolutions/WindWakerHD_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt b/Resolutions/WindWakerHD_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt deleted file mode 100644 index 71f875ed..00000000 --- a/Resolutions/WindWakerHD_Resolution/1f83c0d47b1c4c34_0000000000000000_vs.txt +++ /dev/null @@ -1,106 +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 1f83c0d47b1c4c34 //box downscale - -const float resXScale = (float($height)/float($gameHeight)); -const float resYScale = (float($width)/float($gameWidth)); - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[1]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -}; -#else -uniform ivec4 uf_remappedVS[1]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -#endif -// uf_windowSpaceToClipSpaceTransform was moved to the ufBlock -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 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); -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 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = intBitsToFloat(0xbf800000); -R1f.w = 1.0; -PS0f = R2f.x + -(intBitsToFloat(uf_remappedVS[0].x)/resYScale); //vert -// 1 -backupReg0f = R2f.y; -backupReg1f = R2f.x; -PV1f.x = R2f.y + -(intBitsToFloat(uf_remappedVS[0].y)/resXScale); //horiz -R2f.y = backupReg0f + intBitsToFloat(uf_remappedVS[0].y)/resXScale; //horiz -R2f.z = PS0f; -R2f.x = backupReg1f + intBitsToFloat(uf_remappedVS[0].x)/resYScale; //vert -PS1f = R2f.x; -// 2 -R2f.w = PV1f.x; -// export -SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); -// export -passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// 0 -} - diff --git a/Resolutions/WindWakerHD_Resolution/4ffa96d07cd53c34_0000000000000000_vs.txt b/Resolutions/WindWakerHD_Resolution/4ffa96d07cd53c34_0000000000000000_vs.txt deleted file mode 100644 index d47a5059..00000000 --- a/Resolutions/WindWakerHD_Resolution/4ffa96d07cd53c34_0000000000000000_vs.txt +++ /dev/null @@ -1,115 +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 4ffa96d07cd53c34 - -const float resXScale = (float($height)/float($gameHeight)); -const float resYScale = (float($height)/float($gameHeight)); - - -//box low res (bloom?) -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[1]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -}; -#else -uniform ivec4 uf_remappedVS[1]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -#endif -// uf_windowSpaceToClipSpaceTransform was moved to the ufBlock -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 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 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 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = 0.0; -R1f.w = 1.0; -R127f.x = R2f.y + intBitsToFloat(uf_remappedVS[0].w)/resYScale; //vert -PS0f = R127f.x; -// 1 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -backupReg0f = R2f.x; -R2f.x = backupReg0f + intBitsToFloat(uf_remappedVS[0].z)/resXScale;//hz right -R2f.y = PS0f; -PV1f.z = backupReg1f + -(intBitsToFloat(uf_remappedVS[0].w)/resYScale); ///vert -R0f.x = backupReg0f + -(intBitsToFloat(uf_remappedVS[0].z)/resXScale); //hz left -PS1f = R0f.x; -// 2 -R0f.y = R127f.x; -R0f.z = PV1f.z; -R2f.w = PV1f.z; -// export -SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); -// export -passParameterSem0 = vec4(R2f.x, R2f.y, R2f.x, R2f.w); -// export -passParameterSem1 = vec4(R0f.x, R0f.y, R0f.x, R0f.z); -// 0 -} diff --git a/Resolutions/WindWakerHD_Resolution/842a19b509f8b91a_0000000000000000_vs.txt b/Resolutions/WindWakerHD_Resolution/842a19b509f8b91a_0000000000000000_vs.txt deleted file mode 100644 index a67be741..00000000 --- a/Resolutions/WindWakerHD_Resolution/842a19b509f8b91a_0000000000000000_vs.txt +++ /dev/null @@ -1,128 +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 842a19b509f8b91a //vertical pass bloom - -const float resYScale = (float($height)/float($gameHeight)); - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[1]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -}; -#else -uniform ivec4 uf_remappedVS[1]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -#endif -// uf_windowSpaceToClipSpaceTransform was moved to the ufBlock -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 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) 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 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 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = 0.0; -R1f.w = 1.0; -PS0f = intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x3fb13a93)/resYScale; // center -// 1 -PV1f.x = intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x404ec4f0)/resYScale; //wide -R127f.y = intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x40a275f7)/resYScale; //Low res pass, not first -R2f.z = R2f.y + PS0f; -PV1f.z = R2f.z; -R2f.w = R2f.y; -PV1f.w = R2f.w; -R0f.y = R2f.y + -(PS0f); -PS1f = R0f.y; -// 2 -R0f.x = R2f.x; -R3f.y = R2f.y + -(PV1f.x); -R0f.z = PV1f.z; -R0f.w = PV1f.w; -R2f.z = R2f.y + PV1f.x; -PS0f = R2f.z; -// 3 -R3f.x = R2f.x; -R4f.y = R2f.y + -(R127f.y); -R3f.z = PS0f; -R3f.w = R2f.y; -R2f.z = R2f.y + R127f.y; -PS1f = R2f.z; -// 4 -R4f.xzw = vec3(R2f.x,PS1f,R2f.y); -// export -SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); -// export -passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// 0 -} diff --git a/Resolutions/WindWakerHD_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt b/Resolutions/WindWakerHD_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt deleted file mode 100644 index 87292192..00000000 --- a/Resolutions/WindWakerHD_Resolution/8d68a0e3561ff525_0000000000000000_vs.txt +++ /dev/null @@ -1,126 +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 8d68a0e3561ff525 //horiztontal bloom pass -const float resXScale = (float($width)/float($gameWidth)); - -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[1]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -}; -#else -uniform ivec4 uf_remappedVS[1]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -#endif -// uf_windowSpaceToClipSpaceTransform was moved to the ufBlock -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 = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 0) out vec4 passParameterSem0; -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))); -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 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = 0.0; -R1f.w = 1.0; -R127f.y = intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x3fb13a93)/resXScale;//center pass -PS0f = R127f.y; -// 1 -PV1f.x = intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x404ec4f0)/resXScale; //wide pass -R126f.y = intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x40a275f7) /resXScale; //nothing on first pass -R3f.z = R2f.x + PS0f; -R3f.w = R2f.x; -R3f.x = R2f.y; -PS1f = R3f.x; -// 2 -R0f.x = PS1f; -R3f.y = R2f.x + -(R127f.y); -R0f.z = R2f.x + PV1f.x; -R0f.w = R2f.x; -R0f.y = R2f.x + -(PV1f.x); -PS0f = R0f.y; -// 3 -backupReg0f = R2f.x; -backupReg0f = R2f.x; -backupReg0f = R2f.x; -R2f.x = R3f.x; -R2f.y = backupReg0f + -(R126f.y); -R2f.z = backupReg0f + R126f.y; -R2f.w = backupReg0f; -// export -SET_POSITION(vec4(R1f.x, R1f.y, R1f.z, R1f.w)); -// export -passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem2 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -passParameterSem0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// 0 -} diff --git a/Resolutions/WindWakerHD_Resolution/WWHD_Readme.md b/Resolutions/WindWakerHD_Resolution/WWHD_Readme.md deleted file mode 100644 index 32e419d0..00000000 --- a/Resolutions/WindWakerHD_Resolution/WWHD_Readme.md +++ /dev/null @@ -1,43 +0,0 @@ ------- -### TLoZ Wind Waker HD ------- -### Graphic options -3840x4320 vert x2 SSAA - light res x2 - -3840x4320 vert x2 SSAA - Runs the game at double vertical res balancing look and performance when super sampling. Aspect is still 16:9 so run full screen scaling in stretched and bilinear when activating this option. - -Light res x2 - Doubles resolution of light sources and mitigate light haloing around object edges. - -### 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) -``` diff --git a/Resolutions/WindWakerHD_Resolution/patches.txt b/Resolutions/WindWakerHD_Resolution/patches.txt deleted file mode 100644 index 7ec3b999..00000000 --- a/Resolutions/WindWakerHD_Resolution/patches.txt +++ /dev/null @@ -1,17 +0,0 @@ -[WWHDAspectEUR] -moduleMatches = 0xB7E748DE -0x1004AAF0 = .float ($aspectRatio) -0x101417E0 = .float ($aspectRatio) -0x101658A8 = .float ($aspectRatio) - -[WWHDAspectJAP] -moduleMatches = 0x74BD3F6A -0x1004AAF0 = .float ($aspectRatio) -0x101417F8 = .float ($aspectRatio) -0x101658C0 = .float ($aspectRatio) - -[WWHDAspectUSA] -moduleMatches = 0x475BD29F -0x1004AAF0 = .float ($aspectRatio) -0x101417D0 = .float ($aspectRatio) -0x10165898 = .float ($aspectRatio) \ No newline at end of file diff --git a/Resolutions/WindWakerHD_Resolution/rules.txt b/Resolutions/WindWakerHD_Resolution/rules.txt deleted file mode 100644 index a3f1057a..00000000 --- a/Resolutions/WindWakerHD_Resolution/rules.txt +++ /dev/null @@ -1,464 +0,0 @@ -[Definition] -titleIds = 0005000010143400,0005000010143600,0005000010143500 -name = Resolution -path = "The Legend of Zelda: The Wind Waker HD/Graphics/Resolution" -description = Changes the resolution of the game. Made by getdls and Morph. -version = 4 - -[Preset] -name = 1920x1080 (Default) -$width = 1920 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 320x180 -$width = 320 -$height = 180 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 640x360 -$width = 640 -$height = 360 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 960x540 -$width = 960 -$height = 540 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 1280x720 -$width = 1280 -$height = 720 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 1600x900 -$width = 1600 -$height = 900 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 2560x1440 -$width = 2560 -$height = 1440 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 2732x1536 -$width = 2732 -$height = 1536 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 3200x1800 -$width = 3200 -$height = 1800 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 3840x2160 -$width = 3840 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 5120x2880 -$width = 5120 -$height = 2880 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 7680x4320 -$width = 7680 -$height = 4320 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - - -#Resolutions |Aspect ratio -#2560×1080, 5120×2160, 8192×3456 |64:27 (2.370) -#3440×1440 |43:18 (2.38) -#1920×800, 3840×1600, 7680×3200 |12:5 (2.4) - -[Preset] -name = ---- Ultra wide 21:9 ---- -$width = 2560 -$height = 1080 -$gameWidth= 1920 -$gameHeight= 1080 -$lightSource = 2.0 -$scaleShader = (1920.0/2560.0) -$aspectRatio = (64.0/27.0) #LG - -[Preset] -name = 2560x1080 (21:9 HD) -$width = 2560 -$height = 1080 -$gameWidth= 1920 -$gameHeight= 1080 -$lightSource = 2.0 -$scaleShader = (1920.0/2560.0) -$aspectRatio = (64.0/27.0) #LG - -[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) - -[Preset] -name = 3840x1600 (21:9) -$width = 3840 -$height = 1600 -$gameWidth= 1920 -$gameHeight= 1080 -$lightSource = 1.35 -$scaleShader = (2844.445/3840.0) -$aspectRatio = (12.0/5.0) - -[Preset] -name = 5160x2160 (4k 21:9) -$width = 5160 -$height = 2160 -$gameWidth= 1920 -$gameHeight= 1080 -$lightSource = 1.0 -$scaleShader = (3840.0/5160.0) -$aspectRatio = (64.0/27.0) #LG - -[Preset] -name = ---- Superwide 32:9 ---- -$width = 5120 -$height = 1440 -$gameWidth= 1920 -$gameHeight= 1080 -$lightSource = 1.5 -$scaleShader = (2560.0/5120.0) -$aspectRatio = (96.0/27.0) - -[Preset] -name = 5120x1440 (32:9) -$width = 5120 -$height = 1440 -$gameWidth= 1920 -$gameHeight= 1080 -$lightSource = 1.5 -$scaleShader = (2560.0/5120.0) -$aspectRatio = (96.0/27.0) - -[Preset] -name = 7680x2160 (4k 32:9) -$width = 7680 -$height = 2160 -$gameWidth= 1920 -$gameHeight= 1080 -$lightSource = 1.0 -$scaleShader = (3840.0/7680.0) -$aspectRatio = (96.0/27.0) - -[Preset] -name = ---- Custom resolutions ---- -$width = 1920 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 2.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 1920x1080 AO fix - Light res x2 -$width = 1920 -$height = 1080 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 2.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 2560x1440 AO fix -$width = 2560 -$height = 1440 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 1.5 -$scaleShader = 1.0 #(1088.0/1440.0) -$aspectRatio = (16.0/9.0) - -[Preset] -name = 3840x2160 AO fix - light res x2 -$width = 3840 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 2.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 1920x2160 vert x2 SSAA - light res x2 -$width = 1920 -$height = 2160 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 2.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -[Preset] -name = 3840x4320 vert x2 SSAA - light res x2 -$width = 3840 -$height = 4320 # x2 -$gameWidth = 1920 -$gameHeight = 1080 -$lightSource = 2.0 -$scaleShader = 1.0 -$aspectRatio = (16.0/9.0) - -## Colour depth increase - Didn't see any visual improvement. -# -#[TextureRedefine] -#formats = 0x001 -#overwriteFormat = 0x005 -# -#[TextureRedefine] -#formats = 0x01a -#overwriteFormat = 0x01f -# -#[TextureRedefine] -#formats = 0x019 -#overwriteFormat = 0x01f -# -#[TextureRedefine] -#formats = 0x806 -#overwriteFormat = 0x80e -# -#[TextureRedefine] -#formats = 0x816 -#overwriteFormat = 0x820 - -[TextureRedefine] -width = 1920 -height = 1088 -formats = 0x80e,0x019,0x001 -overwriteWidth = ($width/$gameWidth) * 1920 -overwriteHeight = ($height/$gameHeight) * 1088 - -[TextureRedefine] -width = 1920 -height = 1080 -formats = 0x80e,0x019,0x001 -overwriteWidth = ($width/$gameWidth) * 1920 -overwriteHeight = ($height/$gameHeight) * 1080 - -[TextureRedefine] -width = 1024 -height = 544 -formats = 0x001 -overwriteWidth = ($width/$gameWidth) * (1024*$lightSource*$scaleShader) -overwriteHeight = ($height/$gameHeight) * (544*$lightSource) - -[TextureRedefine] -width = 960 -height = 544 -formats = 0x816,0x806,0x019,0x01a,0x001,0x80e -overwriteWidth = ($width/$gameWidth) * (960*$lightSource*$scaleShader) -overwriteHeight = ($height/$gameHeight) * (544*$lightSource) - -[TextureRedefine] -width = 960 -height = 540 -formats = 0x816,0x806,0x019,0x01a,0x001,0x80e -overwriteWidth = ($width/$gameWidth) * (960*$lightSource*$scaleShader) -overwriteHeight = ($height/$gameHeight) * (540*$lightSource) - -[TextureRedefine] -width = 864 -height = 480 -formats = 0x019,0x80e -overwriteWidth = ($width/$gameWidth) * 864 -overwriteHeight = ($height/$gameHeight) * 480 - -[TextureRedefine] -width = 854 -height = 480 -formats = 0x019,0x80e -overwriteWidth = ($width/$gameWidth) * 854 -overwriteHeight = ($height/$gameHeight) * 480 - -[TextureRedefine] # -width = 512 -height = 512 -formats = 0x019,0x01a #,0x806 -overwriteWidth = ($width/$gameWidth) * (512*$lightSource*$scaleShader) -overwriteHeight = ($height/$gameHeight) * (512*$lightSource) - -[TextureRedefine] -width = 480 -height = 270 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * (480) -overwriteHeight = ($height/$gameHeight) * (270) - -[TextureRedefine] -width = 480 -height = 272 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * (480) -overwriteHeight = ($height/$gameHeight) * (272) - -[TextureRedefine] # -width = 256 -height = 256 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * (256) -overwriteHeight = ($height/$gameHeight) * (256) - -[TextureRedefine] -width = 256 -height = 144 -formats = 0x816,0x01a -overwriteWidth = ($width/$gameWidth) * (256) -overwriteHeight = ($height/$gameHeight) * (144) - -[TextureRedefine] -width = 240 -height = 135 -formats = 0x816,0x01a -overwriteWidth = ($width/$gameWidth) * (240) -overwriteHeight = ($height/$gameHeight) * (135) - -[TextureRedefine] # -width = 128 -height = 128 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * (128) -overwriteHeight = ($height/$gameHeight) * (128) - -[TextureRedefine] -width = 128 -height = 80 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * (128) -overwriteHeight = ($height/$gameHeight) * (80) - -[TextureRedefine] -width = 120 -height = 67 -#formats = -overwriteWidth = ($width/$gameWidth) * (120) -overwriteHeight = ($height/$gameHeight) * (67) - -[TextureRedefine] # -width = 64 -height = 64 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * (64) -overwriteHeight = ($height/$gameHeight) * (64) - -[TextureRedefine] -width = 64 -height = 48 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * (64) -overwriteHeight = ($height/$gameHeight) * (48) - -[TextureRedefine] -width = 60 -height = 33 -#formats = -overwriteWidth = ($width/$gameWidth) * (60) -overwriteHeight = ($height/$gameHeight) * (33) - -[TextureRedefine] #Pictograph -width = 1600 -height = 912 -formats = 0x019 -overwriteWidth = ($height/$gameHeight) * 1600 -overwriteHeight = ($height/$gameHeight) * 912 - -[TextureRedefine] #Pictograph -width = 1600 -height = 900 -formats = 0x019 -overwriteWidth = ($height/$gameHeight) * 1600 -overwriteHeight = ($height/$gameHeight) * 900 - -### pictograph. If you try to fix this, verify that saved pictures can be loaded from album. -# -#[TextureRedefine] #pictograph -#width = 832 -#height = 450 -#formats = 0x01a,080e,0x41a -#overwriteWidth = ($width/$gameWidth) * 832 -#overwriteHeight = ($height/$gameHeight) * 450 -# -#[TextureRedefine] #pictograph -#width = 800 -#height = 464 -#formats = 0x01a,080e,0x41a # -#overwriteWidth = ($width/$gameWidth) * 800 -#overwriteHeight = ($height/$gameHeight) * 464 -# -#[TextureRedefine] #pictograph -#width = 800 -#height = 450 -#formats = 0x01a,080e,0x41a -#overwriteWidth = ($width/$gameWidth) * 800 -#overwriteHeight = ($height/$gameHeight) * 450