From 841270035f59a716a670580aa7936d1b55b15381 Mon Sep 17 00:00:00 2001 From: Alex Chirila Date: Mon, 23 Oct 2017 22:36:55 +0300 Subject: [PATCH] [BotW] Added NoLaserBeams pack to hide the laser beams --- .../6fa2baef8a4ece42_0000000000000709_ps.txt | 110 +++++++++++++++ .../de960d36a997b34d_0000000000000709_ps.txt | 128 ++++++++++++++++++ .../BreathOfTheWild_NoLaserBeams/rules.txt | 5 + 3 files changed, 243 insertions(+) create mode 100644 Modifications/BreathOfTheWild_NoLaserBeams/6fa2baef8a4ece42_0000000000000709_ps.txt create mode 100644 Modifications/BreathOfTheWild_NoLaserBeams/de960d36a997b34d_0000000000000709_ps.txt create mode 100644 Modifications/BreathOfTheWild_NoLaserBeams/rules.txt diff --git a/Modifications/BreathOfTheWild_NoLaserBeams/6fa2baef8a4ece42_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_NoLaserBeams/6fa2baef8a4ece42_0000000000000709_ps.txt new file mode 100644 index 00000000..9a376758 --- /dev/null +++ b/Modifications/BreathOfTheWild_NoLaserBeams/6fa2baef8a4ece42_0000000000000709_ps.txt @@ -0,0 +1,110 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +// shader 6fa2baef8a4ece42 +// Laser Beams - hidden +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc2000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 1 1 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x21594000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem3; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem7; +layout(location = 5) in vec4 passParameterSem8; +layout(location = 6) in vec4 passParameterSem14; +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() +{ +discard; +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R6f = vec4(0.0); +vec4 R7f = vec4(0.0); +vec4 R123f = vec4(0.0); +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; +R2f = passParameterSem3; +R3f = passParameterSem4; +R4f = passParameterSem7; +R5f = passParameterSem8; +R6f = passParameterSem14; +R7f.xw = (texture(textureUnitPS0, R5f.xy).xw); +// 0 +R123f.x = (R7f.x * 2.0 + -(1.0)); +PV0f.x = R123f.x; +R123f.y = (R7f.w * 2.0 + -(1.0)); +PV0f.y = R123f.y; +PV0f.z = mul_nonIEEE(R3f.y, intBitsToFloat(uf_remappedPS[0].y)); +PV0f.w = mul_nonIEEE(R3f.y, intBitsToFloat(uf_remappedPS[0].x)); +PS0f = 1.0 / R2f.w; +// 1 +R5f.x = (mul_nonIEEE(PV0f.w,PV0f.x) + R5f.z); +R5f.y = (mul_nonIEEE(PV0f.z,PV0f.y) + R5f.w); +PV1f.z = R2f.z * PS0f; +PS1f = 1.0 / R2f.w; +// 2 +backupReg0f = R2f.x; +backupReg1f = R2f.y; +R2f.x = mul_nonIEEE(backupReg0f, PS1f); +R2f.y = (mul_nonIEEE(PV1f.z,intBitsToFloat(uf_remappedPS[1].w)) + -(intBitsToFloat(uf_remappedPS[1].y))); +R2f.z = mul_nonIEEE(backupReg1f, PS1f); +R7f.x = mul_nonIEEE(R0f.x, R4f.x); +PS0f = R7f.x; +R2f.z = (texture(textureUnitPS4, R2f.xz).x); +R5f.x = (texture(textureUnitPS1, R5f.xy).w); +// 0 +R123f.x = (mul_nonIEEE(R4f.w,R5f.x) + -(R0f.w)); +PV0f.x = R123f.x; +R127f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R2f.z) + intBitsToFloat(uf_remappedPS[1].x)); +R7f.z = mul_nonIEEE(R0f.z, R4f.z); +PS0f = 1.0 / R2f.y; +// 1 +R127f.x = mul_nonIEEE(R1f.w, PV0f.x); +R127f.x = clamp(R127f.x, 0.0, 1.0); +R7f.y = mul_nonIEEE(R0f.y, R4f.y); +PV1f.w = -(intBitsToFloat(uf_remappedPS[1].z)) * PS0f; +R127f.w = 1.0 / intBitsToFloat(uf_remappedPS[2].y); +PS1f = R127f.w; +// 2 +PV0f.x = -(PV1f.w) + R127f.y; +// 3 +PV1f.z = PV0f.x * R127f.w; +PV1f.z = clamp(PV1f.z, 0.0, 1.0); +// 4 +PV0f.y = mul_nonIEEE(R127f.x, PV1f.z); +// 5 +PV1f.x = mul_nonIEEE(R3f.x, PV0f.y); +// 6 +R7f.w = mul_nonIEEE(R6f.w, PV1f.x); +// export +if( ((vec4(R7f.x, R7f.y, R7f.z, R7f.w)).a > uf_alphaTestRef) == false) discard; +passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); +passPixelColor0.rgb = passPixelColor0.gbr; +} diff --git a/Modifications/BreathOfTheWild_NoLaserBeams/de960d36a997b34d_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_NoLaserBeams/de960d36a997b34d_0000000000000709_ps.txt new file mode 100644 index 00000000..fa0f8947 --- /dev/null +++ b/Modifications/BreathOfTheWild_NoLaserBeams/de960d36a997b34d_0000000000000709_ps.txt @@ -0,0 +1,128 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +// shader de960d36a997b34d +// Laser Beam rings - hidden +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x210b5000 res 200x200x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2188b000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 0 0 border: 0 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem3; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem5; +layout(location = 5) in vec4 passParameterSem8; +layout(location = 6) in vec4 passParameterSem12; +layout(location = 7) in vec4 passParameterSem14; +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() +{ +discard; +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R6f = vec4(0.0); +vec4 R7f = vec4(0.0); +vec4 R123f = vec4(0.0); +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; +R2f = passParameterSem3; +R3f = passParameterSem4; +R4f = passParameterSem5; +R5f = passParameterSem8; +R6f = passParameterSem12; +R7f = passParameterSem14; +R1f.w = (texture(textureUnitPS0, R5f.xy).x); +// 0 +backupReg0f = R4f.y; +R127f.x = 1.0; +R4f.y = R5f.w + 0.0; +R3f.z = -(R3f.y) + backupReg0f; +R123f.w = (R1f.w * 2.0 + -(1.0)); +PV0f.w = R123f.w; +PS0f = 1.0 / R2f.w; +// 1 +backupReg0f = R5f.z; +R5f.x = mul_nonIEEE(R2f.x, PS0f); +R5f.y = mul_nonIEEE(R2f.y, PS0f); +R5f.z = R0f.x + -(R1f.x); +R5f.w = R0f.y + -(R1f.y); +R4f.x = (PV0f.w * intBitsToFloat(0x3dcccccd) + backupReg0f); +PS1f = R4f.x; +// 2 +backupReg0f = R6f.y; +tempf.x = dot(vec4(R6f.x,backupReg0f,R6f.z,R127f.x),vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),intBitsToFloat(uf_remappedPS[0].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R6f.y = tempf.x; +R6f.x = 1.0 / R2f.w; +PS0f = R6f.x; +R5f.x = (texture(textureUnitPS4, R5f.xy).x); +R4f.xyzw = (texture(textureUnitPS1, R4f.xy).xyzw); +// 0 +R127f.x = mul_nonIEEE(R0f.w, R4f.w); +R127f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R5f.x) + intBitsToFloat(uf_remappedPS[1].x)); +PV0f.z = -(R3f.y) + -(R6f.y); +PV0f.w = R2f.z * R6f.x; +PS0f = 1.0 / R3f.z; +// 1 +PV1f.x = mul_nonIEEE(PV0f.z, PS0f); +PV1f.x = clamp(PV1f.x, 0.0, 1.0); +R123f.y = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[1].w)) + -(intBitsToFloat(uf_remappedPS[1].y))); +PV1f.y = R123f.y; +R127f.w = R0f.z + -(R1f.z); +R0f.x = (mul_nonIEEE(R5f.z,R4f.x) + R1f.x); +PS1f = R0f.x; +// 2 +R0f.y = (mul_nonIEEE(R5f.w,R4f.y) + R1f.y); +R127f.z = mul_nonIEEE(R127f.x, PV1f.x); +R127f.z = clamp(R127f.z, 0.0, 1.0); +PS0f = 1.0 / PV1f.y; +// 3 +R0f.z = (mul_nonIEEE(R127f.w,R4f.z) + R1f.z); +PV1f.w = -(intBitsToFloat(uf_remappedPS[1].z)) * PS0f; +R127f.w = 1.0 / intBitsToFloat(uf_remappedPS[2].y); +PS1f = R127f.w; +// 4 +PV0f.x = -(PV1f.w) + R127f.y; +// 5 +PV1f.z = PV0f.x * R127f.w; +PV1f.z = clamp(PV1f.z, 0.0, 1.0); +// 6 +PV0f.y = mul_nonIEEE(R127f.z, PV1f.z); +// 7 +PV1f.x = mul_nonIEEE(R3f.x, PV0f.y); +// 8 +R0f.w = mul_nonIEEE(R7f.w, PV1f.x); +// export +if( ((vec4(R0f.x, R0f.y, R0f.z, R0f.w)).a > uf_alphaTestRef) == false) discard; +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +passPixelColor0.rgb = passPixelColor0.gbr; +} diff --git a/Modifications/BreathOfTheWild_NoLaserBeams/rules.txt b/Modifications/BreathOfTheWild_NoLaserBeams/rules.txt new file mode 100644 index 00000000..2fbb97d6 --- /dev/null +++ b/Modifications/BreathOfTheWild_NoLaserBeams/rules.txt @@ -0,0 +1,5 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "The Legend of Zelda: Breath of the Wild - No Laser Beams" +version = 2 +# Completely hides the laser beams from the Divine Beasts