Recent logs - Grand Theft Auto: Chinatown Wars

To see your stuff show here, enable Compatibility Server Reports in PPSSPP.

Click on a version, game, or report message to show similar entries. Hover over version to see platform info, and hover over a game title to see region and version info.

Game title Version Latest Report Message
Grand Theft Auto: Chinatown Wars v1.8.0 2019-09-14 sceDmacMemcpy(dest=04088000, src=092875c0, size=557056): overlapping read
Grand Theft Auto: Chinatown Wars v1.8.0 2019-09-13 Savedata version requested on save: 3
Grand Theft Auto: Chinatown Wars v1.4.2 2019-09-08 Direct3D9: Failed to get the device caps!
Grand Theft Auto: Chinatown Wars v1.8.0 2019-09-12 Savedata version requested: 3
Grand Theft Auto: Chinatown Wars v1.8.0 2019-08-13 Error in shader compilation: info: Compile failed. 01f31591:00000915 HWX T LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying highp vec3 v_texcoord; varying highp float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot
Grand Theft Auto: Chinatown Wars v1.8.0 2019-07-14 D3D error in shader compilation: info: C:\Program Files\PPSSPP\memory(133,10): error X4505: maximum temp register index exceeded C:\Program Files\PPSSPP\memory(133,10): error X4505: maximum temp register index exceeded / code: #pragma warning( disable : 3571 ) float4x4 u_proj : register(c0); float4 u_matambientalpha : register(c20); float4x3 u_world : register(c11); float4x3 u_view : register(c8); float4 u_uvscaleoffset : register(c17); float3 u_lightpos0 : register(c24); float3 u_lightambient0 : register(c48); float3 u_lightdiffuse0 : register(c40); float3 u_lightspecular0 : register(c44); float3 u_lightpos1 : register(c25); float3 u_lightatt1 : register(c33); float3 u_lightdir1 : register(c29); float4 u_lightangle_spotCoef1 : register(c37); float3 u_lightambient1 : register(c49); float3 u_lightdiffuse1 : register(c41); float3 u_lightspecular1 : register(c45); float3 u_lightpos2 : register(c26); float3 u_lightatt2 : register(c34); float3 u_lightdir2 : register(c30); float4 u_lightangle_spotCoef2 : register(c38); float3 u_lightambient2 : register(c50); float3 u_lightdiffuse2 : register(c42); float3 u_lightspecular2 : register(c46); float3 u_lightpos3 : register(c27); float3 u_lightatt3 : register(c35); float3 u_lightdir3 : register(c31); float4 u_lightangle_spotCoef3 : register(c39); float3 u_lightambient3 : register(c51); float3 u_lightdiffuse3 : register(c43); float3 u_lightspecular3 : register(c47); float4 u_ambient : register(c19); float3 u_matdiffuse : register(c21); float4 u_matspecular : register(c22); float3 u_matemissive : register(c23); float4 u_cullRangeMin : register(c80); float4 u_cullRangeMax : register(c81); struct VS_IN { float2 texcoord : TEXCOORD0; float3 normal : NORMAL; float3 position : POSITION; }; struct VS_OUT { float3 v_texcoord : TEXCOORD0; float4 v_color0 : COLOR0; float3 v_color1 : COLOR1; float4 gl_Position : POSITION; }; VS_OUT main(VS_IN In) { VS_OUT Out; float3 worldpos = mul(float4(In.position.xyz, 1.0), u_world); float3 worldnormal = normalize(mul(float4(In.normal, 0.0), u_world)); float4 viewPos = float4(mul(float4(worldpos, 1.0), u_view), 1.0); float4 outPos = mul(viewPos, u_proj); float4 lightSum0 = u_ambient * u_matambientalpha + float4(u_matemissive, 0.0); float3 lightSum1 = 0; float3 toLight; float3 diffuse; float distance; float lightScale; float ldot; float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, float3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y == 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y)); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + float3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangl
Grand Theft Auto: Chinatown Wars v1.7.4 2019-07-08 Unknown GetPointer 00000000 PC 08973868 LR 08973870
Grand Theft Auto: Chinatown Wars v1.8.0 2019-05-16 Unknown GetPointer 00000000 PC 08804040 LR 08000030
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 021500fa
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 027c00b7
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 020c00bf
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 01b3015f
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 00b1ffff
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 0128ffff
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 007c01bb
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 01100129
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 00baffff
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 028800bd
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 013a0081
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 02c100bc
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 MIPSCompileOp: Invalid instruction 01bc00fb
Grand Theft Auto: Chinatown Wars v1.8.0 2019-04-26 ReadFromHardware: Invalid address 00000000 near PC 00000000 LR 089db898
Grand Theft Auto: Chinatown Wars v1.5.4 2019-04-10 Unknown GetPointer 000014a4 PC 000014a4 LR 000014a4
Grand Theft Auto: Chinatown Wars v1.5.4 2019-04-10 ReadFromHardware: Invalid address 00000006 near PC 08a887c0 LR 089f6e44
Grand Theft Auto: Chinatown Wars v1.5.4 2019-04-10 ReadFromHardware: Invalid address 00000000 near PC 089f6d3c LR 089f6d3c
Grand Theft Auto: Chinatown Wars v1.5.4 2019-04-10 WriteToHardware: Invalid address 3ffffffc near PC 08a88748 LR 08a88938
Grand Theft Auto: Chinatown Wars v1.5.4-987-g30c3fd63e 2019-03-30 WriteToHardware: Invalid address fffffffc near PC 08a88780 LR 08a88938
Grand Theft Auto: Chinatown Wars v1.5.4-987-g30c3fd63e 2019-03-30 ReadFromHardware: Invalid address 00000000 near PC 08974bac LR 08974ba4
Grand Theft Auto: Chinatown Wars v1.5.4-987-g30c3fd63e 2019-03-30 ReadFromHardware: Invalid address 00000004 near PC 08974b38 LR 08974ba4
Grand Theft Auto: Chinatown Wars v1.8.0 2019-09-16 Unknown GetPointer 00000000 PC 0890e48c LR 08000020
Grand Theft Auto: Chinatown Wars v1.8.0 2019-03-21 Unknown GetPointer 00000000 PC 08000000 LR 08000000
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-17 WriteToHardware: Invalid address 000001d0 near PC 0891ba34 LR 0891ba34
Grand Theft Auto: Chinatown Wars v1.7.5 2019-01-10 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:01200802 Tex LM Fog StenToAlpha StenUniform TFuncMod #version 100 precision lowp float; uniform sampler2D tex; uniform float u_stencilReplaceValue; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); } vs: 01f39951:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)),
Grand Theft Auto: Chinatown Wars v1.6.3 2019-01-03 WriteToHardware: Invalid address 00000004 near PC 089db8c8 LR 08ac64d8
Grand Theft Auto: Chinatown Wars v1.6.3 2019-01-03 Unknown GetPointer 00000000 PC 00000000 LR 089db898
Grand Theft Auto: Chinatown Wars v1.6.3 2019-01-03 ReadFromHardware: Invalid address 00000000 near PC 08b2ace4 LR 088d5664
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 MIPSCompileOp: Invalid instruction 0000fffc
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 Jump to invalid address: 0305be90 PC 097828cc LR 097828c0
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 Trying to compile instruction 40000000 that can't be interpreted
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 Jump to invalid address: 07a76170 PC 097828d0 LR 097828c0
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 Unknown GetPointer 00000000 PC 00000000 LR 097828c0
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 An uneaten prefix at end of block: 09782908
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 Jump to invalid address: 0305be90 PC 097828c8 LR 097828c0
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 Jump to invalid address: 07a76170 PC 097828d4 LR 097828c0
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 Jump to invalid address: 05dcf8e0 PC 097828c0 LR 097828c0
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 Jump to invalid address: 02e03790 PC 097828c4 LR 097828c0
Grand Theft Auto: Chinatown Wars v1.6.3 2018-12-31 ReadFromHardware: Invalid address 00000000 near PC 0899e5c0 LR 089993a0
Grand Theft Auto: Chinatown Wars v1.7.5 2019-01-07 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d800 LM AlphaTest > #version 100 precision lowp float; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f31951:00000101 HWX LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse)
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-15 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d800 LM AlphaTest > #version 100 precision lowp float; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35591:00000101 HWX LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-15 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d800 LM AlphaTest > #version 100 precision lowp float; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39551:00000101 HWX LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir3), toLight); if (angle >= u_lightangle_spotCoef3.x) { lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef3.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-12 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f31591:00000919 HWX C T LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal)
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-12 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d802 Tex LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f31551:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffus
Grand Theft Auto: Chinatown Wars v1.7.5 2019-01-07 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d802 Tex LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39951:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ld
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-13 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39951:0000091d HWX C T LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightsp
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-12 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35951:0000091d HWX C T LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lig
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-02 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35591:00000b11 HWX T N LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distanc
Grand Theft Auto: Chinatown Wars v1.7.5 2019-02-05 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d800 LM AlphaTest > #version 100 precision lowp float; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39591:00000101 HWX LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir3), toLight); if (angle >= u_lightangle_spotCoef3.x) { lightScale = clamp(1.0 /
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-13 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39591:00000919 HWX C T LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-13 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35991:00000919 HWX C T LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-02 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d800 LM AlphaTest > #version 100 precision lowp float; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35991:00000101 HWX LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distanc
Grand Theft Auto: Chinatown Wars v1.8.0-88-g24cfad87d 2019-09-20 FBO using existing buffer as depthbuffer, 04132000/04110000 and 04110000/04110000
Grand Theft Auto: Chinatown Wars v1.7.2 2018-11-19 Unknown GetPointer 00000000 PC 08a70980 LR 08a70994
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-12 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00010000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 01f35591:00000b11 HWX T N LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; dista
Grand Theft Auto: Chinatown Wars v1.7 2018-11-14 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d802 Tex LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35591:00000b11 HWX T N LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos;
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-02 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00000802 Tex LM TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; gl_FragColor = v; } vs: 01f35591:00000b11 HWX T N LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, v
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-02 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39591:00000915 HWX T LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); i
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-04 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39951:00000b19 HWX C T N LM Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; toLight = u_ligh
Grand Theft Auto: Chinatown Wars v1.7.5 2018-12-16 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35951:00000911 HWX T LM Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(d
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-13 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39951:00000911 HWX T LM Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3
Grand Theft Auto: Chinatown Wars v1.7.5 2019-02-27 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39951:00000915 HWX T LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); i
Grand Theft Auto: Chinatown Wars v1.7.5 2019-02-25 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f31591:00000911 HWX T LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(
Grand Theft Auto: Chinatown Wars v1.7.5 2019-02-24 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00010000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 01f39951:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-13 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00000802 Tex LM TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; gl_FragColor = v; } vs: 01f39951:00000b19 HWX C T N LM Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(norm
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-02 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f39951:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(n
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-02 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00200802 Tex LM Fog TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 01f39951:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(l
Grand Theft Auto: Chinatown Wars v1.7.5 2019-02-28 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35991:00000915 HWX T LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoe
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-06 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f31551:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot;
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-06 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00200802 Tex LM Fog TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 01f31551:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular3 * u_matspecul
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-06 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00010000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 01f31551:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldo
Grand Theft Auto: Chinatown Wars v1.7.1 2018-11-09 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f31551:00000b11 HWX T N LM Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient3 * u_matambien
Grand Theft Auto: Chinatown Wars v1.7.1 2018-11-09 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00010000:0000d822 Tex TexAlpha LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 01f31551:00000b11 HWX T N LM Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient3 * u_matambi
Grand Theft Auto: Chinatown Wars v1.7.1 2018-11-09 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00000802 Tex LM TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; gl_FragColor = v; } vs: 01f31551:00000b11 HWX T N LM Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_texcoord = vec3(texcoord.x
Grand Theft Auto: Chinatown Wars v1.7.1 2018-11-09 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0000d802 Tex LM TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f31551:00000b11 HWX T N LM Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient3 * u
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-10 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00200802 Tex LM Fog TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 01f35991:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_
Grand Theft Auto: Chinatown Wars v1.7.5 2019-05-03 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35991:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distan
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-10 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00010000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 01f35991:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, dist
Grand Theft Auto: Chinatown Wars v1.5.4-997-g3472d62ff 2018-10-21 Unknown GetPointer 00000027 PC 08b10e48 LR 08975e78
Grand Theft Auto: Chinatown Wars v1.5.4-997-g3472d62ff 2018-10-21 Unknown GetPointer 0000001d PC 08b10e48 LR 089763bc
Grand Theft Auto: Chinatown Wars v1.7.5 2019-03-02 GL ran out of GPU memory; switching to low memory mode
Grand Theft Auto: Chinatown Wars v1.6.3 2019-01-04 WriteToHardware: Invalid address 00000000 near PC 08a0939c LR 08a0939c
Grand Theft Auto: Chinatown Wars v1.7.5 2019-02-03 WriteToHardware: Invalid address 00000c8b near PC 08000000 LR 08000000
Grand Theft Auto: Chinatown Wars v1.7.2 2018-11-19 Unknown GetPointer 00000000 PC 0897384c LR 08973870
Grand Theft Auto: Chinatown Wars v1.6.3 2018-08-16 Unknown GetPointer 00000000 PC 08a706c4 LR 08a706dc
Grand Theft Auto: Chinatown Wars v1.6.3-276-g53f1624 2018-08-14 ReadFromHardware: Invalid address 0a66e298 near PC 089f4428 LR 089f4400
Grand Theft Auto: Chinatown Wars v1.6.2 2018-06-05 80111101=sceUtilityLoadModule(deadbeef): invalid module id
Grand Theft Auto: Chinatown Wars v1.6.2 2018-06-05 Branch in Jump delay slot at 08a6dbec in block starting at 08a6dbd4
Grand Theft Auto: Chinatown Wars v1.6.2 2018-06-05 Branch in Jump delay slot at 08a6dbcc in block starting at 08a6dbb0
Grand Theft Auto: Chinatown Wars v1.6.2 2018-06-05 Branch in Jump delay slot at 08a6db8c in block starting at 08a6db60
Grand Theft Auto: Chinatown Wars v1.6.2 2018-06-05 Branch in Jump delay slot at 08a6da0c in block starting at 08a6da00
Grand Theft Auto: Chinatown Wars v1.6.2 2018-06-05 Branch in Jump delay slot at 08a6dafc in block starting at 08a6daf4