diff --git a/Enthusiast/BreathOfTheWild_2880p/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Enthusiast/BreathOfTheWild_2880p/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..697cb6d7 100644
--- a/Enthusiast/BreathOfTheWild_2880p/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Enthusiast/BreathOfTheWild_2880p/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,16 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
-for (int i=0; i<r; i++) {
-	float m = (1-r)/2 + float(i);
-	for (int k=0; k<r; k++){
-		float n = (1-r)/2 + float(k);
-		R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well
+float count = 0.0;
+
+for( int x=-r; x<=r; x++ ) {
+	for( int y=-r; y<=r; y++ ) {
+		if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
+			R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
+			count += 1.0;
+			}
 		}
 	}
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
-passPixelColor0 = R1f;
-}
+passPixelColor0 = R1f/count;
+}
\ No newline at end of file
diff --git a/Enthusiast/BreathOfTheWild_4320p/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Enthusiast/BreathOfTheWild_4320p/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..697cb6d7 100644
--- a/Enthusiast/BreathOfTheWild_4320p/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Enthusiast/BreathOfTheWild_4320p/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,16 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
-for (int i=0; i<r; i++) {
-	float m = (1-r)/2 + float(i);
-	for (int k=0; k<r; k++){
-		float n = (1-r)/2 + float(k);
-		R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well
+float count = 0.0;
+
+for( int x=-r; x<=r; x++ ) {
+	for( int y=-r; y<=r; y++ ) {
+		if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
+			R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
+			count += 1.0;
+			}
 		}
 	}
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
-passPixelColor0 = R1f;
-}
+passPixelColor0 = R1f/count;
+}
\ No newline at end of file
diff --git a/Enthusiast/BreathOfTheWild_5760p/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Enthusiast/BreathOfTheWild_5760p/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..697cb6d7 100644
--- a/Enthusiast/BreathOfTheWild_5760p/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Enthusiast/BreathOfTheWild_5760p/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,16 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
-for (int i=0; i<r; i++) {
-	float m = (1-r)/2 + float(i);
-	for (int k=0; k<r; k++){
-		float n = (1-r)/2 + float(k);
-		R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well
+float count = 0.0;
+
+for( int x=-r; x<=r; x++ ) {
+	for( int y=-r; y<=r; y++ ) {
+		if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
+			R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
+			count += 1.0;
+			}
 		}
 	}
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
-passPixelColor0 = R1f;
-}
+passPixelColor0 = R1f/count;
+}
\ No newline at end of file
diff --git a/Enthusiast/Splatoon_2880p/rules.txt b/Enthusiast/Splatoon_2880p/rules.txt
index e3ff8e10..f82a224d 100644
--- a/Enthusiast/Splatoon_2880p/rules.txt
+++ b/Enthusiast/Splatoon_2880p/rules.txt
@@ -6,34 +6,45 @@ version = 2
 [TextureRedefine] # tv
 width = 1280
 height = 720
+formatsExcluded = 0x816
+overwriteWidth = 5120
+overwriteHeight = 2880
+
+[TextureRedefine] # tv (increased depth)
+width = 1280
+height = 720
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 5120
 overwriteHeight = 2880
 
 [TextureRedefine] # half-res alpha
 width = 640
 height = 360
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 2560
+overwriteHeight = 1440
+
+[TextureRedefine] # half-res alpha (increased depth)
+width = 640
+height = 360
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 2560
 overwriteHeight = 1440
 
 [TextureRedefine] # quarter-res alpha
 width = 320
 height = 180
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
 overwriteWidth = 1280
 overwriteHeight = 720
 
-[TextureRedefine] # half-res alpha (gamepad)
-width = 427
-height = 240
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
-overwriteWidth = 1280
-overwriteHeight = 720
-
-[TextureRedefine] # half-res alpha (multiplayer)
-width = 424
-height = 240
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+[TextureRedefine] # quarter-res alpha (increased depth)
+width = 320
+height = 180
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 1280
 overwriteHeight = 720
 
@@ -53,4 +64,18 @@ overwriteHeight = 1440
 width = 848
 height = 480
 overwriteWidth = 2560
