From 20047706a99de4d02dea5acd1d341e550efc909a Mon Sep 17 00:00:00 2001
From: Milan <milanhekje@gmail.com>
Date: Thu, 4 Jan 2018 23:42:05 +0100
Subject: [PATCH] CleanCameraRune PreV1.0

Fixed most things. Final 1.0 release will be pretty much done from what will be possible with shader editing.
---
 .../37b9100c1310d3bb_0000000000000000_vs.txt  | 982 ++++++++++++++++++
 .../3e0262467e8add7d_0000000000000000_vs.txt  | 123 +++
 .../a8f3ec17a11d4a50_0000000000000000_vs.txt  | 125 +++
 .../cb83a22cf0961e1a_000000000000007d_ps.txt  |  93 --
 .../ededcf8bdc3384ef_0000000000000079_ps.txt  |  55 -
 .../BreathOfTheWild_CleanCameraRune/rules.txt | 171 ++-
 6 files changed, 1290 insertions(+), 259 deletions(-)
 create mode 100644 Enhancement/BreathOfTheWild_CleanCameraRune/37b9100c1310d3bb_0000000000000000_vs.txt
 create mode 100644 Enhancement/BreathOfTheWild_CleanCameraRune/3e0262467e8add7d_0000000000000000_vs.txt
 create mode 100644 Enhancement/BreathOfTheWild_CleanCameraRune/a8f3ec17a11d4a50_0000000000000000_vs.txt
 delete mode 100644 Enhancement/BreathOfTheWild_CleanCameraRune/cb83a22cf0961e1a_000000000000007d_ps.txt
 delete mode 100644 Enhancement/BreathOfTheWild_CleanCameraRune/ededcf8bdc3384ef_0000000000000079_ps.txt

