diff --git a/Source/BreathOfTheWild/patches.txt b/Source/BreathOfTheWild/patches.txt index 2bd178ae..bb09380e 100644 --- a/Source/BreathOfTheWild/patches.txt +++ b/Source/BreathOfTheWild/patches.txt @@ -115,8 +115,24 @@ _aspectAddr = 0x101A8A70 # menu link aspect (calculated every load) 0x02D53CF4 = lis r9, _aspectAddr@ha -0x02D2FD08 = lfs f4, _aspectAddr@l(r9) +0x02D53D08 = lfs f4, _aspectAddr@l(r9) # 3d aspect (calculated every frame) 0x0375B128 = lis r28, ha16(_aspectAddr) -0x0375B12C = lfs f12, _aspectAddr(r28) \ No newline at end of file +0x0375B12C = lfs f12, _aspectAddr(r28) + +[BotwAspectsV160] +moduleMatches = 0x29DBB52A +# rodata constants +0x101A8A70 = .float +0x102ECF88 = .float +0x1034F684 = .float +_aspectAddr = 0x101A8A70 + +# menu link aspect (calculated every load) +0x02D53CF4 = lis r9, _aspectAddr@ha +0x02D53D08 = lfs f4, _aspectAddr@l(r9) + +# 3d aspect (calculated every frame) +0x0375AFF4 = lis r28, ha16(_aspectAddr) +0x0375AFF8 = lfs f12, _aspectAddr(r28) \ No newline at end of file diff --git a/Source/XenobladeX/8c1e55fd967b0496_0000000000000079_ps.txt b/Source/XenobladeX/8c1e55fd967b0496_0000000000000079_ps.txt index 8e84c38d..8813443a 100644 --- a/Source/XenobladeX/8c1e55fd967b0496_0000000000000079_ps.txt +++ b/Source/XenobladeX/8c1e55fd967b0496_0000000000000079_ps.txt @@ -135,11 +135,11 @@ void main() PV1f.w = R127f.w; // 6 PV0f.x = PV1f.z + -(PV1f.w); - R5f.y = (PV1f.y * 0.30 + R127f.x);//degree of bloom - R5f.x = (PV1f.x * 0.30 + R127f.z); + R5f.y = (PV1f.y * 0.35 + R127f.x);//degree of bloom + R5f.x = (PV1f.x * 0.35 + R127f.z); PS0f = R5f.x; // 7 - R5f.z = (PV0f.x * 0.30 + R127f.w); + R5f.z = (PV0f.x * 0.35 + R127f.w); // export passPixelColor0 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); } diff --git a/Source/XenobladeX/e412d30f981be3b5_0000000000000000_vs.txt b/Source/XenobladeX/e412d30f981be3b5_0000000000000000_vs.txt new file mode 100644 index 00000000..6c01dc7b --- /dev/null +++ b/Source/XenobladeX/e412d30f981be3b5_0000000000000000_vs.txt @@ -0,0 +1,59 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_shading_language_packing : enable +// shader e412d30f981be3b5 //char select VS persp +uniform ivec4 uf_remappedVS[1]; +const float constvs = 8.0; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem1; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +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){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } +void main() +{ +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +uvec4 attrDecoder; +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; +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xy = attrDataSem1.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +backupReg0f = R2f.x; +backupReg1f = R2f.y; +R2f.x = (backupReg0f * intBitsToFloat(uf_remappedVS[0].x) + (intBitsToFloat(uf_remappedVS[0].z)/constvs)); +R2f.y = (backupReg1f * intBitsToFloat(uf_remappedVS[0].y) + (intBitsToFloat(uf_remappedVS[0].w)/constvs)); +// export +gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.z); +// 0 +}