-overwriteHeight = 1440
\ No newline at end of file
+overwriteHeight = 1440
+
+[TextureRedefine] # half-res alpha (gamepad)
+width = 427
+height = 240
+formatsExcluded = 0x41A,0x431 # exclude obvious textures
+overwriteWidth = 1280
+overwriteHeight = 720
+
+[TextureRedefine] # half-res alpha (multiplayer)
+width = 424
+height = 240
+formatsExcluded = 0x41A,0x431 # exclude obvious textures
+overwriteWidth = 1280
+overwriteHeight = 720
\ No newline at end of file
diff --git a/Enthusiast/Splatoon_4320p/rules.txt b/Enthusiast/Splatoon_4320p/rules.txt
index bd237aed..068e1635 100644
--- a/Enthusiast/Splatoon_4320p/rules.txt
+++ b/Enthusiast/Splatoon_4320p/rules.txt
@@ -6,36 +6,47 @@ version = 2
 [TextureRedefine] # tv
 width = 1280
 height = 720
+formatsExcluded = 0x816
+overwriteWidth = 7680
+overwriteHeight = 4320
+
+[TextureRedefine] # tv (increased depth)
+width = 1280
+height = 720
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 7680
 overwriteHeight = 4320
 
 [TextureRedefine] # half-res alpha
 width = 640
 height = 360
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 3840
+overwriteHeight = 2160
+
+[TextureRedefine] # half-res alpha (increased depth)
+width = 640
+height = 360
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 3840
 overwriteHeight = 2160
 
 [TextureRedefine] # quarter-res alpha
 width = 320
 height = 180
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
 overwriteWidth = 1920
 overwriteHeight = 1080
 
-[TextureRedefine] # half-res alpha (gamepad)
-width = 427
-height = 240
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
-overwriteWidth = 1280
-overwriteHeight = 720
-
-[TextureRedefine] # half-res alpha (multiplayer)
-width = 424
-height = 240
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
-overwriteWidth = 1280
-overwriteHeight = 720
+[TextureRedefine] # quarter-res alpha (increased depth)
+width = 320
+height = 180
+formats = 0x816
+overwriteFormat = 0x823
+overwriteWidth = 1920
+overwriteHeight = 1080
 
 [TextureRedefine] # squid sisters
 width = 1024
@@ -53,4 +64,18 @@ overwriteHeight = 1440
 width = 848
 height = 480
 overwriteWidth = 2560
-overwriteHeight = 1440
\ No newline at end of file
+overwriteHeight = 1440
+
+[TextureRedefine] # half-res alpha (gamepad)
+width = 427
+height = 240
+formatsExcluded = 0x41A,0x431 # exclude obvious textures
+overwriteWidth = 1280
+overwriteHeight = 720
+
+[TextureRedefine] # half-res alpha (multiplayer)
+width = 424
+height = 240
+formatsExcluded = 0x41A,0x431 # exclude obvious textures
+overwriteWidth = 1280
+overwriteHeight = 720
\ No newline at end of file
diff --git a/Enthusiast/Splatoon_5760p/rules.txt b/Enthusiast/Splatoon_5760p/rules.txt
index 2f754182..b6e39c91 100644
--- a/Enthusiast/Splatoon_5760p/rules.txt
+++ b/Enthusiast/Splatoon_5760p/rules.txt
@@ -6,36 +6,47 @@ version = 2
 [TextureRedefine] # tv
 width = 1280
 height = 720
+formatsExcluded = 0x816
+overwriteWidth = 10240
+overwriteHeight = 5760
+
+[TextureRedefine] # tv (increased depth)
+width = 1280
+height = 720
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 10240
 overwriteHeight = 5760
 
 [TextureRedefine] # half-res alpha
 width = 640
 height = 360
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 5120
+overwriteHeight = 2880
+
+[TextureRedefine] # half-res alpha (increased depth)
+width = 640
+height = 360
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 5120
 overwriteHeight = 2880
 
 [TextureRedefine] # quarter-res alpha
 width = 320
 height = 180
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
 overwriteWidth = 2560
 overwriteHeight = 1440
 