diff --git a/Enhancement/BreathOfTheWild_CleanCameraRune/37b9100c1310d3bb_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_CleanCameraRune/37b9100c1310d3bb_0000000000000000_vs.txt
new file mode 100644
index 00000000..bc868bb4
--- /dev/null
+++ b/Enhancement/BreathOfTheWild_CleanCameraRune/37b9100c1310d3bb_0000000000000000_vs.txt
@@ -0,0 +1,982 @@
+#version 420
+#extension GL_ARB_texture_gather : enable
+#extension GL_ARB_separate_shader_objects : enable
+#extension GL_ARB_shading_language_packing : enable
+// shader 37b9100c1310d3bb
+uniform ivec4 uf_uniformRegisterVS[256];
+uniform vec2 uf_windowSpaceToClipSpaceTransform;
+layout(location = 0) in uvec4 attrDataSem0;
+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()
+{
+ivec4 R0i = ivec4(0);
+ivec4 R1i = ivec4(0);
+ivec4 R2i = ivec4(0);
+ivec4 R3i = ivec4(0);
+ivec4 R4i = ivec4(0);
+ivec4 R5i = ivec4(0);
+ivec4 R6i = ivec4(0);
+ivec4 R7i = ivec4(0);
+ivec4 R122i = ivec4(0);
+ivec4 R123i = ivec4(0);
+ivec4 R124i = ivec4(0);
+ivec4 R125i = ivec4(0);
+ivec4 R126i = ivec4(0);
+ivec4 R127i = ivec4(0);
+uvec4 attrDecoder;
+int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
+ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
+int PS0i = 0, PS1i = 0;
+ivec4 tempi = ivec4(0);
+float tempResultf;
+int tempResulti;
+ivec4 ARi = ivec4(0);
+bool predResult = true;
+bool activeMaskStack[14];
+bool activeMaskStackC[15];
+activeMaskStack[0] = false;
+activeMaskStack[1] = false;
+activeMaskStack[2] = false;
+activeMaskStack[3] = false;
+activeMaskStack[4] = false;
+activeMaskStack[5] = false;
+activeMaskStack[6] = false;
+activeMaskStack[7] = false;
+activeMaskStack[8] = false;
+activeMaskStack[9] = false;
+activeMaskStack[10] = false;
+activeMaskStack[11] = false;
+activeMaskStack[12] = false;
+activeMaskStackC[0] = false;
+activeMaskStackC[1] = false;
+activeMaskStackC[2] = false;
+activeMaskStackC[3] = false;
+activeMaskStackC[4] = false;
+activeMaskStackC[5] = false;
+activeMaskStackC[6] = false;
+activeMaskStackC[7] = false;
+activeMaskStackC[8] = false;
+activeMaskStackC[9] = false;
+activeMaskStackC[10] = false;
+activeMaskStackC[11] = false;
+activeMaskStackC[12] = false;
+activeMaskStackC[13] = false;
+activeMaskStack[0] = true;
+activeMaskStackC[0] = true;
+activeMaskStackC[1] = true;
+vec3 cubeMapSTM;
+int cubeMapFaceId;
+R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
+attrDecoder.xy = attrDataSem0.xy;
+attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
+attrDecoder.z = 0;
+attrDecoder.w = 0;
+R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+
+// Check Camera GUI
+int hideCamera = 1;
+if (uf_uniformRegisterVS[1].x) {
+	hideCamera = 2;
+}
+
+
+
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_uniformRegisterVS[15].x)));
+R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)));
+PV0i.y = R0i.y;
+R4i.z = 0;
+R0i.w = 0x3f800000;
+R127i.w = floatBitsToInt(1.0);
+PS0i = R127i.w;
+// 1
+R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[15].z));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_uniformRegisterVS[15].y)));
+// 2
+R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_uniformRegisterVS[15].w));
+PV0i.y = R0i.y;
+R1i.w = uf_uniformRegisterVS[2].x & 0x40000000;
+// 3
+backupReg0i = R0i.w;
+R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R4i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_uniformRegisterVS[4].x),intBitsToFloat(uf_uniformRegisterVS[4].y),intBitsToFloat(uf_uniformRegisterVS[4].z),intBitsToFloat(uf_uniformRegisterVS[4].w))));
+PV1i.x = R127i.x;
+PV1i.y = R127i.x;
+PV1i.z = R127i.x;
+PV1i.w = R127i.x;
+// 4
+backupReg0i = R0i.x;
+backupReg1i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[5].x),intBitsToFloat(uf_uniformRegisterVS[5].y),intBitsToFloat(uf_uniformRegisterVS[5].z),intBitsToFloat(uf_uniformRegisterVS[5].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R127i.y = tempi.x;
+// 5
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[6].x),intBitsToFloat(uf_uniformRegisterVS[6].y),intBitsToFloat(uf_uniformRegisterVS[6].z),intBitsToFloat(uf_uniformRegisterVS[6].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R127i.z = tempi.x;
+// 6
+R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[8].x),intBitsToFloat(uf_uniformRegisterVS[8].y),intBitsToFloat(uf_uniformRegisterVS[8].z),intBitsToFloat(uf_uniformRegisterVS[8].w))));
+PV0i.x = R6i.x;
+PV0i.y = R6i.x;
+PV0i.z = R6i.x;
+PV0i.w = R6i.x;
+// 7
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[9].x),intBitsToFloat(uf_uniformRegisterVS[9].y),intBitsToFloat(uf_uniformRegisterVS[9].z),intBitsToFloat(uf_uniformRegisterVS[9].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R6i.y = tempi.x;
+// 8
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[10].x),intBitsToFloat(uf_uniformRegisterVS[10].y),intBitsToFloat(uf_uniformRegisterVS[10].z),intBitsToFloat(uf_uniformRegisterVS[10].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R6i.z = tempi.x;
+// 9
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[11].x),intBitsToFloat(uf_uniformRegisterVS[11].y),intBitsToFloat(uf_uniformRegisterVS[11].z),intBitsToFloat(uf_uniformRegisterVS[11].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R6i.w = tempi.x;
+// 10
+predResult = (0 != R1i.w);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.z = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R0i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+// 0
+backupReg0i = R1i.y;
+R1i.y = backupReg0i;
+PV0i.y = R1i.y;
+R0i.z = 0;
+PV0i.z = R0i.z;
+R1i.w = 0x3f800000;
+PV0i.w = R1i.w;
+// 1
+R2i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
+R2i.w = PV0i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.x = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R126i.z = PV1i.x + PS1i;
+PV0i.z = R126i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R127i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].y):(uf_uniformRegisterVS[22].y));
+R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].x):(uf_uniformRegisterVS[22].x));
+// 5
+R123i.x = ((R127i.x == 0)?(uf_uniformRegisterVS[23].w):(uf_uniformRegisterVS[22].w));
+PV1i.x = R123i.x;
+R123i.y = ((R127i.x == 0)?(uf_uniformRegisterVS[23].z):(uf_uniformRegisterVS[22].z));
+PV1i.y = R123i.y;
+// 6
+R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_uniformRegisterVS[21].w));
+PV0i.x = R123i.x;
+R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_uniformRegisterVS[21].z));
+PV0i.y = R123i.y;
+R123i.z = ((R127i.y == 0)?(R127i.z):(uf_uniformRegisterVS[21].y));
+PV0i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R127i.w):(uf_uniformRegisterVS[21].x));
+PV0i.w = R123i.w;
+// 7
+R2i.x = ((R126i.z == 0)?(uf_uniformRegisterVS[20].x):(PV0i.w));
+R2i.y = ((R126i.z == 0)?(uf_uniformRegisterVS[20].y):(PV0i.z));
+R2i.z = ((R126i.z == 0)?(uf_uniformRegisterVS[20].z):(PV0i.y));
+R2i.w = ((R126i.z == 0)?(uf_uniformRegisterVS[20].w):(PV0i.x));
+}
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+// 0
+R3i.xyz = ivec3(0x437f0000,0x437f0000,0x437f0000);
+R3i.w = 0x437f0000;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+PV0i.x = uf_uniformRegisterVS[2].x >> 0x00000008;
+R2i.y = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+R1i.z = PV0i.x & 0x0000000f;
+// 2
+predResult = (0 != R2i.y);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R4i.y = R1i.y;
+R2i.z = 0;
+R1i.w = 0x3f800000;
+PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
+// 1
+R2i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
+PV1i.x = R2i.x;
+R2i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
+PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
+// 2
+R3i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS1i));
+PV0i.x = R3i.x;
+R3i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS1i));
+R4i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R4i.x;
+// 3
+R5i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(PS0i));
+R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
+PV1i.z = R0i.z;
+R7i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0);
+PS1i = R7i.x;
+// 4
+R3i.z = floatBitsToInt(-(intBitsToFloat(R3i.y)) + 1.0);
+R2i.w = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.z));
+// 5
+predResult = (R1i.z == 0);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)));
+R2i.y = R3i.x;
+PV0i.y = R2i.y;
+// 1
+R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[3] = activeMaskStack[3] == false;
+activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
+if( activeMaskStackC[4] == true ) {
+activeMaskStack[4] = activeMaskStack[3];
+activeMaskStackC[5] = activeMaskStackC[4];
+// 0
+predResult = (R1i.z == int(1));
+activeMaskStack[4] = predResult;
+activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true;
+}
+else {
+activeMaskStack[4] = false;
+activeMaskStackC[5] = false;
+}
+if( activeMaskStackC[5] == true ) {
+// 0
+backupReg0i = R2i.y;
+R2i.y = 0;
+PV0i.y = R2i.y;
+PV0i.z = R3i.x;
+PV0i.w = backupReg0i;
+// 1
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[4] = activeMaskStack[4] == false;
+activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
+if( activeMaskStackC[5] == true ) {
+activeMaskStack[5] = activeMaskStack[4];
+activeMaskStackC[6] = activeMaskStackC[5];
+// 0
+predResult = (R1i.z == 0x00000002);
+activeMaskStack[5] = predResult;
+activeMaskStackC[6] = predResult == true && activeMaskStackC[5] == true;
+}
+else {
+activeMaskStack[5] = false;
+activeMaskStackC[6] = false;
+}
+if( activeMaskStackC[6] == true ) {
+// 0
+backupReg0i = R3i.y;
+R3i.y = backupReg0i;
+PV0i.y = R3i.y;
+PV0i.z = R3i.z;
+PV0i.w = 0;
+// 1
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[5] = activeMaskStack[5] == false;
+activeMaskStackC[6] = activeMaskStack[5] == true && activeMaskStackC[5] == true;
+if( activeMaskStackC[6] == true ) {
+activeMaskStack[6] = activeMaskStack[5];
+activeMaskStackC[7] = activeMaskStackC[6];
+// 0
+predResult = (R1i.z == 0x00000003);
+activeMaskStack[6] = predResult;
+activeMaskStackC[7] = predResult == true && activeMaskStackC[6] == true;
+}
+else {
+activeMaskStack[6] = false;
+activeMaskStackC[7] = false;
+}
+if( activeMaskStackC[7] == true ) {
+// 0
+backupReg0i = R2i.y;
+R2i.y = R3i.z;
+PV0i.y = R2i.y;
+PV0i.z = R3i.y;
+PV0i.w = backupReg0i;
+// 1
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[6] = activeMaskStack[6] == false;
+activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
+if( activeMaskStackC[7] == true ) {
+activeMaskStack[7] = activeMaskStack[6];
+activeMaskStackC[8] = activeMaskStackC[7];
+// 0
+predResult = (R1i.z == 0x00000004);
+activeMaskStack[7] = predResult;
+activeMaskStackC[8] = predResult == true && activeMaskStackC[7] == true;
+}
+else {
+activeMaskStack[7] = false;
+activeMaskStackC[8] = false;
+}
+if( activeMaskStackC[8] == true ) {
+// 0
+R2i.y = R2i.w;
+PV0i.y = R2i.y;
+PV0i.z = R3i.x;
+PV0i.w = 0;
+// 1
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[7] = activeMaskStack[7] == false;
+activeMaskStackC[8] = activeMaskStack[7] == true && activeMaskStackC[7] == true;
+if( activeMaskStackC[8] == true ) {
+activeMaskStack[8] = activeMaskStack[7];
+activeMaskStackC[9] = activeMaskStackC[8];
+// 0
+predResult = (R1i.z == 0x00000005);
+activeMaskStack[8] = predResult;
+activeMaskStackC[9] = predResult == true && activeMaskStackC[8] == true;
+}
+else {
+activeMaskStack[8] = false;
+activeMaskStackC[9] = false;
+}
+if( activeMaskStackC[9] == true ) {
+// 0
+backupReg0i = R2i.y;
+R2i.y = R3i.x;
+PV0i.y = R2i.y;
+PV0i.z = R2i.w;
+PV0i.w = backupReg0i;
+// 1
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[8] = activeMaskStack[8] == false;
+activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
+if( activeMaskStackC[9] == true ) {
+activeMaskStack[9] = activeMaskStack[8];
+activeMaskStackC[10] = activeMaskStackC[9];
+// 0
+predResult = (R1i.z == 0x00000006);
+activeMaskStack[9] = predResult;
+activeMaskStackC[10] = predResult == true && activeMaskStackC[9] == true;
+}
+else {
+activeMaskStack[9] = false;
+activeMaskStackC[10] = false;
+}
+if( activeMaskStackC[10] == true ) {
+// 0
+R2i.y = R3i.x;
+PV0i.y = R2i.y;
+R3i.y = 0;
+PS0i = R3i.y;
+// 1
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
+}
+activeMaskStack[9] = activeMaskStack[9] == false;
+activeMaskStackC[10] = activeMaskStack[9] == true && activeMaskStackC[9] == true;
+if( activeMaskStackC[10] == true ) {
+activeMaskStack[10] = activeMaskStack[9];
+activeMaskStackC[11] = activeMaskStackC[10];
+// 0
+predResult = (R1i.z == 0x00000007);
+activeMaskStack[10] = predResult;
+activeMaskStackC[11] = predResult == true && activeMaskStackC[10] == true;
+}
+else {
+activeMaskStack[10] = false;
+activeMaskStackC[11] = false;
+}
+if( activeMaskStackC[11] == true ) {
+// 0
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)));
+R2i.y = R3i.y;
+PV0i.y = R2i.y;
+R3i.y = R3i.z;
+PS0i = R3i.y;
+// 1
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
+}
+activeMaskStack[10] = activeMaskStack[10] == false;
+activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
+if( activeMaskStackC[11] == true ) {
+activeMaskStack[11] = activeMaskStack[10];
+activeMaskStackC[12] = activeMaskStackC[11];
+// 0
+predResult = (R1i.z == 0x00000008);
+activeMaskStack[11] = predResult;
+activeMaskStackC[12] = predResult == true && activeMaskStackC[11] == true;
+}
+else {
+activeMaskStack[11] = false;
+activeMaskStackC[12] = false;
+}
+if( activeMaskStackC[12] == true ) {
+// 0
+R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x)));
+R2i.y = R3i.x;
+PV0i.y = R2i.y;
+// 1
+R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[11] = activeMaskStack[11] == false;
+activeMaskStackC[12] = activeMaskStack[11] == true && activeMaskStackC[11] == true;
+if( activeMaskStackC[12] == true ) {
+activeMaskStack[12] = activeMaskStack[11];
+activeMaskStackC[13] = activeMaskStackC[12];
+// 0
+predResult = (R1i.z == 0x00000009);
+activeMaskStack[12] = predResult;
+activeMaskStackC[13] = predResult == true && activeMaskStackC[12] == true;
+}
+else {
+activeMaskStack[12] = false;
+activeMaskStackC[13] = false;
+}
+if( activeMaskStackC[13] == true ) {
+// 0
+backupReg0i = R2i.y;
+R2i.y = 0;
+PV0i.y = R2i.y;
+PV0i.z = R3i.z;
+PV0i.w = backupReg0i;
+// 1
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
+}
+activeMaskStack[12] = activeMaskStack[12] == false;
+activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
+if( activeMaskStackC[13] == true ) {
+activeMaskStack[13] = activeMaskStack[12];
+activeMaskStackC[14] = activeMaskStackC[13];
+// 0
+predResult = (R1i.z == 0x0000000a);
+activeMaskStack[13] = predResult;
+activeMaskStackC[14] = predResult == true && activeMaskStackC[13] == true;
+}
+else {
+activeMaskStack[13] = false;
+activeMaskStackC[14] = false;
+}
+if( activeMaskStackC[14] == true ) {
+// 0
+R2i.y = R0i.z;
+PV0i.y = R2i.y;
+PV0i.z = R3i.x;
+PV0i.w = 0;
+// 1
+backupReg0i = R2i.x;
+R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
+R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
+}
+activeMaskStack[13] = activeMaskStack[13] == false;
+activeMaskStackC[14] = activeMaskStack[13] == true && activeMaskStackC[13] == true;
+if( activeMaskStackC[14] == true ) {
+// 0
+PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x)));
+R2i.y = R2i.w;
+PV0i.y = R2i.y;
+R127i.z = (R1i.z == 0x0000000c)?int(0xFFFFFFFF):int(0x0);
+PV0i.z = R127i.z;
+R127i.w = (R1i.z == 0x0000000b)?int(0xFFFFFFFF):int(0x0);
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
+R2i.y = R3i.z;
+PV1i.y = R2i.y;
+R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R2i.x)));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.z == 0)?(0):(PV0i.x));
+PV1i.w = R123i.w;
+// 2
+R2i.x = ((R127i.w == 0)?(PV1i.w):(PV1i.z));
+R123i.z = ((R127i.z == 0)?(0):(PV1i.x));
+PV0i.z = R123i.z;
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.y)));
+PV0i.w = R123i.w;
+// 3
+R2i.y = ((R127i.w == 0)?(PV0i.z):(PV0i.w));
+}
+activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
+activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
+activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
+activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
+activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0);
+PV0i.x = R127i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0);
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x)));
+// 2
+R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x)));
+R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+// 3
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x)));
+R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
+PS1i = R127i.w;
+// 4
+backupReg0i = R127i.z;
+R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x)));
+R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg0i)));
+PS0i = R126i.z;
+// 5
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
+R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
+PS1i = R3i.x;
+// 6
+R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
+R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
+R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
+// 7
+backupReg0i = R2i.z;
+R2i.xyz = ivec3(R1i.x,R4i.y,backupReg0i);
+R2i.w = R1i.w;
+}
+activeMaskStack[2] = activeMaskStack[2] == false;
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+PS0i = int(intBitsToFloat(R1i.y));
+// 1
+PV1i.z = PS0i << int(1);
+PS1i = int(intBitsToFloat(R1i.x));
+// 2
+R0i.z = PV1i.z + PS1i;
+PV0i.z = R0i.z;
+// 3
+R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
+PV1i.x = R127i.x;
+R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
+// 4
+R127i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].y):(uf_uniformRegisterVS[22].y));
+R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].x):(uf_uniformRegisterVS[22].x));
+// 5
+R123i.x = ((R127i.x == 0)?(uf_uniformRegisterVS[23].w):(uf_uniformRegisterVS[22].w));
+PV1i.x = R123i.x;
+R123i.y = ((R127i.x == 0)?(uf_uniformRegisterVS[23].z):(uf_uniformRegisterVS[22].z));
+PV1i.y = R123i.y;
+// 6
+R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_uniformRegisterVS[21].w));
+PV0i.x = R123i.x;
+R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_uniformRegisterVS[21].z));
+PV0i.y = R123i.y;
+R123i.z = ((R127i.y == 0)?(R127i.z):(uf_uniformRegisterVS[21].y));
+PV0i.z = R123i.z;
+R123i.w = ((R127i.y == 0)?(R127i.w):(uf_uniformRegisterVS[21].x));
+PV0i.w = R123i.w;
+// 7
+R2i.x = ((R0i.z == 0)?(uf_uniformRegisterVS[20].x):(PV0i.w));
+R2i.y = ((R0i.z == 0)?(uf_uniformRegisterVS[20].y):(PV0i.z));
+R2i.z = ((R0i.z == 0)?(uf_uniformRegisterVS[20].z):(PV0i.y));
+R2i.w = ((R0i.z == 0)?(uf_uniformRegisterVS[20].w):(PV0i.x));
+// 8
+predResult = (R1i.z == 0x0000000d);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
+// 1
+PV1i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS0i));
+PV1i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS0i));
+PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
+// 2
+R127i.x = PV1i.z;
+R127i.y = PV1i.w;
+PV0i.y = R127i.y;
+R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
+PV0i.z = R127i.z;
+R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
+// 3
+PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
+PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
+// 4
+PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w));
+// 5
+backupReg0i = R127i.z;
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y)));
+PV1i.z = R127i.z;
+R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i)));
+PV1i.w = R126i.w;
+// 6
+R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
+PV0i.x = R127i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
+// 7
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x)));
+// 8
+R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x)));
+R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y)));
+R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+// 9
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x)));
+R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
+PS1i = R127i.w;
+// 10
+backupReg0i = R127i.z;
+backupReg0i = R127i.z;
+backupReg1i = R126i.z;
+R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x)));
+R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y)));
+R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z)));
+R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w)));
+PV0i.w = R123i.w;
+R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg1i)));
+PS0i = R126i.z;
+// 11
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
+R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
+PS1i = R3i.x;
+// 12
+R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
+R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
+R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
+}
+activeMaskStack[3] = activeMaskStack[3] == false;
+activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = floatBitsToInt(float(R0i.z));
+PS0i = R127i.x;
+// 1
+tempResultf = intBitsToFloat(PS0i);
+tempResultf = floor(tempResultf);
+tempResultf = clamp(tempResultf, -256.0, 255.0);
+ARi.x = int(tempResultf);
+PV1i.x = floatBitsToInt(tempResultf);
+// 2
+R3i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+16].x,uf_uniformRegisterVS[ARi.x+16].y,uf_uniformRegisterVS[ARi.x+16].z);
+R3i.w = uf_uniformRegisterVS[ARi.x+16].w;
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+activeMaskStack[1] = activeMaskStack[0];
+activeMaskStackC[2] = activeMaskStackC[1];
+// 0
+predResult = (0 != uf_uniformRegisterVS[3].x);
+activeMaskStack[1] = predResult;
+activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
+}
+else {
+activeMaskStack[1] = false;
+activeMaskStackC[2] = false;
+}
+if( activeMaskStackC[2] == true ) {
+// 0
+backupReg0i = R0i.y;
+backupReg1i = R0i.w;
+R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[20].x),intBitsToFloat(uf_uniformRegisterVS[20].y),intBitsToFloat(uf_uniformRegisterVS[20].z),intBitsToFloat(uf_uniformRegisterVS[20].w))));
+PV0i.x = R2i.x;
+PV0i.y = R2i.x;
+PV0i.z = R2i.x;
+PV0i.w = R2i.x;
+// 1
+backupReg0i = R0i.x;
+backupReg1i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[21].x),intBitsToFloat(uf_uniformRegisterVS[21].y),intBitsToFloat(uf_uniformRegisterVS[21].z),intBitsToFloat(uf_uniformRegisterVS[21].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R2i.y = tempi.x;
+// 2
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+backupReg2i = R0i.w;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[22].x),intBitsToFloat(uf_uniformRegisterVS[22].y),intBitsToFloat(uf_uniformRegisterVS[22].z),intBitsToFloat(uf_uniformRegisterVS[22].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R2i.z = tempi.x;
+// 3
+backupReg0i = R0i.x;
+backupReg1i = R0i.y;
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[23].x),intBitsToFloat(uf_uniformRegisterVS[23].y),intBitsToFloat(uf_uniformRegisterVS[23].z),intBitsToFloat(uf_uniformRegisterVS[23].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R2i.w = tempi.x;
+}
+activeMaskStack[1] = activeMaskStack[1] == false;
+activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
+if( activeMaskStackC[2] == true ) {
+activeMaskStack[2] = activeMaskStack[1];
+activeMaskStackC[3] = activeMaskStackC[2];
+// 0
+R0i.z = uf_uniformRegisterVS[2].x & int(1);
+// 1
+predResult = (0 != R0i.z);
+activeMaskStack[2] = predResult;
+activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
+}
+else {
+activeMaskStack[2] = false;
+activeMaskStackC[3] = false;
+}
+if( activeMaskStackC[3] == true ) {
+activeMaskStack[3] = activeMaskStack[2];
+activeMaskStackC[4] = activeMaskStackC[3];
+// 0
+R0i.y = uf_uniformRegisterVS[2].x & 0x00000002;
+// 1
+predResult = (0 != R0i.y);
+activeMaskStack[3] = predResult;
+activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
+}
+else {
+activeMaskStack[3] = false;
+activeMaskStackC[4] = false;
+}
+if( activeMaskStackC[4] == true ) {
+// 0
+R127i.x = uf_uniformRegisterVS[2].x & 0x00010000;
+R127i.y = uf_uniformRegisterVS[2].x & 0x00000010;
+PV0i.y = R127i.y;
+R125i.z = uf_uniformRegisterVS[2].x & 0x00000004;
+R127i.w = uf_uniformRegisterVS[2].x & 0x00000020;
+// 1
+PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].y)));
+PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].x)));
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].x)));
+PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].y)));
+R127i.z = ((PV0i.y == 0)?(R2i.y):(R2i.y));
+PS1i = R127i.z;
+// 2
+R123i.x = ((R127i.y == 0)?(R2i.w):(R2i.w));
+PV0i.x = R123i.x;
+R123i.y = ((R127i.y == 0)?(R2i.z):(R2i.z));
+PV0i.y = R123i.y;
+R126i.z = ((R127i.x == 0)?(PV1i.x):(PV1i.z));
+PV0i.z = R126i.z;
+R123i.w = ((R127i.x == 0)?(PV1i.y):(PV1i.w));
+PV0i.w = R123i.w;
+R124i.y = uf_uniformRegisterVS[2].x & 0x00000008;
+PS0i = R124i.y;
+// 3
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.w)));
+PV1i.x = R0i.x;
+R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0);
+PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z)));
+R123i.w = ((R127i.w == 0)?(PV0i.y):(PV0i.y));
+PV1i.w = R123i.w;
+R122i.x = ((R127i.w == 0)?(PV0i.x):(PV0i.x));
+PS1i = R122i.x;
+// 4
+backupReg0i = R127i.y;
+R123i.x = ((R127i.w == 0)?(R127i.z):(PV1i.z));
+PV0i.x = R123i.x;
+R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
+R127i.z = ((R125i.z == 0)?(PV1i.w):(PV1i.w));
+R123i.w = ((backupReg0i == 0)?(R2i.x):(PV1i.x));
+PV0i.w = R123i.w;
+R126i.z = ((R125i.z == 0)?(PS1i):(PS1i));
+PS0i = R126i.z;
+// 5
+R127i.x = ((R125i.z == 0)?(PV0i.x):(PV0i.x));
+PV1i.x = R127i.x;
+R125i.y = ((R127i.w == 0)?(PV0i.w):(PV0i.w));
+PV1i.y = R125i.y;
+// 6
+R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y));
+PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.y));
+// 7
+R123i.y = ((R125i.z == 0)?(R125i.y):(PV0i.z));
+PV1i.y = R123i.y;
+// 8
+R2i.x = ((R124i.y == 0)?(PV1i.y):(PV1i.y));
+R2i.y = ((R124i.y == 0)?(R127i.x):(R126i.x));
+R2i.z = ((R124i.y == 0)?(R127i.z):(R127i.z));
+R2i.w = ((R124i.y == 0)?(R126i.z):(R126i.z));
+PS0i = R2i.w;
+}
+activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
+if( activeMaskStackC[3] == true ) {
+// 0
+R0i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0);
+PV0i.x = R0i.x;
+R126i.y = uf_uniformRegisterVS[2].x & 0x00010000;
+R127i.z = uf_uniformRegisterVS[2].x & 0x00040000;
+PV0i.w = uf_uniformRegisterVS[2].x & 0x00020000;
+// 1
+R123i.x = ((PV0i.w == 0)?(R2i.z):(R2i.z));
+PV1i.x = R123i.x;
+R127i.y = ((PV0i.w == 0)?(R2i.y):(R2i.y));
+PV1i.y = R127i.y;
+R123i.z = ((PV0i.w == 0)?(R2i.x):(PV0i.x));
+PV1i.z = R123i.z;
+R123i.w = ((PV0i.w == 0)?(R2i.w):(R2i.w));
+PV1i.w = R123i.w;
+// 2
+R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
+PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
+R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
+R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
+// 3
+R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
+PV1i.w = R123i.w;
+// 4
+R2i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
+R2i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
+R2i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
+R2i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
+}
+activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
+if( activeMaskStackC[1] == true ) {
+// 0
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[14].x),intBitsToFloat(uf_uniformRegisterVS[14].y),intBitsToFloat(uf_uniformRegisterVS[14].z),intBitsToFloat(uf_uniformRegisterVS[14].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+// 1
+PV1i.x = PV0i.x;
+R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(uf_uniformRegisterVS[0].y)));
+R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(uf_uniformRegisterVS[0].z)));
+R1i.w = PV0i.x;
+R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_uniformRegisterVS[0].x)));
+PS1i = R0i.x;
+// 2
+R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[13].x),intBitsToFloat(uf_uniformRegisterVS[13].y),intBitsToFloat(uf_uniformRegisterVS[13].z),intBitsToFloat(uf_uniformRegisterVS[13].w))));
+PV0i.x = R1i.x;
+PV0i.y = R1i.x;
+PV0i.z = R1i.x;
+PV0i.w = R1i.x;
+R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
+PS0i = R1i.y;
+// 3
+R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(uf_uniformRegisterVS[0].w)));
+}
+// export
+gl_Position = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z)*hideCamera, intBitsToFloat(R6i.w));
+// export
+passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
+// export
+passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w));
+}
diff --git a/Enhancement/BreathOfTheWild_CleanCameraRune/3e0262467e8add7d_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_CleanCameraRune/3e0262467e8add7d_0000000000000000_vs.txt
new file mode 100644
index 00000000..ab9593b6
--- /dev/null
+++ b/Enhancement/BreathOfTheWild_CleanCameraRune/3e0262467e8add7d_0000000000000000_vs.txt
@@ -0,0 +1,123 @@
+#version 420
+#extension GL_ARB_texture_gather : enable
+#extension GL_ARB_separate_shader_objects : enable
+#extension GL_ARB_shading_language_packing : enable
+// shader 3e0262467e8add7d
+uniform ivec4 uf_remappedVS[4];
+uniform vec2 uf_windowSpaceToClipSpaceTransform;
+layout(location = 0) in uvec4 attrDataSem0;
+layout(location = 1) in uvec4 attrDataSem1;
+layout(location = 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()
+{
+ivec4 R0i = ivec4(0);
+ivec4 R1i = ivec4(0);
+ivec4 R2i = ivec4(0);
+ivec4 R3i = ivec4(0);
+ivec4 R4i = ivec4(0);
+ivec4 R5i = ivec4(0);
+ivec4 R126i = ivec4(0);
+ivec4 R127i = ivec4(0);
+uvec4 attrDecoder;
+int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
+ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
+int PS0i = 0, PS1i = 0;
+ivec4 tempi = ivec4(0);
+float tempResultf;
+int tempResulti;
+ivec4 ARi = ivec4(0);
+bool predResult = true;
+vec3 cubeMapSTM;
+int cubeMapFaceId;
+R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
+attrDecoder.xyz = attrDataSem2.xyz;
+attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
+attrDecoder.w = 0;
+R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
+attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem0.xyzw)/255.0);
+R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w));
+attrDecoder.xyz = attrDataSem1.xyz;
+attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
+attrDecoder.w = 0;
+R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
+
+
+int hideText = 1;
+if (uf_remappedVS[0].w == -1012724819) {
+	hideText = 2;
+}
+
+
+// 0
+R126i.x = 0;
+PV0i.y = floatBitsToInt(-(intBitsToFloat(R1i.w)));
+R127i.z = ((0.0 > intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0));
+PV0i.z = R127i.z;
+R127i.w = 0x3f800000;
+PV0i.w = R127i.w;
+R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + -(1.0));
+PS0i = R127i.x;
+// 1
+R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))));
+PV1i.x = R0i.x;
+PV1i.y = R0i.x;
+PV1i.z = R0i.x;
+PV1i.w = R0i.x;
+R4i.w = ((PV0i.z == 0)?(R1i.w):(PV0i.y));
+PS1i = R4i.w;
+// 2
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R0i.y = tempi.x;
+R5i.z = ((R127i.z == 0)?(R2i.z):(R127i.x));
+PS0i = R5i.z;
+// 3
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R0i.z = tempi.x;
+R4i.x = ((R127i.z == 0)?(R1i.x):(R1i.x));
+PS1i = R4i.x;
+// 4
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R0i.w = tempi.x;
+R4i.y = ((R127i.z == 0)?(R1i.y):(R1i.y));
+PS0i = R4i.y;
+// 5
+R5i.x = ((R127i.z == 0)?(R2i.x):(R2i.x));
+R5i.y = ((R127i.z == 0)?(R2i.y):(R2i.y));
+R4i.z = ((R127i.z == 0)?(R1i.z):(R1i.z));
+// 6
+R5i.w = ((R127i.z == 0)?(R126i.x):(R126i.x));
+// export
+gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z)*hideText, intBitsToFloat(R0i.w));
+// export
+passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w));
+// export
+passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w));
+}
\ No newline at end of file
diff --git a/Enhancement/BreathOfTheWild_CleanCameraRune/a8f3ec17a11d4a50_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_CleanCameraRune/a8f3ec17a11d4a50_0000000000000000_vs.txt
new file mode 100644
index 00000000..82e48f05
--- /dev/null
+++ b/Enhancement/BreathOfTheWild_CleanCameraRune/a8f3ec17a11d4a50_0000000000000000_vs.txt
@@ -0,0 +1,125 @@
+#version 420
+#extension GL_ARB_texture_gather : enable
+#extension GL_ARB_separate_shader_objects : enable
+#extension GL_ARB_shading_language_packing : enable
+// shader a8f3ec17a11d4a50
+
+bool hideAllText = true; // Brings many bugs, will be off (hence fixed) on the full release.
+
+uniform ivec4 uf_remappedVS[4];
+uniform vec2 uf_windowSpaceToClipSpaceTransform;
+layout(location = 0) in uvec4 attrDataSem0;
+layout(location = 1) in uvec4 attrDataSem1;
+layout(location = 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()
+{
+ivec4 R0i = ivec4(0);
+ivec4 R1i = ivec4(0);
+ivec4 R2i = ivec4(0);
+ivec4 R3i = ivec4(0);
+ivec4 R4i = ivec4(0);
+ivec4 R5i = ivec4(0);
+ivec4 R126i = ivec4(0);
+ivec4 R127i = ivec4(0);
+uvec4 attrDecoder;
+int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
+ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
+int PS0i = 0, PS1i = 0;
+ivec4 tempi = ivec4(0);
+float tempResultf;
+int tempResulti;
+ivec4 ARi = ivec4(0);
+bool predResult = true;
+vec3 cubeMapSTM;
+int cubeMapFaceId;
+R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
+attrDecoder.xyz = attrDataSem2.xyz;
+attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
+attrDecoder.w = 0;
+R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
+attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem0.xyzw)/255.0);
+R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w));
+attrDecoder.xyz = attrDataSem1.xyz;
+attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
+attrDecoder.w = 0;
+R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
+
+// Check text
+int hideText = 1;
+if (uf_remappedVS[0].w == -1052388992 || uf_remappedVS[0].w == 1093474128 || hideAllText) {
+	hideText = 2;
+}
+
+// 0
+R126i.x = 0;
+PV0i.y = floatBitsToInt(-(intBitsToFloat(R1i.w)));
+R127i.z = ((0.0 > intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0));
+PV0i.z = R127i.z;
+R127i.w = 0x3f800000;
+PV0i.w = R127i.w;
+R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + -(1.0));
+PS0i = R127i.x;
+// 1
+R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))));
+PV1i.x = R0i.x;
+PV1i.y = R0i.x;
+PV1i.z = R0i.x;
+PV1i.w = R0i.x;
+R4i.w = ((PV0i.z == 0)?(R1i.w):(PV0i.y));
+PS1i = R4i.w;
+// 2
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R0i.y = tempi.x;
+R5i.z = ((R127i.z == 0)?(R2i.z):(R127i.x));
+PS0i = R5i.z;
+// 3
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
+PV1i.x = tempi.x;
+PV1i.y = tempi.x;
+PV1i.z = tempi.x;
+PV1i.w = tempi.x;
+R0i.z = tempi.x;
+R4i.x = ((R127i.z == 0)?(R1i.x):(R1i.x));
+PS1i = R4i.x;
+// 4
+tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
+PV0i.x = tempi.x;
+PV0i.y = tempi.x;
+PV0i.z = tempi.x;
+PV0i.w = tempi.x;
+R0i.w = tempi.x;
+R4i.y = ((R127i.z == 0)?(R1i.y):(R1i.y));
+PS0i = R4i.y;
+// 5
+R5i.x = ((R127i.z == 0)?(R2i.x):(R2i.x));
+R5i.y = ((R127i.z == 0)?(R2i.y):(R2i.y));
+R4i.z = ((R127i.z == 0)?(R1i.z):(R1i.z));
+// 6
+R5i.w = ((R127i.z == 0)?(R126i.x):(R126i.x));
+// export
+gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z)*hideText, intBitsToFloat(R0i.w));
+// export
+passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w));
+// export
+passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w));
+}
diff --git a/Enhancement/BreathOfTheWild_CleanCameraRune/cb83a22cf0961e1a_000000000000007d_ps.txt b/Enhancement/BreathOfTheWild_CleanCameraRune/cb83a22cf0961e1a_000000000000007d_ps.txt
deleted file mode 100644
index ac2c4da2..00000000
--- a/Enhancement/BreathOfTheWild_CleanCameraRune/cb83a22cf0961e1a_000000000000007d_ps.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-#version 420
-#extension GL_ARB_texture_gather : enable
-// shader cb83a22cf0961e1a
-// Remove some spare text
-uniform ivec4 uf_remappedPS[4];
-layout(binding = 0) uniform sampler2DArray textureUnitPS0;// Tex0 addr 0x20384000 res 1024x1024x1 dim 5 tm: 4 format 0001 compSel: 5 5 5 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0
-layout(location = 0) in vec4 passParameterSem0;
-layout(location = 1) in vec4 passParameterSem1;
-layout(location = 0) out vec4 passPixelColor0;
-uniform vec2 uf_fragCoordScale;
-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()
-{
-ivec4 R0i = ivec4(0);
-ivec4 R1i = ivec4(0);
-ivec4 R2i = ivec4(0);
-ivec4 R123i = ivec4(0);
-ivec4 R126i = ivec4(0);
-ivec4 R127i = ivec4(0);
-int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
-ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
-int PS0i = 0, PS1i = 0;
-ivec4 tempi = ivec4(0);
-float tempResultf;
-int tempResulti;
-ivec4 ARi = ivec4(0);
-bool predResult = true;
-vec3 cubeMapSTM;
-int cubeMapFaceId;
-R0i = floatBitsToInt(passParameterSem0);
-R1i = floatBitsToInt(passParameterSem1);
-// 0
-backupReg0i = R1i.z;
-R2i.x = ((intBitsToFloat(R0i.w) > 0.0)?int(0xFFFFFFFF):int(0x0));
-R1i.z = floatBitsToInt(roundEven(intBitsToFloat(backupReg0i)));
-R1i.w = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z))).w);
-// 0
-PV0i.x = R1i.w;
-PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0);
-PV0i.y = ((intBitsToFloat(0x3f0a3d71) > intBitsToFloat(R1i.w))?int(0xFFFFFFFF):int(0x0));
-PV0i.w = floatBitsToInt(intBitsToFloat(R1i.w) + -(0.5));
-PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0);
-// 1
-R127i.y = ((PV0i.y == 0)?(0x3f800000):(PV0i.x));
-R127i.z = ((PV0i.y == 0)?(PV0i.w):(0));
-PV1i.z = R127i.z;
-// 2
-R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[0].y)) + intBitsToFloat(uf_remappedPS[1].y)));
-PV0i.z = R123i.z;
-R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x)));
-PV0i.w = R123i.w;
-// 3
-backupReg0i = R0i.x;
-PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedPS[0].w)));
-R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedPS[0].z)) + intBitsToFloat(uf_remappedPS[1].z)));
-PV1i.y = R123i.y;
-R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.w)));
-R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(PV0i.z)));
-// 4
-R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.y)));
-R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PV1i.x)));
-R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(uf_remappedPS[3].y)));
-PV0i.z = R123i.z;
-R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(uf_remappedPS[3].x)));
-PV0i.w = R123i.w;
-// 5
-backupReg0i = R0i.x;
-PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedPS[2].w)));
-R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedPS[2].z)) + intBitsToFloat(uf_remappedPS[3].z)));
-PV1i.y = R123i.y;
-PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.w)));
-PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(PV0i.z)));
-// 6
-backupReg0i = R0i.z;
-PV0i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R0i.w)), intBitsToFloat(PV1i.x)));
-R0i.y = ((R2i.x == 0)?(PV1i.w):(R127i.w));
-PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y)));
-R0i.x = ((R2i.x == 0)?(PV1i.z):(R126i.z));
-PS0i = R0i.x;
-// 7
-R0i.z = ((R2i.x == 0)?(PV0i.z):(R127i.x));
-R0i.w = ((R2i.x == 0)?(PV0i.x):(R126i.y));
-// export
-passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), 0.0);
-}
diff --git a/Enhancement/BreathOfTheWild_CleanCameraRune/ededcf8bdc3384ef_0000000000000079_ps.txt b/Enhancement/BreathOfTheWild_CleanCameraRune/ededcf8bdc3384ef_0000000000000079_ps.txt
deleted file mode 100644
index 02b0acea..00000000
--- a/Enhancement/BreathOfTheWild_CleanCameraRune/ededcf8bdc3384ef_0000000000000079_ps.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-#version 420
-#extension GL_ARB_texture_gather : enable
-// shader ededcf8bdc3384ef
-uniform ivec4 uf_remappedPS[2];
-layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x242a1800 res 1280x720x1 dim 1 tm: 4 format 0008 compSel: 2 1 0 5 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 = 1) in vec4 passParameterSem1;
-layout(location = 0) out vec4 passPixelColor0;
-uniform vec2 uf_fragCoordScale;
-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 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;
-R0f = passParameterSem0;
-R1f = passParameterSem1;
-R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw);
-// 0
-R127f.z = (mul_nonIEEE(R1f.y,intBitsToFloat(uf_remappedPS[0].y)) + intBitsToFloat(uf_remappedPS[1].y));
-R123f.w = (mul_nonIEEE(R1f.x,intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x));
-PV0f.w = R123f.w;
-// 1
-R123f.x = (mul_nonIEEE(R1f.w,intBitsToFloat(uf_remappedPS[0].w)) + intBitsToFloat(uf_remappedPS[1].w));
-PV1f.x = R123f.x;
-R123f.y = (mul_nonIEEE(R1f.z,intBitsToFloat(uf_remappedPS[0].z)) + intBitsToFloat(uf_remappedPS[1].z));
-PV1f.y = R123f.y;
-R1f.x = mul_nonIEEE(R0f.x, PV0f.w);
-PS1f = R1f.x;
-// 2
-R1f.y = mul_nonIEEE(R0f.y, R127f.z);
-R1f.z = mul_nonIEEE(R0f.z, PV1f.y);
-R1f.w = mul_nonIEEE(R0f.w, PV1f.x);
-// export
-passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, 0.0);
-}
diff --git a/Enhancement/BreathOfTheWild_CleanCameraRune/rules.txt b/Enhancement/BreathOfTheWild_CleanCameraRune/rules.txt
index 195b3ff2..501c1b3e 100644
--- a/Enhancement/BreathOfTheWild_CleanCameraRune/rules.txt
+++ b/Enhancement/BreathOfTheWild_CleanCameraRune/rules.txt
@@ -1,12 +1,11 @@
 [Definition]
 titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
