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.17.1 |
2024-03-19 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r8p0-00dev0 [Revision 96995].
01f35951:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f35951:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(u_lightdir2, toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, vec |
Grand Theft Auto®: Chinatown Wars™ |
v1.10.2 |
2024-03-13 |
WriteToHardware: Invalid address 00000012 near PC 08b17c30 LR 08b17224 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2024-03-06 |
Utility access thread still running, state: shutting down, dialog=2/1 |
Grand Theft Auto®: Chinatown Wars™ |
v1.17.1 |
2024-03-02 |
MIPSCompileOp: Invalid instruction 000004bb |
Grand Theft Auto®: Chinatown Wars™ |
v1.17.1 |
2024-02-28 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r6p0-01rel0 [Revision 96995].
01730551:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01730551:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_l |
Grand Theft Auto®: Chinatown Wars™ |
v1.17.1 |
2024-02-26 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r6p0-01rel0 [Revision 96995].
01f35951:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f35951:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(u_lightdir2, toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, |
Grand Theft Auto®: Chinatown Wars™ |
v1.17.1 |
2024-02-26 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r6p0-01rel0 [Revision 96995].
01f35951:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f35951:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(u_lightdir2, toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, vec |
Grand Theft Auto®: Chinatown Wars™ |
v1.14.4 |
2024-02-23 |
Replacement rowPitch=1024, but w=2048 (level=0) |
Grand Theft Auto®: Chinatown Wars™ |
v1.17.1 |
2024-02-24 |
WriteToHardware: Invalid address 000003bd near PC 08000000 LR 08000000 |
Grand Theft Auto®: Chinatown Wars™ |
v1.11.3 |
2024-02-16 |
Unexpected mpeg first timestamp: d59a080000 / 917412249600 |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-01-30 |
ReadFromHardware: Invalid address 00000000 near PC 00000000 LR 08bc0488 |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:0020d800 LM Fog AlphaTest >
#version 100
precision lowp float;
uniform sampler2D testtex;
varying vec4 v_color0;
varying vec3 v_color1;
uniform vec3 u_fogcolor;
varying mediump float v_fogdepth;
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;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f39951:0000030d HWX C N LM Fog 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 lowp vec4 color0;
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 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;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
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);
gl_Position = 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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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;
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);
gl_Position = 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 /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
angle = d |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f39951:0000030d HWX C N LM Fog Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3
#version 100
precision highp float;
attribute vec3 position;
attribute mediump vec3 normal;
attribute lowp vec4 color0;
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 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;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
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);
gl_Position = 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(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;
}
dif |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
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
#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;
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);
gl_Position = 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 /= 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 * color0 |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-01-25 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r9p0-00dev0 [Revision 96995].
01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-01-24 |
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 aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f39951:00000b1d HWX C 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;
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;
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);
gl_Position = 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_ |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-01-15 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r10p0-00rel0 [Revision 96995].
01f31591:00000329 HWX C N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31591:00000329 HWX C N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
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 vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
light |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-01-30 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r10p0-00rel0 [Revision 96995].
01f35951:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f35951:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(u_lightdir2, toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-02-06 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r10p0-00rel0 [Revision 96995].
01730551:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01730551:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-01-30 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r10p0-00rel0 [Revision 96995].
01f35951:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f35951:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(u_lightdir2, toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, v |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-01-02 |
sceKernelCreateSema(KSAP_ThLockSema) unsupported attr parameter: 00000011 |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-01-02 |
sceKernelCreateSema(KSAP_FnLockSema) unsupported attr parameter: 00000011 |
Grand Theft Auto®: Chinatown Wars™ |
v1.15.4 |
2023-12-31 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r5p0-01rel0 [Revision 96995].
01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
|
Grand Theft Auto®: Chinatown Wars™ |
v1.15.4 |
2023-12-24 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r8p0-01rel0 [Revision 96995].
01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2023-12-24 |
ReadFromHardware: Invalid address 2bdde7e8 near PC 089f3ef0 LR 089f3dec |
Grand Theft Auto®: Chinatown Wars™ |
v1.15.4 |
2023-12-23 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r8p0-01rel0 [Revision 96995].
01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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;
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);
gl_Position = 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.xy * u_uvscaleoffset.xy, 0.0);
}
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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;
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);
gl_Position = 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_co |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2023-12-26 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r6p0-01rel1 [Revision 96995].
01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance; |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-03-10 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r4p1-01rel0 [Revision 96995].
01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
|
Grand Theft Auto®: Chinatown Wars™ |
v1.13.2 |
2023-12-11 |
GetFramebufferCandidates(DEPTH): Multiple (3) candidate framebuffers. First will be chosen. texaddr: 04710000 offset: 0 (512x512 stride 512, CLUT16):
[C:04000000/512 Z:04110000/512 X:0 Y:0 reint: false] [C:04088000/512 Z:04110000/512 X:0 Y:0 reint: false] [C:04154000/512 Z:04110000/512 X:0 Y:0 reint: false] |
Grand Theft Auto®: Chinatown Wars™ |
v1.17.1 |
2024-02-14 |
Can't draw: No current render step. Step count: 0 |
Grand Theft Auto®: Chinatown Wars™ |
v1.11.3 |
2023-12-08 |
Branch in Jump delay slot at 097b20a4 in block starting at 097b2080 |
Grand Theft Auto®: Chinatown Wars™ |
v1.11.3 |
2023-12-08 |
Jump to invalid address: 02e14d30 |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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;
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);
gl_Position = 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.a) * lightScale);
lightSum0.rgb += (u_lightambient2 * color0.rgb + |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:0020d800 LM Fog AlphaTest >
#version 100
precision lowp float;
uniform sampler2D testtex;
varying vec4 v_color0;
varying vec3 v_color1;
uniform vec3 u_fogcolor;
varying mediump float v_fogdepth;
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;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f31591:00000105 HWX LM Fog 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;
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 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;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
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);
gl_Position = 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(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (ldot > 0.0)
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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;
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);
gl_Position = 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_ |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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: 01f35951:00000101 HWX LM 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;
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 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;
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);
gl_Position = 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(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.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular3 |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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: 01f39951:00000101 HWX LM 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;
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 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;
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);
gl_Position = 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(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) * |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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:00000b19 HWX C 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;
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 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;
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);
gl_Position = 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 /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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:00000b19 HWX C 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;
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 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;
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);
gl_Position = 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 /= 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 * color0.rgb) * ldot;
ldot = dot(normali |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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 aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) v.a = 0.0;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f35951: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: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 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;
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);
gl_Position = 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_matsp |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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: 01f35951: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: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 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;
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);
gl_Position = 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.6.3-432-gfd6c3145d |
2024-02-21 |
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 aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f39551: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: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 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;
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);
gl_Position = 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(toLi |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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 aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f35951: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: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 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;
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);
gl_Position = 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_matspec |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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;
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);
gl_Position = 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 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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:00000b1d HWX C 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;
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;
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);
gl_Position = 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; |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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: 01f39551: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: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 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;
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);
gl_Position = 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 |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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 aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) v.a = 0.0;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f39551: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: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 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;
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);
gl_Position = 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(to |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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:00000b1d HWX C 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;
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 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 vec2 u_fogcoef;
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);
gl_Position = 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;
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);
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);
if (ldot > 0.0)
lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) );
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(ligh |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:0020d800 LM Fog AlphaTest >
#version 100
precision lowp float;
uniform sampler2D testtex;
varying vec4 v_color0;
varying vec3 v_color1;
uniform vec3 u_fogcolor;
varying mediump float v_fogdepth;
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;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f31551:00000105 HWX LM Fog 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;
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 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;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
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);
gl_Position = 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_fogdepth = (viewPos.z + u_ |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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 aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f35991:0000091d HWX C 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;
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 vec2 u_fogcoef;
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);
gl_Position = 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(n |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:0020d800 LM Fog AlphaTest >
#version 100
precision lowp float;
uniform sampler2D testtex;
varying vec4 v_color0;
varying vec3 v_color1;
uniform vec3 u_fogcolor;
varying mediump float v_fogdepth;
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;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f31191:0000030d HWX C N LM Fog Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:0 3: c:1 t:0 MatUp:3 (failed)
#version 100
precision highp float;
attribute vec3 position;
attribute mediump vec3 normal;
attribute lowp vec4 color0;
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 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 vec2 u_fogcoef;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
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);
gl_Position = 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;
ldot = max(dot(toLight, worldnormal), 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) );
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse);
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);
if (ldot > 0.0)
lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) );
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = clamp(lightSum1, |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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: 01f31191:00000919 HWX C T LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:0 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 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;
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);
gl_Position = 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;
ldot = max(dot(toLight, worldnormal), 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) );
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse);
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);
if (ldot > 0.0)
lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) );
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = clamp(lightSum1, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvsc |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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: 01f39991:00000911 HWX T LM Tex Light: 0: c:1 t:0 1: c:1 t:2 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 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 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;
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);
gl_Position = 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_lightspecula |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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:00000b19 HWX C T N 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 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 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;
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);
gl_Position = 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 /= distance; |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
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: 01f39591:00000b19 HWX C T N 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 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 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;
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);
gl_Position = 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 /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
angle = dot(normalize(u_lightdir3), toLight);
if (angle >= u_lightangle_spotCoef3.x) |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f35991:0000091d HWX C 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
#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 vec2 u_fogcoef;
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);
gl_Position = 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.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);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, d |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f39991:00000911 HWX T LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:2 3: c:1 t:2 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 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;
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);
gl_Position = 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 /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f31551:00000b1d HWX C 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
#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 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 vec2 u_fogcoef;
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);
gl_Position = 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;
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);
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);
if (ldot > 0.0)
lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) );
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = clamp(lightSum1, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f31191:0000030d HWX C N LM Fog Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:0 3: c:1 t:0 MatUp:3
#version 100
precision highp float;
attribute vec3 position;
attribute mediump vec3 normal;
attribute lowp vec4 color0;
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 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 vec2 u_fogcoef;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
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);
gl_Position = 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;
ldot = max(dot(toLight, worldnormal), 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) );
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse);
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);
if (ldot > 0.0)
lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) );
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = clamp(lightSum1, 0.0, 1.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f31591:00000105 HWX LM Fog 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;
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 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;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
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);
gl_Position = 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(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_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f31551:00000105 HWX LM Fog Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3
#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 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;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
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);
gl_Position = 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_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f35591:00000b19 HWX C 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
#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 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 vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
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);
gl_Position = 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 /= 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 * color0.rgb) * 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) * li |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f39591:00000b19 HWX C T N 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
#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 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;
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);
gl_Position = 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 /= 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 {
l |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f35951:00000101 HWX LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1 MatUp:3
#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 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;
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);
gl_Position = 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(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.0)), worldnormal);
if (ldot > 0.0)
lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale);
lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale;
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
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
#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;
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);
gl_Position = 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.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);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * color0 |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
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
#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;
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);
gl_Position = 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.xy * u_uvscaleoffset.xy, 0.0);
}
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f31191:00000919 HWX C T LM Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:0 3: c:1 t:0 MatUp:3
#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 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;
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);
gl_Position = 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;
ldot = max(dot(toLight, worldnormal), 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) );
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse);
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);
if (ldot > 0.0)
lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) );
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = clamp(lightSum1, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
}
|
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
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
#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;
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);
gl_Position = 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 / 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(toL |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f39951:00000b1d HWX C 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
#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 vec2 u_fogcoef;
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);
gl_Position = 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(normalize(u_lightdir3), toLight);
if (angle >= u_lightangle_spotCoef3.x) {
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)) |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f35951: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:1 MatUp:3
#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 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;
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);
gl_Position = 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(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.0)), |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f39551: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:2 MatUp:3
#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 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;
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);
gl_Position = 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.0)), |
Grand Theft Auto®: Chinatown Wars™ |
v1.6.3-432-gfd6c3145d |
2024-02-21 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel0 [Revision 96995].
01f39951:00000101 HWX LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3
#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 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;
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);
gl_Position = 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(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(toL |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2023-11-29 |
__KernelStopThread: thread 291 does not exist (helper deleted) |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2024-03-06 |
sceUtilityMsgDialogInitStart: invalid status |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2023-12-25 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r9p0-01rel0 [Revision 96995].
01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31591:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2023-10-22 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r8p0-00dev0 [Revision 96995].
01f31591:00000329 HWX C N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31591:00000329 HWX C N LM Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
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 vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightSc |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.6 |
2023-10-19 |
sceKernelLoadModule: unsupported options size=00000014, flags=00000110, pos=0, access=1, data=2, text=2 |
Grand Theft Auto®: Chinatown Wars™ |
v1.17.1 |
2024-03-19 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r8p0-00dev0 [Revision 96995].
01730551:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01730551:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 MatUp:3 Cull
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 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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.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 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_l |
Grand Theft Auto®: Chinatown Wars™ |
v1.13.2 |
2023-09-30 |
Unknown GetPointer 00000000 PC 089f4234 LR 089f423c |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.2 |
2023-09-22 |
Jump to invalid address: 022fb330 |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.2 |
2023-09-22 |
Branch in Jump delay slot at 08b17988 in block starting at 08b17988 |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.2 |
2023-09-22 |
Jump to invalid address: 02fd7200 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3-1071-g830420f0c |
2023-09-20 |
avcodec_send_packet: Error decoding audio -1094995529 / bebbb1b7 |
Grand Theft Auto®: Chinatown Wars™ |
v1.16.2 |
2023-09-19 |
__KernelStopThread: thread 360 does not exist (helper deleted) |
Grand Theft Auto®: Chinatown Wars™ |
v1.15.4 |
2023-09-19 |
sceGeBreak(mode=0, unknown=08ce04ac): unknown ptr (valid) |
Grand Theft Auto®: Chinatown Wars™ |
v1.15.4 |
2023-09-18 |
Error in shader compilation: info: Compile failed.
WARNING: 0:63: 'function_call_constructor@vec4_vec4@12' : used without being initialised
WARNING: 0:87: 'function_call_constructor@vec3_vec3@105' : used without being initialised
WARNING: 0:103: 'function_call_constructor@float_float@147' : used without being initialised
WARNING: 3 compilation warnings.
01000000:80000929 HWX C T LM Light: LightUberShader Cull
#version 130
// Driver: Intel(R) Graphics Media Accelerator 3600 Series - GLSL 130
#define gl_VertexIndex gl_VertexID
#define lowp
#define mediump
#define highp
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000929 HWX C T LM Light: LightUberShader Cull
in vec3 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
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 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_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out mediump vec3 v_texcoord;
out mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha;
vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse;
vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
uint comp; uint type; float attenuation;
if ((u_lightControl & 0x1u) != 0x0u) {
comp = (u_lightControl >> 0x04u) & 0x3u;
type = (u_lightControl >> 0x06u) & 0x3u;
toLight = u_lightpos0;
if (type != 0x0u) {
toLight -= worldpos;
distance = length(toLight);
toLight /= distance;
attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
if (type == 0x01u) {
lightScale = attenuation;
} else {
angle = dot(u_lightdir0, toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
}
} else {
lightScale = 1.0;
}
ldot = dot(toLight, worldnormal);
if (comp == 0x2u) {
ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0;
|
Grand Theft Auto®: Chinatown Wars™ |
v1.10.3 |
2023-09-13 |
sceKernelLoadModule: unsupported options size=00000014, flags=00000021, pos=0, access=1, data=1, text=1 |
Grand Theft Auto®: Chinatown Wars™ |
v1.15.4 |
2023-09-11 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r7p0-00rel1 [Revision 96995].
01f31111:00000921 HWX T LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 MatUp:3 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f31111:00000921 HWX T LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 MatUp:3 Cull
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 lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
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_depthRange;
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;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
mediump float ldot;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse);
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular2 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse);
toLight = u_lightpos3;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0 |
Grand Theft Auto®: Chinatown Wars™ |
v1.10.2 |
2023-09-07 |
Unimplemented HLE function sceImposeSetHomePopup |
Grand Theft Auto®: Chinatown Wars™ |
v1.10.2 |
2023-09-07 |
MFIC instruction hit (70020024) at 08a07304 |
Grand Theft Auto®: Chinatown Wars™ |
v1.10.2 |
2023-09-07 |
sceKernelCreateThread(name=pspDveManager_Module): unsupported attributes 00001006 |
Grand Theft Auto®: Chinatown Wars™ |
v1.10.2 |
2023-09-07 |
Unknown syscall in known module 'sceCtrl_driver': 0xc4aad55f |
Grand Theft Auto®: Chinatown Wars™ |
v1.15.4 |
2023-08-27 |
__KernelStopThread: thread 359 does not exist (helper deleted) |
Grand Theft Auto®: Chinatown Wars™ |
v1.15.4 |
2023-08-24 |
WriteToHardware: Invalid address 000003e3 near PC 08000000 LR 08000000 |
Grand Theft Auto®: Chinatown Wars™ |
v1.10.3 |
2023-08-08 |
Unknown GetPointer 00000000 PC 08815ef4 LR 08000020 |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3 |
2023-08-06 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r8p0-01rel0 [Revision 96995].
01f39591:00000931 HWX 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 Cull
#version 100
// Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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 vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 (ldo |
Grand Theft Auto®: Chinatown Wars™ |
v1.15.4 |
2023-07-19 |
Jump to invalid address: 06826230 |