-[TextureRedefine] # half-res alpha (gamepad)
-width = 427
-height = 240
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
-overwriteWidth = 1280
-overwriteHeight = 720
-
-[TextureRedefine] # half-res alpha (multiplayer)
-width = 424
-height = 240
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
-overwriteWidth = 1280
-overwriteHeight = 720
+[TextureRedefine] # quarter-res alpha (increased depth)
+width = 320
+height = 180
+formats = 0x816
+overwriteFormat = 0x823
+overwriteWidth = 2560
+overwriteHeight = 1440
 
 [TextureRedefine] # squid sisters
 width = 1024
@@ -53,4 +64,18 @@ overwriteHeight = 1440
 width = 848
 height = 480
 overwriteWidth = 2560
-overwriteHeight = 1440
\ No newline at end of file
+overwriteHeight = 1440
+
+[TextureRedefine] # half-res alpha (gamepad)
+width = 427
+height = 240
+formatsExcluded = 0x41A,0x431 # exclude obvious textures
+overwriteWidth = 1280
+overwriteHeight = 720
+
+[TextureRedefine] # half-res alpha (multiplayer)
+width = 424
+height = 240
+formatsExcluded = 0x41A,0x431 # exclude obvious textures
+overwriteWidth = 1280
+overwriteHeight = 720
\ No newline at end of file
diff --git a/Quality/BreathOfTheWild_1080p/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Quality/BreathOfTheWild_1080p/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..697cb6d7 100644
--- a/Quality/BreathOfTheWild_1080p/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Quality/BreathOfTheWild_1080p/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,16 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
-for (int i=0; i<r; i++) {
-	float m = (1-r)/2 + float(i);
-	for (int k=0; k<r; k++){
-		float n = (1-r)/2 + float(k);
-		R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well
+float count = 0.0;
+
+for( int x=-r; x<=r; x++ ) {
+	for( int y=-r; y<=r; y++ ) {
+		if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
+			R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
+			count += 1.0;
+			}
 		}
 	}
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
-passPixelColor0 = R1f;
-}
+passPixelColor0 = R1f/count;
+}
\ No newline at end of file
diff --git a/Quality/BreathOfTheWild_1080pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Quality/BreathOfTheWild_1080pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..697cb6d7 100644
--- a/Quality/BreathOfTheWild_1080pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Quality/BreathOfTheWild_1080pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,16 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
-for (int i=0; i<r; i++) {
-	float m = (1-r)/2 + float(i);
-	for (int k=0; k<r; k++){
-		float n = (1-r)/2 + float(k);
-		R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well
+float count = 0.0;
+
+for( int x=-r; x<=r; x++ ) {
+	for( int y=-r; y<=r; y++ ) {
+		if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
+			R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
+			count += 1.0;
+			}
 		}
 	}
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
-passPixelColor0 = R1f;
-}
+passPixelColor0 = R1f/count;
+}
\ No newline at end of file
diff --git a/Quality/BreathOfTheWild_1440p/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Quality/BreathOfTheWild_1440p/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..697cb6d7 100644
--- a/Quality/BreathOfTheWild_1440p/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Quality/BreathOfTheWild_1440p/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,16 +23,15 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
-for (int i=0; i<r; i++) {
-	float m = (1-r)/2 + float(i);
-	for (int k=0; k<r; k++){
-		float n = (1-r)/2 + float(k);
-		R1f += texture( textureUnitPS0, R0f+ vec2(m,n) * 2.0 /res )/(pow(r,2)-4); //assume 2px offset as well
+float count = 0.0;
+
+for( int x=-r; x<=r; x++ ) {
+	for( int y=-r; y<=r; y++ ) {
+		if( pow(x,2) + pow(y,2) <= pow(r,2) ) {
+			R1f += texture( textureUnitPS0, R0f + vec2(x,y)/res );
+			count += 1.0;
+			}
 		}
 	}
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
-R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
-passPixelColor0 = R1f;
-}
+passPixelColor0 = R1f/count;
+}
\ No newline at end of file
diff --git a/Quality/BreathOfTheWild_1440pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Quality/BreathOfTheWild_1440pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..c2dcd4df 100644
--- a/Quality/BreathOfTheWild_1440pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Quality/BreathOfTheWild_1440pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,6 +23,7 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
+
 for (int i=0; i<r; i++) {
 	float m = (1-r)/2 + float(i);
 	for (int k=0; k<r; k++){
@@ -35,4 +36,4 @@ R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2
 R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
 R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
 passPixelColor0 = R1f;
-}
+}
\ No newline at end of file
diff --git a/Quality/BreathOfTheWild_1800p/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Quality/BreathOfTheWild_1800p/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..c2dcd4df 100644
--- a/Quality/BreathOfTheWild_1800p/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Quality/BreathOfTheWild_1800p/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,6 +23,7 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
+
 for (int i=0; i<r; i++) {
 	float m = (1-r)/2 + float(i);
 	for (int k=0; k<r; k++){
@@ -35,4 +36,4 @@ R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2
 R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
 R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
 passPixelColor0 = R1f;
-}
+}
\ No newline at end of file
diff --git a/Quality/BreathOfTheWild_2160p/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Quality/BreathOfTheWild_2160p/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..c2dcd4df 100644
--- a/Quality/BreathOfTheWild_2160p/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Quality/BreathOfTheWild_2160p/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,6 +23,7 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
+
 for (int i=0; i<r; i++) {
 	float m = (1-r)/2 + float(i);
 	for (int k=0; k<r; k++){
@@ -35,4 +36,4 @@ R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2
 R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
 R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
 passPixelColor0 = R1f;
-}
+}
\ No newline at end of file
diff --git a/Quality/BreathOfTheWild_2160pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Quality/BreathOfTheWild_2160pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt
index 74502800..c2dcd4df 100644
--- a/Quality/BreathOfTheWild_2160pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt
+++ b/Quality/BreathOfTheWild_2160pUW/cb0e6e8cbec4502a_0000000000000079_ps.txt
@@ -23,6 +23,7 @@ ivec2 ires = textureSize(textureUnitPS0,0);
 vec2 res = vec2( float(ires.x), float(ires.y) );
 int r = int(floor(2.0 / uf_fragCoordScale.y + 0.5));
 vec4 R1f = vec4(0.0);