-name = "The Legend of Zelda: Breath of the Wild - Clean Camera Rune V0.2"
+name = "The Legend of Zelda: Breath of the Wild - Clean Camera Rune Pre-Release V1.0" # First release, close to not breaking any gameplay.
 version = 2
 
-# Use prohud+ to disable hearts. Affects nothing (afaik) besides text and some bugs(seen on the main menu).
-# The selfie view isn't working correctly (yet) and shows blue squares as I don't know a way to disable this yet.
-# This pack is doomed to have bugs, so only enable it when you want to make high-res screenshots.
-# Reporting bugs is helpful to improve this pack (although there's no magic, so it might stay unfixed) and can be done on github or via discord (you'll know where). 
+# Use prohud+ to disable hearts. Affects nothing major besides menu backgrounds (and in this pre-release all the text, will be fixed in the upcoming release) which will be set to a 'clean' look.
+# The selfie view is fixed, besides some spare text left over (object labeling). You can try disabling the drawdone setting to glitch out the specific object text which isn't specifically target-able in any shader form.
+# Reporting bugs is helpful to improve this pack and can be done on Github. 
 
 
 
@@ -26,48 +25,44 @@ width = 314
 height = 358
 formats = 0x034
 tilemodes = 4
-overwriteHeight = 1
-overwriteWidth = 1
+overwriteFormat = 0x001 # UNORM -> SNORM
 
 [TextureRedefine] # Removes Storage Numbers # f4252800_fmt001a_mip00_24x24_tm04_sw00000000.bmp
 width = 24
 height = 24
 formats = 0x001a
 tilemodes = 4
