diff --git a/Mods/MarioKart8_NoHud/0039902b839f2863_00000000000003c9_ps.txt b/Mods/MarioKart8_NoHud/0039902b839f2863_00000000000003c9_ps.txt new file mode 100644 index 00000000..3621674f --- /dev/null +++ b/Mods/MarioKart8_NoHud/0039902b839f2863_00000000000003c9_ps.txt @@ -0,0 +1,75 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#else +#endif +// shader 0039902b839f2863 +// Used for: Removing coin from the HUD + +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R123i = 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); +R0i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xyzw); +R1i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).xyzw); +// 0 +backupReg0i = R0i.x; +backupReg1i = R0i.z; +backupReg2i = R0i.w; +backupReg2i = R0i.w; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); +R127i.y = uf_remappedPS[0].x & 0x00000080; +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R0i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(backupReg2i))); +R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg2i), intBitsToFloat(R1i.w))); +PS0i = R127i.z; +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(PV0i.x))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(min(intBitsToFloat(R0i.w), intBitsToFloat(R1i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.w)) + intBitsToFloat(PV0i.w))); +PV1i.z = R123i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)) + intBitsToFloat(PV0i.z))); +// 2 +R123i.x = ((R127i.y == 0)?(R127i.z):(PV1i.y)); +PV0i.x = R123i.x; +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[1].y)) + intBitsToFloat(uf_remappedPS[2].y))); +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[2].x))); +PS0i = R0i.x; +// 3 +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedPS[1].z)) + intBitsToFloat(uf_remappedPS[2].z))); +R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[1].w)) + intBitsToFloat(uf_remappedPS[2].w))); +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), 0.0); +} diff --git a/Mods/MarioKart8_NoHud/005826125bfe150a_0000000000000079_ps.txt b/Mods/MarioKart8_NoHud/005826125bfe150a_0000000000000079_ps.txt new file mode 100644 index 00000000..07ffd5b8 --- /dev/null +++ b/Mods/MarioKart8_NoHud/005826125bfe150a_0000000000000079_ps.txt @@ -0,0 +1,48 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#else +#endif +// shader 005826125bfe150a +// Used for: Removing the lap and coin background + +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); +// 0 +R1f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x)); +R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[0].y)) + intBitsToFloat(uf_remappedPS[1].y)); +// 1 +R1f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[0].z)) + intBitsToFloat(uf_remappedPS[1].z)); +R1f.w = (mul_nonIEEE(R0f.w,intBitsToFloat(uf_remappedPS[0].w)) + intBitsToFloat(uf_remappedPS[1].w)); +// export +passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, 0.0); +} diff --git a/Mods/MarioKart8_NoHud/03c0659aacda420a_00000000000003c9_ps.txt b/Mods/MarioKart8_NoHud/03c0659aacda420a_00000000000003c9_ps.txt new file mode 100644 index 00000000..36c67bda --- /dev/null +++ b/Mods/MarioKart8_NoHud/03c0659aacda420a_00000000000003c9_ps.txt @@ -0,0 +1,82 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#else +#endif +// shader 03c0659aacda420a +// Used for: Removing the position number from the HUD, black undertext + +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R123i = 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); +R1i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).xyzw); +R0i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xyzw); +// 0 +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),intBitsToFloat(R1i.w)) + 1.0)); +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.y)),intBitsToFloat(R1i.w)) + 1.0)); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.x)),intBitsToFloat(R1i.w)) + 1.0)); +PV0i.z = R123i.z; +R127i.w = uf_remappedPS[0].x & 0x00000080; +R127i.z = floatBitsToInt(max(intBitsToFloat(R0i.w), intBitsToFloat(R1i.w))); +PS0i = R127i.z; +// 1 +PV1i.y = floatBitsToInt(min(intBitsToFloat(R0i.w), intBitsToFloat(R1i.w))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); +// 2 +backupReg0i = R0i.x; +backupReg1i = R127i.y; +PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS1i)); +R127i.y = ((R127i.w == 0)?(R127i.z):(PV1i.y)); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); +// 3 +backupReg0i = R0i.y; +PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); +PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); +// 4 +backupReg0i = R0i.z; +PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); +PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS1i)); +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[2].x))); +PS0i = R0i.x; +// 5 +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[1].y)) + intBitsToFloat(uf_remappedPS[2].y))); +PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); +// 6 +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[1].z)) + intBitsToFloat(uf_remappedPS[2].z))); +R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[1].w)) + intBitsToFloat(uf_remappedPS[2].w))); +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), 0.0); +} diff --git a/Mods/MarioKart8_NoHud/2940f7a0fb8ea817_0000000000000079_ps.txt b/Mods/MarioKart8_NoHud/2940f7a0fb8ea817_0000000000000079_ps.txt new file mode 100644 index 00000000..81e347bf --- /dev/null +++ b/Mods/MarioKart8_NoHud/2940f7a0fb8ea817_0000000000000079_ps.txt @@ -0,0 +1,61 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#else +#endif +// shader 2940f7a0fb8ea817 +// Used for: Removing the track minimap in the HUD + +uniform ivec4 uf_remappedPS[2]; +uniform vec2 uf_fragCoordScale; +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ 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/Mods/MarioKart8_NoHud/440c49859973a955_00000000000003c9_ps.txt b/Mods/MarioKart8_NoHud/440c49859973a955_00000000000003c9_ps.txt new file mode 100644 index 00000000..d31ec7f0 --- /dev/null +++ b/Mods/MarioKart8_NoHud/440c49859973a955_00000000000003c9_ps.txt @@ -0,0 +1,117 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#else +#endif +// shader 440c49859973a955 +// Used for: Removing the position number from the HUD, colored text + +uniform ivec4 uf_remappedPS[5]; +uniform vec2 uf_fragCoordScale; +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(location = 0) in vec4 passParameterSem1; +layout(location = 1) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ 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); +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[2]; +bool activeMaskStackC[3]; +activeMaskStack[0] = false; +activeMaskStackC[0] = false; +activeMaskStackC[1] = false; +activeMaskStack[0] = true; +activeMaskStackC[0] = true; +activeMaskStackC[1] = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0i = floatBitsToInt(passParameterSem1); +R1i = floatBitsToInt(passParameterSem0); +if( activeMaskStackC[1] == true ) { +R0i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R1i.z = uf_remappedPS[0].x & 0x0000001f; +R1i.w = 0x3f800000; +// 1 +predResult = (R1i.z >= 0x0000000e); +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.z; +R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(uf_remappedPS[1].z),intBitsToFloat(uf_remappedPS[1].w)))); +PV0i.x = R2i.x; +PV0i.y = R2i.x; +PV0i.z = R2i.x; +PV0i.w = R2i.x; +// 1 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg2i = R0i.z; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(uf_remappedPS[2].z),intBitsToFloat(uf_remappedPS[2].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R0i.y = tempi.x; +R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(PV0i.x)); +PS1i = R0i.x; +// 2 +R0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV1i.x)); +} +if( activeMaskStackC[2] == true ) { +R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xyzw); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R1i.w; +R1i.w = floatBitsToInt(min(intBitsToFloat(R0i.w), intBitsToFloat(backupReg0i))); +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyzw); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(uf_remappedPS[4].x))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(uf_remappedPS[4].y))); +// 1 +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(uf_remappedPS[4].z))); +R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(uf_remappedPS[4].w))); +} +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), 0.0); +} diff --git a/Mods/MarioKart8_NoHud/50612bab4e50d820_0000000000001e49_ps.txt b/Mods/MarioKart8_NoHud/50612bab4e50d820_0000000000001e49_ps.txt new file mode 100644 index 00000000..10c5c5ab --- /dev/null +++ b/Mods/MarioKart8_NoHud/50612bab4e50d820_0000000000001e49_ps.txt @@ -0,0 +1,108 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#else +#endif +// shader 50612bab4e50d820 +// Used for: Removing the item icon from the HUD + +uniform ivec4 uf_remappedPS[5]; +uniform vec2 uf_fragCoordScale; +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(binding = 2) uniform sampler2D textureUnitPS2; +layout(location = 0) in vec4 passParameterSem2; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ 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 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(passParameterSem2); +R1i = floatBitsToInt(passParameterSem1); +R2i = floatBitsToInt(passParameterSem0); +R0i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R0i.xy)).xyzw); +R3i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R2i.xy)).xyzw); +// 0 +R4i.x = uf_remappedPS[0].x & 0x00000080; +R127i.w = 0x3f800000; +PV0i.w = R127i.w; +// 1 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg2i = R0i.z; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(uf_remappedPS[1].z),intBitsToFloat(uf_remappedPS[1].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +// 2 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg2i = R0i.z; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(uf_remappedPS[2].z),intBitsToFloat(uf_remappedPS[2].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R2i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(PV1i.x)); +PS0i = R2i.x; +// 3 +R2i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x)); +R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.xy)).xyzw); +// 0 +R127i.z = floatBitsToInt(min(intBitsToFloat(R0i.w), intBitsToFloat(R2i.w))); +PV0i.z = R127i.z; +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.z))); +PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PV0i.z))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PV0i.z))); +R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.z), intBitsToFloat(R3i.w))); +PS1i = R126i.z; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.x))); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(R3i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); +PV0i.z = R123i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z))); +// 3 +R123i.x = ((R4i.x == 0)?(R126i.z):(PV0i.y)); +PV1i.x = R123i.x; +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(uf_remappedPS[4].y))); +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(uf_remappedPS[4].x))); +PS1i = R4i.x; +// 4 +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(uf_remappedPS[4].z))); +R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(uf_remappedPS[4].w))); +// export +passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), 0.0); +} diff --git a/Mods/MarioKart8_NoHud/96440241cc1bf8a4_000000000000007d_ps.txt b/Mods/MarioKart8_NoHud/96440241cc1bf8a4_000000000000007d_ps.txt new file mode 100644 index 00000000..8472719b --- /dev/null +++ b/Mods/MarioKart8_NoHud/96440241cc1bf8a4_000000000000007d_ps.txt @@ -0,0 +1,89 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#else +#endif +// shader 96440241cc1bf8a4 +// Used for: Removing the lap text from the HUD + +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +layout(binding = 0) uniform sampler2DArray textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ 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 = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].y) + intBitsToFloat(uf_remappedPS[1].y)); +R2i.y = ((intBitsToFloat(R0i.w) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R1i.z = floatBitsToInt(roundEven(intBitsToFloat(backupReg0i))); +R2i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].x) + intBitsToFloat(uf_remappedPS[1].x)); +R1i.w = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z))).w); +// 0 +backupReg0i = R0i.y; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R2i.w))); +PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[1].z)); +PV0i.z = floatBitsToInt(intBitsToFloat(R1i.w) + -(0.5)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); +PV0i.w = ((intBitsToFloat(0x3f0a3d71) > intBitsToFloat(R1i.w))?int(0xFFFFFFFF):int(0x0)); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.x))); +PS0i = R126i.w; +// 1 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV0i.y))); +R123i.y = ((PV0i.w == 0)?(PV0i.z):(0)); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].y) + intBitsToFloat(uf_remappedPS[3].y)); +PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].x) + intBitsToFloat(uf_remappedPS[3].x)); +// 2 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[3].w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[1].w))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.z))); +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PV0i.y))); +PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].z) + intBitsToFloat(uf_remappedPS[3].z)); +PV1i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R0i.w)), intBitsToFloat(PV0i.x))); +R1i.x = ((R2i.y == 0)?(PV0i.z):(R127i.x)); +PS1i = R1i.x; +// 4 +backupReg0i = R0i.z; +R1i.y = ((R2i.y == 0)?(R127i.w):(R126i.w)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); +R1i.w = ((R2i.y == 0)?(PV1i.z):(PV1i.x)); +// 5 +R1i.z = ((R2i.y == 0)?(PV0i.z):(R126i.x)); +// export +passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), 0.0); +} diff --git a/Mods/MarioKart8_NoHud/a6981858d5437cf7_00000000000003c9_ps.txt b/Mods/MarioKart8_NoHud/a6981858d5437cf7_00000000000003c9_ps.txt new file mode 100644 index 00000000..59bfd4dd --- /dev/null +++ b/Mods/MarioKart8_NoHud/a6981858d5437cf7_00000000000003c9_ps.txt @@ -0,0 +1,83 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#else +#endif +// shader a6981858d5437cf7 +// Used for: Removing dotted background behind coin in the HUD + +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ 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 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); +R2i = floatBitsToInt(passParameterSem2); +R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyzw); +R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.xy)).xyzw); +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R2i.w))); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); +R127i.z = uf_remappedPS[0].x & 0x00000080; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R2i.w))); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.x))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(min(intBitsToFloat(R1i.w), intBitsToFloat(R2i.w))); +PV1i.z = floatBitsToInt(max(intBitsToFloat(R1i.w), intBitsToFloat(R2i.w))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.w))); +PV1i.w = R123i.w; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i))); +PS1i = R127i.w; +// 2 +R123i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.y)); +PV0i.x = R123i.x; +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[1].y)) + intBitsToFloat(uf_remappedPS[2].y))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[2].x))); +PV0i.w = R123i.w; +// 3 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[1].w)) + intBitsToFloat(uf_remappedPS[2].w))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedPS[1].z)) + intBitsToFloat(uf_remappedPS[2].z))); +PV1i.y = R123i.y; +R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV0i.w))); +PS1i = R1i.x; +// 4 +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R127i.z))); +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.y))); +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PV1i.x))); +// export +passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), 0.0); +} diff --git a/Mods/MarioKart8_NoHud/rules.txt b/Mods/MarioKart8_NoHud/rules.txt new file mode 100644 index 00000000..0d641e5a --- /dev/null +++ b/Mods/MarioKart8_NoHud/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 +name = Removes all the HUD elements +path = "Mario Kart 8/Mods/No HUD" +description = Disables any HUD while racing. Breaks many of the menu's so don't use this if you just want to play the game. +version = 3 \ No newline at end of file