+
 for (int i=0; i<r; i++) {
 	float m = (1-r)/2 + float(i);
 	for (int k=0; k<r; k++){
@@ -35,4 +36,4 @@ R1f -= texture( textureUnitPS0, R0f+ vec2((1-r)/2,(r-1)/2) * 2.0 /res )/(pow(r,2
 R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(1-r)/2) * 2.0 /res )/(pow(r,2)-4);
 R1f -= texture( textureUnitPS0, R0f+ vec2((r-1)/2,(r-1)/2) * 2.0 /res )/(pow(r,2)-4); //workaround, less like a square, needs proper bokeh
 passPixelColor0 = R1f;
-}
+}
\ No newline at end of file
diff --git a/Quality/HyruleWarriors_1440p/rules.txt b/Quality/HyruleWarriors_1440p/rules.txt
new file mode 100644
index 00000000..f68f8b6a
--- /dev/null
+++ b/Quality/HyruleWarriors_1440p/rules.txt
@@ -0,0 +1,78 @@
+[Definition]
+titleIds = 000500001017D800,000500001017D900,000500001017CD00
+name = "Hyrule Warriors - 2560x1440"
+version = 2
+
+[TextureRedefine] #Game Resolution
+width = 1280
+height = 720
+formatsExcluded = 0x431,0x433
+tileModesExcluded = 0x001
+overwriteWidth = 2560
+overwriteHeight = 1440
+
+[TextureRedefine] #Only saw depth in Nsight
+width = 640
+height = 360
+tileModesExcluded = 0x001
+overwriteWidth = 1280
+overwriteHeight = 720
+
+[TextureRedefine] #Lighting?
+width = 322
+height = 182
+overwriteWidth = 644
+overwriteHeight = 364
+
+[TextureRedefine] #Dupe of Main Game
+width = 320
+height = 180
+overwriteWidth = 640
+overwriteHeight = 360
+
+[TextureRedefine] #Lighting Blur?
+width = 162
+height = 92
+overwriteWidth = 324
+overwriteHeight = 184
+
+[TextureRedefine] #Lighting Blur?
+width = 160
+height = 90
+overwriteWidth = 320
+overwriteHeight = 180
+
+#[TextureRedefine] #Shadows?
+#width = 1024
+#height = 2048
+#formats = 0x005
+#overwriteWidth = 2048
+#overwriteHeight = 4096
+
+#[TextureRedefine] #Dupe of Main Game?
+#width = 64
+#height = 64
+#formats = 0x005
+#overwriteWidth = 128
+#overwriteHeight = 128
+
+#[TextureRedefine] #Dupe of Main Game?
+#width = 16
+#height = 16
+#formats = 0x005
+#overwriteWidth = 32
+#overwriteHeight = 32
+
+#[TextureRedefine] #Dupe of Main Game?
+#width = 4
+#height = 4
+#formats = 0x005
+#overwriteWidth = 8
+#overwriteHeight = 8
+
+#[TextureRedefine] #Dupe of Main Game?
+#width = 1
+#height = 1
+#formats = 0x005
+#overwriteWidth = 2
+#overwriteHeight = 2
\ No newline at end of file
diff --git a/Quality/MK8_2160p/rules.txt b/Quality/MK8_2160p/rules.txt
index 92b11f69..c77f6092 100644
--- a/Quality/MK8_2160p/rules.txt
+++ b/Quality/MK8_2160p/rules.txt
@@ -3,11 +3,21 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00,ffffffff85887bc1
 name = "Mario Kart 8 - 3840x2160"
 version = 2
 