-overwriteHeight = 1
-overwriteWidth = 1
+overwriteFormat = 0x021a # UNORM -> SNORM
 
 [TextureRedefine] # Removes most text! Also only removes a single element... # 20340000_fmt0001_mip00_1024x1024_tm04_sw00000000.bmp
 width = 1024
 height = 1024
 formats = 0x001
 tilemodes = 4
-overwriteWidth = 1
-overwriteHeight = 1
+#overwriteHeight = 1
+#overwriteWidth = 1
 
 [TextureRedefine] # Remove the zoom triangle # 229f1000_fmt0034_mip00_75x75_tm04_sw00000000.bmp
 width = 75
 height = 75
 formats = 0x034
 tilemodes = 4
-overwriteWidth = 1
-overwriteHeight = 1
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # Remove the zoom line # 236ad000_fmt0034_mip00_8x8_tm02_sw00000000.bmp
 width = 8
 height = 8
 formats = 0x034
 tilemodes = 2
-overwriteWidth = 1
-overwriteHeight = 1
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # Remove the orange # 23379900_fmt0034_mip00_26x26_tm02_sw00000000.bmp
 width = 26
 height = 26
 formats = 0x034
 tilemodes = 2
-overwriteWidth = 1
-overwriteHeight = 1
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
+
 
 # >>> MISC <<<
 [TextureRedefine] # Disable Camera Vignette # 2330e000_fmt0034_mip00_242x162_tm04_sw00000100.bmp
