mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-12-23 16:31:50 +01:00
[Mario Tennis] add build script
This commit is contained in:
parent
cd1d4183f2
commit
1d345b2fb1
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 5120x2880"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 5120
|
|
||||||
overwriteHeight = 2880
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1440
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 1280
|
|
||||||
overwriteHeight = 720
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 640
|
|
||||||
overwriteHeight = 360
|
|
||||||
|
|
||||||
[TextureRedefine] # gamepad
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1440
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 2240
|
|
||||||
overwriteHeight = 1260
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 7680x4320"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 7680
|
|
||||||
overwriteHeight = 4320
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 3840
|
|
||||||
overwriteHeight = 2160
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 1920
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 960
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine] # gamepad
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1440
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 3360
|
|
||||||
overwriteHeight = 1890
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 10240x5760"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 10240
|
|
||||||
overwriteHeight = 5760
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 5120
|
|
||||||
overwriteHeight = 2880
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1440
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 1280
|
|
||||||
overwriteHeight = 720
|
|
||||||
|
|
||||||
[TextureRedefine] # gamepad
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1440
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 4480
|
|
||||||
overwriteHeight = 2520
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 640x360"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 640
|
|
||||||
overwriteHeight = 360
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 320
|
|
||||||
overwriteHeight = 180
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 160
|
|
||||||
overwriteHeight = 90
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 80
|
|
||||||
overwriteHeight = 45
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 427
|
|
||||||
overwriteHeight = 240
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 280
|
|
||||||
overwriteHeight = 158
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 960x540"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 960
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 480
|
|
||||||
overwriteHeight = 270
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 240
|
|
||||||
overwriteHeight = 135
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 120
|
|
||||||
overwriteHeight = 68
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 427
|
|
||||||
overwriteHeight = 240
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 374
|
|
||||||
overwriteHeight = 210
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 1920x1080"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 1920
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 960
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 480
|
|
||||||
overwriteHeight = 270
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 240
|
|
||||||
overwriteHeight = 135
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 1920
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 840
|
|
||||||
overwriteHeight = 472
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
[sonic2013]
|
|
||||||
moduleMatches = 0x7FE07429, 0xC5691A40
|
|
||||||
0x100057B0 = .float 2.370
|
|
||||||
|
|
||||||
[sonic2013_trial]
|
|
||||||
moduleMatches = 0xCA1DA800
|
|
||||||
0x10004B68 = .byte 0x40
|
|
||||||
0x10004B69 = .byte 0x17
|
|
||||||
0x10004B6A = .byte 0xB4
|
|
||||||
0x10004B6B = .byte 0x26
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 2560x1080 (21:9)"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 1280
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 640
|
|
||||||
overwriteHeight = 270
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 240
|
|
||||||
overwriteHeight = 135
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 840
|
|
||||||
overwriteHeight = 472
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 2560x1440"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x00
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1440
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 1280
|
|
||||||
overwriteHeight = 720
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 640
|
|
||||||
overwriteHeight = 360
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 320
|
|
||||||
overwriteHeight = 180
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1440
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 1120
|
|
||||||
overwriteHeight = 630
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 3200x1800"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 3200
|
|
||||||
overwriteHeight = 1800
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 1600
|
|
||||||
overwriteHeight = 900
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 800
|
|
||||||
overwriteHeight = 450
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 400
|
|
||||||
overwriteHeight = 225
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 3200
|
|
||||||
overwriteHeight = 1800
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 1390
|
|
||||||
overwriteHeight = 788
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 3840x2160"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 3840
|
|
||||||
overwriteHeight = 2160
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 1920
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 960
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 480
|
|
||||||
overwriteHeight = 270
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 3840
|
|
||||||
overwriteHeight = 2160
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 1680
|
|
||||||
overwriteHeight = 945
|
|
@ -1,58 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 7658289ba65cb755
|
|
||||||
uniform ivec4 uf_remappedPS[1];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem137;
|
|
||||||
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 R2f = 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 = passParameterSem137;
|
|
||||||
R1f.xyz = (texture(textureUnitPS0, R0f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R0f.y = intBitsToFloat(0x3f000000);
|
|
||||||
R2f.w = 1.0;
|
|
||||||
R0f.x = (texture(textureUnitPS4, R0f.yy).x);
|
|
||||||
// 0
|
|
||||||
backupReg0f = R0f.x;
|
|
||||||
PV0f.x = backupReg0f + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
PV0f.z = PS1f * intBitsToFloat(uf_remappedPS[0].x);
|
|
||||||
// 3
|
|
||||||
PV1f.y = max(PV0f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 4
|
|
||||||
PV0f.x = min(PV1f.y, intBitsToFloat(0x41800000));
|
|
||||||
// 5
|
|
||||||
R2f.x = mul_nonIEEE(R1f.x, PV0f.x);
|
|
||||||
R2f.y = mul_nonIEEE(R1f.y, PV0f.x);
|
|
||||||
R2f.z = mul_nonIEEE(R1f.z, PV0f.x);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
|
||||||
}
|
|
@ -1,116 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader 971a39bb79e32fd1
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R3f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R2f.x = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = R2f.x + -(1.0);
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R1f.z = intBitsToFloat(((PV0f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
|
|
||||||
R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.z);
|
|
||||||
PV1f.w = R123f.w;
|
|
||||||
// 2
|
|
||||||
R123f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.x);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + PV0f.z);
|
|
||||||
// 4
|
|
||||||
R1f.w = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
R0f.z = 1.0 / PV1f.x;
|
|
||||||
PS0f = R0f.z;
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
PV0f.x = -(R1f.w) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.y = R0f.w * R0f.z;
|
|
||||||
R127f.z = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
// 1
|
|
||||||
PV1f.y = -(PV0f.y) + -(R1f.w);
|
|
||||||
PS1f = 1.0 / PV0f.x;
|
|
||||||
// 2
|
|
||||||
R127f.w = mul_nonIEEE(PS1f, PV1f.y);
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
PV0f.w = R127f.w;
|
|
||||||
R126f.w = 1.0 / R127f.z;
|
|
||||||
PS0f = R126f.w;
|
|
||||||
// 3
|
|
||||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y));
|
|
||||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
// 4
|
|
||||||
R127f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[6].w));
|
|
||||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
|
||||||
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
PV0f.w = -(PV1f.x) + 1.0;
|
|
||||||
// 5
|
|
||||||
PV1f.x = min(PV0f.z, PV0f.w);
|
|
||||||
PV1f.z = R126f.w * intBitsToFloat(uf_remappedPS[7].x);
|
|
||||||
// 6
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
PV0f.z = R127f.y + PV1f.x;
|
|
||||||
// 7
|
|
||||||
PV1f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
R127f.y = min(PV0f.z, intBitsToFloat(0x3f7efeff));
|
|
||||||
PV1f.y = R127f.y;
|
|
||||||
// 8
|
|
||||||
backupReg0f = R3f.x;
|
|
||||||
backupReg1f = R3f.y;
|
|
||||||
backupReg2f = R3f.z;
|
|
||||||
R3f.x = mul_nonIEEE(backupReg0f, PV1f.x);
|
|
||||||
R3f.y = mul_nonIEEE(backupReg1f, PV1f.x);
|
|
||||||
R3f.z = mul_nonIEEE(backupReg2f, PV1f.x);
|
|
||||||
PV0f.w = -(PV1f.y) + 1.0;
|
|
||||||
// 9
|
|
||||||
R3f.w = (mul_nonIEEE(PV0f.w,R1f.z) + R127f.y);
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#version 420
|
|
||||||
#extension GL_ARB_texture_gather : enable
|
|
||||||
const float bloomFactor = 1.75;
|
|
||||||
// shader e1d2a971c93cd82a
|
|
||||||
uniform ivec4 uf_remappedPS[8];
|
|
||||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf48a8000 res 1280x720x1 dim 6 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x171f8800 res 1x1x1 dim 1 tm: 2 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
|
|
||||||
layout(location = 0) in vec4 passParameterSem136;
|
|
||||||
layout(location = 1) in vec4 passParameterSem137;
|
|
||||||
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 R2f = vec4(0.0);
|
|
||||||
vec4 R123f = vec4(0.0);
|
|
||||||
vec4 R126f = 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 = passParameterSem136;
|
|
||||||
R1f = passParameterSem137;
|
|
||||||
R0f.z = (texture(textureUnitPS1, R1f.xy).x);
|
|
||||||
R2f.xyz = (texture(textureUnitPS0, R1f.xy).xyz * bloomFactor);
|
|
||||||
// 0
|
|
||||||
R1f.x = intBitsToFloat(0x3f000000);
|
|
||||||
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * 1.0;
|
|
||||||
PV0f.w = intBitsToFloat(uf_remappedPS[0].w) * 1.0;
|
|
||||||
// 1
|
|
||||||
R123f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].z)) + PV0f.y);
|
|
||||||
PV1f.x = R123f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedPS[1].w)) + PV0f.w);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 2
|
|
||||||
R1f.y = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].z)) + PV1f.x);
|
|
||||||
R0f.w = (mul_nonIEEE(R0f.y,intBitsToFloat(uf_remappedPS[2].w)) + PV1f.z);
|
|
||||||
R1f.x = (texture(textureUnitPS4, R1f.xx).x);
|
|
||||||
// 0
|
|
||||||
R127f.x = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].z)) + R1f.y);
|
|
||||||
R127f.y = R1f.x + intBitsToFloat(0x3a83126f);
|
|
||||||
R123f.z = (mul_nonIEEE(R0f.x,intBitsToFloat(uf_remappedPS[3].w)) + R0f.w);
|
|
||||||
PV0f.z = R123f.z;
|
|
||||||
// 1
|
|
||||||
R126f.x = intBitsToFloat(uf_remappedPS[4].x) + intBitsToFloat(uf_remappedPS[4].w);
|
|
||||||
PV1f.x = R126f.x;
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 2
|
|
||||||
PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].z);
|
|
||||||
PV0f.w = R127f.x * PS1f;
|
|
||||||
PS0f = 1.0 / R127f.y;
|
|
||||||
// 3
|
|
||||||
PV1f.z = PS0f * intBitsToFloat(uf_remappedPS[5].x);
|
|
||||||
PV1f.w = -(PV0f.w) + -(R126f.x);
|
|
||||||
PS1f = 1.0 / PV0f.z;
|
|
||||||
// 4
|
|
||||||
R126f.x = mul_nonIEEE(PS1f, PV1f.w);
|
|
||||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
|
||||||
PV0f.x = R126f.x;
|
|
||||||
PV0f.y = max(PV1f.z, intBitsToFloat(0x3d800000));
|
|
||||||
// 5
|
|
||||||
R127f.x = min(PV0f.y, intBitsToFloat(0x41800000));
|
|
||||||
PV1f.x = R127f.x;
|
|
||||||
R123f.z = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y));
|
|
||||||
R123f.z = clamp(R123f.z, 0.0, 1.0);
|
|
||||||
PV1f.z = R123f.z;
|
|
||||||
// 6
|
|
||||||
R0f.x = mul_nonIEEE(R2f.x, PV1f.x);
|
|
||||||
R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z));
|
|
||||||
R123f.y = clamp(R123f.y, 0.0, 1.0);
|
|
||||||
PV0f.y = R123f.y;
|
|
||||||
PV0f.z = -(PV1f.z) + 1.0;
|
|
||||||
R127f.w = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[6].w)) + intBitsToFloat(uf_remappedPS[7].w));
|
|
||||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
|
||||||
R0f.y = mul_nonIEEE(R2f.y, PV1f.x);
|
|
||||||
PS0f = R0f.y;
|
|
||||||
// 7
|
|
||||||
R0f.z = mul_nonIEEE(R2f.z, R127f.x);
|
|
||||||
PV1f.w = min(PV0f.y, PV0f.z);
|
|
||||||
// 8
|
|
||||||
R0f.w = R127f.w + PV1f.w;
|
|
||||||
// export
|
|
||||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
[sonic2013]
|
|
||||||
moduleMatches = 0x7FE07429, 0xC5691A40
|
|
||||||
0x100057B0 = .float 2.370
|
|
||||||
|
|
||||||
[sonic2013_trial]
|
|
||||||
moduleMatches = 0xCA1DA800
|
|
||||||
0x10004B68 = .byte 0x40
|
|
||||||
0x10004B69 = .byte 0x17
|
|
||||||
0x10004B6A = .byte 0xB4
|
|
||||||
0x10004B6B = .byte 0x26
|
|
@ -1,42 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01
|
|
||||||
name = "Sonic Lost World - 5120x2160 (21:9)"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 5120
|
|
||||||
overwriteHeight = 2160
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
tileModesExcluded = 0x001
|
|
||||||
overwriteWidth = 2560
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 1280
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 640
|
|
||||||
overwriteHeight = 270
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 5120
|
|
||||||
overwriteHeight = 2160
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 560
|
|
||||||
height = 315
|
|
||||||
overwriteWidth = 1680
|
|
||||||
overwriteHeight = 945
|
|
@ -1,169 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 00050000101A3500,00050000101A3600,0005000010199000
|
|
||||||
name = "Mario Tennis: Ultra Smash - 1920x1080"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
formatsExcluded = 0x431
|
|
||||||
overwriteWidth = 1920
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 800
|
|
||||||
height = 720
|
|
||||||
overwriteWidth = 1200
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
formatsExcluded = 0x41a
|
|
||||||
overwriteWidth = 960
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 400
|
|
||||||
height = 360
|
|
||||||
overwriteWidth = 600
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 480
|
|
||||||
overwriteHeight = 270
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 400
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 300
|
|
||||||
overwriteHeight = 270
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 240
|
|
||||||
overwriteHeight = 135
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 100
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 150
|
|
||||||
overwriteHeight = 135
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 80
|
|
||||||
height = 45
|
|
||||||
overwriteWidth = 120
|
|
||||||
overwriteHeight = 68
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 50
|
|
||||||
height = 45
|
|
||||||
overwriteWidth = 75
|
|
||||||
overwriteHeight = 68
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 40
|
|
||||||
height = 22
|
|
||||||
overwriteWidth = 60
|
|
||||||
overwriteHeight = 34
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 25
|
|
||||||
height = 22
|
|
||||||
overwriteWidth = 38
|
|
||||||
overwriteHeight = 34
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
formatsExcluded = 0x41a
|
|
||||||
overwriteWidth = 1920
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 856
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 1924
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 428
|
|
||||||
height = 240
|
|
||||||
overwriteWidth = 962
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 360
|
|
||||||
height = 448
|
|
||||||
overwriteWidth = 540
|
|
||||||
overwriteHeight = 672
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 180
|
|
||||||
height = 224
|
|
||||||
overwriteWidth = 270
|
|
||||||
overwriteHeight = 336
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 90
|
|
||||||
height = 112
|
|
||||||
overwriteWidth = 135
|
|
||||||
overwriteHeight = 168
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 45
|
|
||||||
height = 56
|
|
||||||
overwriteWidth = 68
|
|
||||||
overwriteHeight = 84
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 22
|
|
||||||
height = 28
|
|
||||||
overwriteWidth = 34
|
|
||||||
overwriteHeight = 42
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 11
|
|
||||||
height = 14
|
|
||||||
overwriteWidth = 17
|
|
||||||
overwriteHeight = 21
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 216
|
|
||||||
height = 448
|
|
||||||
overwriteWidth = 324
|
|
||||||
overwriteHeight = 672
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 108
|
|
||||||
height = 224
|
|
||||||
overwriteWidth = 162
|
|
||||||
overwriteHeight = 336
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 54
|
|
||||||
height = 112
|
|
||||||
overwriteWidth = 81
|
|
||||||
overwriteHeight = 168
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 27
|
|
||||||
height = 56
|
|
||||||
overwriteWidth = 40
|
|
||||||
overwriteHeight = 84
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 13
|
|
||||||
height = 28
|
|
||||||
overwriteWidth = 20
|
|
||||||
overwriteHeight = 42
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 6
|
|
||||||
height = 14
|
|
||||||
overwriteWidth = 10
|
|
||||||
overwriteHeight = 21
|
|
@ -1,169 +0,0 @@
|
|||||||
[Definition]
|
|
||||||
titleIds = 00050000101A3500,00050000101A3600,0005000010199000
|
|
||||||
name = "Mario Tennis: Ultra Smash - 3840x2160"
|
|
||||||
version = 2
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 1280
|
|
||||||
height = 720
|
|
||||||
formatsExcluded = 0x431
|
|
||||||
overwriteWidth = 3840
|
|
||||||
overwriteHeight = 2160
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 800
|
|
||||||
height = 720
|
|
||||||
overwriteWidth = 2400
|
|
||||||
overwriteHeight = 2160
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 640
|
|
||||||
height = 360
|
|
||||||
formatsExcluded = 0x41a
|
|
||||||
overwriteWidth = 1920
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 400
|
|
||||||
height = 360
|
|
||||||
overwriteWidth = 1200
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 320
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 960
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 400
|
|
||||||
height = 180
|
|
||||||
overwriteWidth = 600
|
|
||||||
overwriteHeight = 540
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 160
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 480
|
|
||||||
overwriteHeight = 270
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 100
|
|
||||||
height = 90
|
|
||||||
overwriteWidth = 300
|
|
||||||
overwriteHeight = 270
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 80
|
|
||||||
height = 45
|
|
||||||
overwriteWidth = 240
|
|
||||||
overwriteHeight = 135
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 50
|
|
||||||
height = 45
|
|
||||||
overwriteWidth = 150
|
|
||||||
overwriteHeight = 135
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 40
|
|
||||||
height = 22
|
|
||||||
overwriteWidth = 120
|
|
||||||
overwriteHeight = 68
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 25
|
|
||||||
height = 22
|
|
||||||
overwriteWidth = 75
|
|
||||||
overwriteHeight = 68
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 854
|
|
||||||
height = 480
|
|
||||||
formatsExcluded = 0x41a
|
|
||||||
overwriteWidth = 3840
|
|
||||||
overwriteHeight = 2160
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 856
|
|
||||||
height = 480
|
|
||||||
overwriteWidth = 3848
|
|
||||||
overwriteHeight = 2160
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 428
|
|
||||||
height = 240
|
|
||||||
overwriteWidth = 1924
|
|
||||||
overwriteHeight = 1080
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 360
|
|
||||||
height = 448
|
|
||||||
overwriteWidth = 1080
|
|
||||||
overwriteHeight = 1344
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 180
|
|
||||||
height = 224
|
|
||||||
overwriteWidth = 540
|
|
||||||
overwriteHeight = 672
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 90
|
|
||||||
height = 112
|
|
||||||
overwriteWidth = 270
|
|
||||||
overwriteHeight = 336
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 45
|
|
||||||
height = 56
|
|
||||||
overwriteWidth = 135
|
|
||||||
overwriteHeight = 168
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 22
|
|
||||||
height = 28
|
|
||||||
overwriteWidth = 66
|
|
||||||
overwriteHeight = 84
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 11
|
|
||||||
height = 14
|
|
||||||
overwriteWidth = 33
|
|
||||||
overwriteHeight = 42
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 216
|
|
||||||
height = 448
|
|
||||||
overwriteWidth = 648
|
|
||||||
overwriteHeight = 1344
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 108
|
|
||||||
height = 224
|
|
||||||
overwriteWidth = 324
|
|
||||||
overwriteHeight = 672
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 54
|
|
||||||
height = 112
|
|
||||||
overwriteWidth = 162
|
|
||||||
overwriteHeight = 336
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 27
|
|
||||||
height = 56
|
|
||||||
overwriteWidth = 81
|
|
||||||
overwriteHeight = 168
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 13
|
|
||||||
height = 28
|
|
||||||
overwriteWidth = 40
|
|
||||||
overwriteHeight = 84
|
|
||||||
|
|
||||||
[TextureRedefine]
|
|
||||||
width = 6
|
|
||||||
height = 14
|
|
||||||
overwriteWidth = 20
|
|
||||||
overwriteHeight = 42
|
|
178
Source/MarioTennis/rules.txt
Normal file
178
Source/MarioTennis/rules.txt
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
<?php
|
||||||
|
include 'Source/functions.php';
|
||||||
|
$fullWidth = $argv[1];
|
||||||
|
$fullHeight = $argv[2];
|
||||||
|
$scaleFactorX = $fullWidth / 1280.0;
|
||||||
|
$scaleFactorY = $fullHeight / 720.0;
|
||||||
|
|
||||||
|
$title = get_title($fullWidth, $fullHeight);
|
||||||
|
?>
|
||||||
|
[Definition]
|
||||||
|
titleIds = 00050000101A3500,00050000101A3600,0005000010199000
|
||||||
|
name = "Mario Tennis: Ultra Smash - <?=$title?>"
|
||||||
|
version = 2
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 1280
|
||||||
|
height = 720
|
||||||
|
formatsExcluded = 0x431
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*1280)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*720)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 800
|
||||||
|
height = 720
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*800)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*720)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 640
|
||||||
|
height = 360
|
||||||
|
formatsExcluded = 0x41a
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*640)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*360)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 400
|
||||||
|
height = 360
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*400)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*360)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 320
|
||||||
|
height = 180
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*320)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*180)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 400
|
||||||
|
height = 180
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*400)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*180)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 160
|
||||||
|
height = 90
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*160)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*90)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 100
|
||||||
|
height = 90
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*100)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*90)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 80
|
||||||
|
height = 45
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*80)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*45)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 50
|
||||||
|
height = 45
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*50)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*45)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 40
|
||||||
|
height = 22
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*40)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*22)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 25
|
||||||
|
height = 22
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*25)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*22)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 854
|
||||||
|
height = 480
|
||||||
|
formatsExcluded = 0x41a
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*1280)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*720)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 856
|
||||||
|
height = 480
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*1283)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*720)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 428
|
||||||
|
height = 240
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*642)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*360)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 360
|
||||||
|
height = 448
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*360)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*448)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 180
|
||||||
|
height = 224
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*180)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*224)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 90
|
||||||
|
height = 112
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*90)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*112)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 45
|
||||||
|
height = 56
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*45)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*56)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 22
|
||||||
|
height = 28
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*22)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*28)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 11
|
||||||
|
height = 14
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*11)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*14)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 216
|
||||||
|
height = 448
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*216)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*448)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 108
|
||||||
|
height = 224
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*108)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*224)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 54
|
||||||
|
height = 112
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*54)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*112)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 27
|
||||||
|
height = 56
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*27)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*56)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 13
|
||||||
|
height = 28
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*13)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*28)?>
|
||||||
|
|
||||||
|
[TextureRedefine]
|
||||||
|
width = 6
|
||||||
|
height = 14
|
||||||
|
overwriteWidth = <?=round($scaleFactorX*6)?>
|
||||||
|
overwriteHeight = <?=round($scaleFactorY*14)?>
|
10
build.sh
10
build.sh
@ -118,6 +118,16 @@ build_dir "Source/MarioKart8" "Quality/MarioKart8_1800p" 3200 1800
|
|||||||
build_dir "Source/MarioKart8" "Quality/MarioKart8_2160p" 3840 2160
|
build_dir "Source/MarioKart8" "Quality/MarioKart8_2160p" 3840 2160
|
||||||
build_dir "Source/MarioKart8" "Quality/MarioKart8_2160p219" 5120 2160
|
build_dir "Source/MarioKart8" "Quality/MarioKart8_2160p219" 5120 2160
|
||||||
build_dir "Source/MarioKart8" "Quality/MarioKart8_900p" 1600 900
|
build_dir "Source/MarioKart8" "Quality/MarioKart8_900p" 1600 900
|
||||||
|
build_dir "Source/MarioTennis" "Enthusiast/MarioTennis_2880p" 5120 2880
|
||||||
|
build_dir "Source/MarioTennis" "Enthusiast/MarioTennis_4320p" 7680 4320
|
||||||
|
build_dir "Source/MarioTennis" "Enthusiast/MarioTennis_5760p" 10240 5760
|
||||||
|
build_dir "Source/MarioTennis" "Performance/MarioTennis_360p" 640 360
|
||||||
|
build_dir "Source/MarioTennis" "Performance/MarioTennis_540p" 960 540
|
||||||
|
build_dir "Source/MarioTennis" "Quality/MarioTennis_1080p" 1920 1080
|
||||||
|
build_dir "Source/MarioTennis" "Quality/MarioTennis_1440p" 2560 1440
|
||||||
|
build_dir "Source/MarioTennis" "Quality/MarioTennis_1800p" 3200 1800
|
||||||
|
build_dir "Source/MarioTennis" "Quality/MarioTennis_2160p" 3840 2160
|
||||||
|
build_dir "Source/MarioTennis" "Quality/MarioTennis_900p" 1600 900
|
||||||
build_dir "Source/SonicLostWorld" "Enthusiast/SonicLostWorld_2880p" 5120 2880
|
build_dir "Source/SonicLostWorld" "Enthusiast/SonicLostWorld_2880p" 5120 2880
|
||||||
build_dir "Source/SonicLostWorld" "Enthusiast/SonicLostWorld_4320p" 7680 4320
|
build_dir "Source/SonicLostWorld" "Enthusiast/SonicLostWorld_4320p" 7680 4320
|
||||||
build_dir "Source/SonicLostWorld" "Enthusiast/SonicLostWorld_5760p" 10240 5760
|
build_dir "Source/SonicLostWorld" "Enthusiast/SonicLostWorld_5760p" 10240 5760
|
||||||
|
Loading…
Reference in New Issue
Block a user