+# Main Screen Resolution better color depth
+[TextureRedefine] 
+width = 1280
+height = 720
+formats = 0x19,0x1a
+overwriteFormat = 0x1f
+tileModesExcluded = 0x001
+overwriteWidth = 3840
+overwriteHeight = 2160
+
 # Main Screen Resolution
 [TextureRedefine]
 width = 1280
 height = 720
-formatsExcluded = 0x41A,0x431 # exclude the intro background texture, race end background
+formatsExcluded = 0x41A,0x431,0x19,0x1a # exclude the intro background texture, race end background
 overwriteWidth = 3840
 overwriteHeight = 2160
 
diff --git a/Quality/Splatoon_1080p/rules.txt b/Quality/Splatoon_1080p/rules.txt
index cc62b2e0..4eef338a 100644
--- a/Quality/Splatoon_1080p/rules.txt
+++ b/Quality/Splatoon_1080p/rules.txt
@@ -6,20 +6,45 @@ version = 2
 [TextureRedefine] # tv
 width = 1280
 height = 720
+formatsExcluded = 0x816
+overwriteWidth = 1920
+overwriteHeight = 1080
+
+[TextureRedefine] # tv (increased depth)
+width = 1280
+height = 720
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 1920
 overwriteHeight = 1080
 
 [TextureRedefine] # half-res alpha
 width = 640
 height = 360
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 960
+overwriteHeight = 540
+
+[TextureRedefine] # half-res alpha (increased depth)
+width = 640
+height = 360
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 960
 overwriteHeight = 540
 
 [TextureRedefine] # quarter-res alpha
 width = 320
 height = 180
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 480
+overwriteHeight = 270
+
+[TextureRedefine] # quarter-res alpha (increased depth)
+width = 320
+height = 180
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 480
 overwriteHeight = 270
 
diff --git a/Quality/Splatoon_1080pUW/rules.txt b/Quality/Splatoon_1080pUW/rules.txt
index 2c190e30..0f86ae51 100644
--- a/Quality/Splatoon_1080pUW/rules.txt
+++ b/Quality/Splatoon_1080pUW/rules.txt
@@ -6,20 +6,45 @@ version = 2
 [TextureRedefine] # tv
 width = 1280
 height = 720
+formatsExcluded = 0x816
+overwriteWidth = 2560
+overwriteHeight = 1080
+
+[TextureRedefine] # tv (increased depth)
+width = 1280
+height = 720
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 2560
 overwriteHeight = 1080
 
 [TextureRedefine] # half-res alpha
 width = 640
 height = 360
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 1280
+overwriteHeight = 540
+
+[TextureRedefine] # half-res alpha (increased depth)
+width = 640
+height = 360
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 1280
 overwriteHeight = 540
 
 [TextureRedefine] # quarter-res alpha
 width = 320
 height = 180
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 640
+overwriteHeight = 270
+
+[TextureRedefine] # quarter-res alpha (increased depth)
+width = 320
+height = 180
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 640
 overwriteHeight = 270
 