@@ -75,371 +70,325 @@ width = 242
 height = 162
 formats = 0x034
 tilemodes = 4
-overwriteHeight = 1
-overwriteWidth = 1
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # Disable Background 'Lines' # 2258b000_fmt0034_mip00_13x305_tm04_sw00000400.bmp
 width = 13
 height = 305
 formats = 0x034
 tilemodes = 4
-overwriteHeight = 1
-overwriteWidth = 1
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # Removing Border Runes # 2005e000_fmt0034_mip00_32x1024_tm04_sw00000000.bmp
 width = 32
 height = 1024
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # Removing Background # 228d9000_fmt0034_mip00_512x512_tm04_sw00000300.bmp
 width = 512
 height = 512
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # Removing Textures from edge # 239f3000_fmt0034_mip00_1278x387_tm04_sw00000400.bmp
 width = 1278
 height = 387
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # Removes the glow at the border, but can affect other effects. Off by default due to this. # 22456000_fmt0035_mip00_128x128_tm04_sw00000000.bmp
 width = 128
 height = 128
 formats = 0x035
-#overwriteHeight = 1
-#overwriteWidth = 1
 tilemodes = 4
-
+overwriteFormat = 0x235 # UNORM -> SNORM
 
 # >>> Frame Decoration <<<
 [TextureRedefine] # 23c76000_fmt0433_mip00_97x156_tm04_sw00000600.bmp
 width = 97
 height = 156
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 22a80000_fmt0433_mip00_179x40_tm04_sw00000000.bmp
 width = 179
 height = 40
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 22f42000_fmt0433_mip00_855x30_tm04_sw00000300.bmp
 width = 855
 height = 30
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 23d74000_fmt0433_mip00_151x139_tm04_sw00000500.bmp
 width = 151
 height = 139
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 229d8000_fmt0433_mip00_88x77_tm04_sw00000200.bmp
 width = 88
 height = 77
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 2375e000_fmt0433_mip00_908x26_tm04_sw00000200.bmp
 width = 908
 height = 26
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 22346000_fmt0433_mip00_57x171_tm04_sw00000200.bmp
 width = 57
 height = 171
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 22360000_fmt0433_mip00_79x187_tm04_sw00000100.bmp
 width = 79
 height = 187
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 22884000_fmt0433_mip00_96x69_tm04_sw00000700.bmp
 width = 96
 height = 69
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 23697100_fmt0433_mip00_107x47_tm02_sw00000000.bmp
 width = 107
 height = 47
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 2
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 [TextureRedefine] # 23c76000_fmt0433_mip00_97x156_tm04_sw00000600.bmp
 width = 97
 height = 156
 formats = 0x433
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x033 # SRGB -> UNORM
 
 # >>> Frame Glow <<<
 [TextureRedefine] # 22df3000_fmt0034_mip00_92x157_tm04_sw00000100.bmp
 width = 92
 height = 157
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 22dfe000_fmt0034_mip00_135x188_tm04_sw00000000.bmp
 width = 135
 height = 188
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 23b23000_fmt0034_mip00_58x171_tm04_sw00000600.bmp
 width = 58
 height = 171
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 23c46000_fmt0034_mip00_148x140_tm04_sw00000200.bmp
 width = 148
 height = 140
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 223ae000_fmt0034_mip00_159x152_tm04_sw00000500.bmp
 width = 159
 height = 152
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 # >>> Frame Decoration Edges <<<
 [TextureRedefine] # 22f03400_fmt0033_mip00_108x47_tm02_sw00000000.bmp
 width = 108
 height = 47
 formats = 0x033
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 2
+overwriteFormat = 0x433 # UNORM -> SRGB
 
 [TextureRedefine] # 23c64000_fmt0033_mip00_97x69_tm04_sw00000500.bmp
 width = 97
 height = 69
 formats = 0x033
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x433 # UNORM -> SRGB
 
 [TextureRedefine] # 224c0000_fmt0033_mip00_1086x41_tm04_sw00000600.bmp
 width = 1086
 height = 41
 formats = 0x033
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x433 # UNORM -> SRGB
 
 [TextureRedefine] # 2234e000_fmt0033_mip00_110x77_tm04_sw00000000.bmp
 width = 110
 height = 77
 formats = 0x033
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x433 # UNORM -> SRGB
 
 [TextureRedefine] # 2299a000_fmt0033_mip00_832x30_tm04_sw00000100.bmp
 width = 110
 height = 77
 formats = 0x033
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x433 # UNORM -> SRGB
 
 [TextureRedefine] # 2365c000_fmt0033_mip00_151x149_tm04_sw00000300.bmp
 width = 151
 height = 149
 formats = 0x033
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x433 # UNORM -> SRGB
 
 [TextureRedefine] # 23644000_fmt0033_mip00_97x157_tm04_sw00000400.bmp
 width = 97
 height = 157
 formats = 0x033
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x433 # UNORM -> SRGB
 
 [TextureRedefine] # 23770000_fmt0033_mip00_57x160_tm04_sw00000000.bmp
 width = 57
 height = 160
 formats = 0x033
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x433 # UNORM -> SRGB
 
 [TextureRedefine] # 23784000_fmt0033_mip00_79x187_tm04_sw00000700.bmp
 width = 79
 height = 187
 formats = 0x033
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x433 # UNORM -> SRGB
 
 # >>> Frame Decoration Blur <<<
 [TextureRedefine] # 23dc1000_fmt0034_mip00_97x80_tm04_sw00000700.bmp
 width = 97
 height = 80
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
+
 
 [TextureRedefine] # 227d7000_fmt0034_mip00_68x174_tm04_sw00000300.bmp
 width = 68
 height = 174
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 228c0000_fmt0034_mip00_157x148_tm04_sw00000700.bmp
 width = 157
 height = 148
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 236ae000_fmt0034_mip00_101x168_tm04_sw00000600.bmp
 width = 101
 height = 168
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 236e8000_fmt0034_mip00_144x199_tm04_sw00000500.bmp
 width = 144
 height = 199
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 # >>> Frame Decoration Edges <<<
 [TextureRedefine] # 22ac0000_fmt0034_mip00_182x152_tm04_sw00000200.bmp
 width = 182
 height = 152
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 230ed000_fmt0034_mip00_126x153_tm04_sw00000400.bmp
 width = 126
 height = 153
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 23983000_fmt0034_mip00_52x133_tm04_sw00000100.bmp
 width = 52
 height = 133
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 23797000_fmt0034_mip00_279x54_tm04_sw00000500.bmp
 width = 279
 height = 54
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 23983000_fmt0034_mip00_52x133_tm04_sw00000100.bmp
 width = 52
 height = 133
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 238d9000_fmt0034_mip00_292x42_tm04_sw00000400.bmp
 width = 292
 height = 42
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 238d9000_fmt0034_mip00_292x42_tm04_sw00000400.bmp
 width = 292
 height = 42
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 23447000_fmt0034_mip00_90x69_tm04_sw00000200.bmp
 width = 90
 height = 69
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 227e8000_fmt0034_mip00_1098x58_tm04_sw00000400.bmp
 width = 1098
 height = 58
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
 tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
 
 [TextureRedefine] # 23601000_fmt0034_mip00_997x58_tm04_sw00000100.bmp
 width = 997
 height = 58
 formats = 0x034
-overwriteHeight = 1
-overwriteWidth = 1
-tilemodes = 4
\ No newline at end of file
+tilemodes = 4
+overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
\ No newline at end of file