diff --git a/Quality/Splatoon_1440p/rules.txt b/Quality/Splatoon_1440p/rules.txt
index 31c2e47a..39609041 100644
--- a/Quality/Splatoon_1440p/rules.txt
+++ b/Quality/Splatoon_1440p/rules.txt
@@ -6,20 +6,45 @@ version = 2
 [TextureRedefine] # tv
 width = 1280
 height = 720
+formatsExcluded = 0x816
+overwriteWidth = 2560
+overwriteHeight = 1440
+
+[TextureRedefine] # tv (increased depth)
+width = 1280
+height = 720
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 2560
 overwriteHeight = 1440
 
 [TextureRedefine] # half-res alpha
 width = 640
 height = 360
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 1280
+overwriteHeight = 720
+
+[TextureRedefine] # half-res alpha (increased depth)
+width = 640
+height = 360
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 1280
 overwriteHeight = 720
 
 [TextureRedefine] # quarter-res alpha
 width = 320
 height = 180
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 640
+overwriteHeight = 360
+
+[TextureRedefine] # quarter-res alpha (increased depth)
+width = 320
+height = 180
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 640
 overwriteHeight = 360
 
diff --git a/Quality/Splatoon_1800p/rules.txt b/Quality/Splatoon_1800p/rules.txt
index 59e6c4ef..104dbedc 100644
--- a/Quality/Splatoon_1800p/rules.txt
+++ b/Quality/Splatoon_1800p/rules.txt
@@ -6,20 +6,45 @@ version = 2
 [TextureRedefine] # tv
 width = 1280
 height = 720
+formatsExcluded = 0x816
+overwriteWidth = 3200
+overwriteHeight = 1800
+
+[TextureRedefine] # tv (increased depth)
+width = 1280
+height = 720
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 3200
 overwriteHeight = 1800
 
 [TextureRedefine] # half-res alpha
 width = 640
 height = 360
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 1600
+overwriteHeight = 900
+
+[TextureRedefine] # half-res alpha (increased depth)
+width = 640
+height = 360
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 1600
 overwriteHeight = 900
 
 [TextureRedefine] # quarter-res alpha
 width = 320
 height = 180
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 800
+overwriteHeight = 450
+
+[TextureRedefine] # quarter-res alpha (increased depth)
+width = 320
+height = 180
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 800
 overwriteHeight = 450
 
diff --git a/Quality/Splatoon_2160p/rules.txt b/Quality/Splatoon_2160p/rules.txt
index da1c807e..d84c2acd 100644
--- a/Quality/Splatoon_2160p/rules.txt
+++ b/Quality/Splatoon_2160p/rules.txt
@@ -6,20 +6,54 @@ version = 2
 [TextureRedefine] # tv
 width = 1280
 height = 720
+formatsExcluded = 0x816,0x19,0x1a
+overwriteWidth = 3840
+overwriteHeight = 2160
+
+[TextureRedefine] #TV
+width = 1280
+height = 720
+formats = 0x19,0x1a
+overwriteFormat = 0x1f
+tileModesExcluded = 0x001
+overwriteWidth = 3840
+overwriteHeight = 2160
+
+[TextureRedefine] # tv (increased depth)
+width = 1280
+height = 720
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 3840
 overwriteHeight = 2160
 
 [TextureRedefine] # half-res alpha
 width = 640
 height = 360
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 1920
+overwriteHeight = 1080
+
+[TextureRedefine] # half-res alpha (increased depth)
+width = 640
+height = 360
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 1920
 overwriteHeight = 1080
 
 [TextureRedefine] # quarter-res alpha
 width = 320
 height = 180
-formatsExcluded = 0x41A,0x431 # exclude obvious textures
+formatsExcluded = 0x41A,0x431,0x816 # exclude obvious textures
+overwriteWidth = 960
+overwriteHeight = 540
+
+[TextureRedefine] # quarter-res alpha (increased depth)
+width = 320
+height = 180
+formats = 0x816
+overwriteFormat = 0x823
 overwriteWidth = 960
 overwriteHeight = 540