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 |
Silent Hill® Origins |
v1.18.1 |
2025-03-31 |
sceDmacMemcpy(dest=0982a0e0, src=097a20c0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-03-29 |
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].
03f04440:41c00b00 HWX T N Bones:8 Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 WScale 1
#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))
// 03f04440:41c00b00 HWX T N Bones:8 Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 WScale 1
attribute mediump vec4 w1, w2;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mat4 u_bone0;
uniform mat4 u_bone1;
uniform mat4 u_bone2;
uniform mat4 u_bone3;
uniform mat4 u_bone4;
uniform mat4 u_bone5;
uniform mat4 u_bone6;
uniform mat4 u_bone7;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
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 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() {
mat4 skinMatrix = mul(w1.x, u_bone0) + mul(w1.y, u_bone1) + mul(w1.z, u_bone2) + mul(w1.w, u_bone3) + mul(w2.x, u_bone4) + mul(w2.y, u_bone5) + mul(w2.z, u_bone6) + mul(w2.w, u_bone7);
vec3 skinnedpos = mul(vec4(position, 1.0), skinMatrix).xyz * 1.9921875;
vec3 worldpos = mul(vec4(skinnedpos, 1.0), u_world).xyz;
mediump vec3 skinnednormal = mul(vec4(normal, 0.0), skinMatrix).xyz * 1.9921875;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(skinnednormal, 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);
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);
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);
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);
lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * |
Silent Hill® Origins |
v1.18.1 |
2025-03-29 |
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].
03f04444:41800b00 HWX T N Bones:7 Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 WScale 1
#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))
// 03f04444:41800b00 HWX T N Bones:7 Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 WScale 1
attribute mediump vec4 w1;
attribute mediump vec3 w2;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mat4 u_bone0;
uniform mat4 u_bone1;
uniform mat4 u_bone2;
uniform mat4 u_bone3;
uniform mat4 u_bone4;
uniform mat4 u_bone5;
uniform mat4 u_bone6;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
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 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() {
mat4 skinMatrix = mul(w1.x, u_bone0) + mul(w1.y, u_bone1) + mul(w1.z, u_bone2) + mul(w1.w, u_bone3) + mul(w2.x, u_bone4) + mul(w2.y, u_bone5) + mul(w2.z, u_bone6);
vec3 skinnedpos = mul(vec4(position, 1.0), skinMatrix).xyz * 1.9921875;
vec3 worldpos = mul(vec4(skinnedpos, 1.0), u_world).xyz;
mediump vec3 skinnednormal = mul(vec4(normal, 0.0), skinMatrix).xyz * 1.9921875;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(skinnednormal, 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);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
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);
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);
lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight) |
Silent Hill® Origins |
v1.18.1 |
2025-03-25 |
sceKernelLoadModule: unsupported options size=00000014, flags=08a2fd84, pos=0, access=1, data=2, text=2 |
Silent Hill® Origins |
v1.18.1 |
2025-03-25 |
sceKernelLoadModule: unsupported options size=00000014, flags=02000200, pos=0, access=1, data=2, text=2 |
Silent Hill® Origins |
v1.18.1 |
2025-03-25 |
sceKernelLoadModule: unsupported options size=00000014, flags=08ad0000, pos=0, access=1, data=1, text=1 |
Silent Hill® Origins |
v1.18 |
2025-03-21 |
sceDmacMemcpy(dest=09876d70, src=09766d30, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-03-21 |
sceDmacMemcpy(dest=09791ca0, src=0990c750, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-03-20 |
sceDmacMemcpy(dest=09aad4d0, src=0999d490, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1-334-g1786a4ddb |
2025-03-19 |
sceDmacMemcpy(dest=09d05310, src=09bf52d0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-03-04 |
sceDmacMemcpy(dest=09d0f700, src=09bff6c0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-03-01 |
sceDmacMemcpy(dest=09d07830, src=09bf77f0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-02-28 |
sceDmacMemcpy(dest=09aa1760, src=09991720, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-02-22 |
sceDmacMemcpy(dest=09843500, src=097334c0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18 |
2025-02-14 |
Imm vertex used clip value, flags=f9f000 |
Silent Hill® Origins |
v1.11.3-1679-g195662497 |
2025-02-14 |
80630007=sceAtracSetData(2, 08bd5600, 00008160): atracID uses different codec type than data |
Silent Hill® Origins |
v1.11.3-1679-g195662497 |
2025-02-14 |
80630007=sceAtracSetData(2, 08bd5600, 00001860): atracID uses different codec type than data |
Silent Hill® Origins |
v1.11.3-1679-g195662497 |
2025-02-14 |
80630007=sceAtracSetData(2, 08bd5600, 00003ea0): atracID uses different codec type than data |
Silent Hill® Origins |
v1.11.3-1679-g195662497 |
2025-02-14 |
Rendering to framebuffer offset: 040cc000 +65x0 |
Silent Hill® Origins |
v1.11.3-1679-g195662497 |
2025-02-14 |
80630007=sceAtracSetData(2, 08b9d5c0, 00038000): atracID uses different codec type than data |
Silent Hill® Origins |
v1.11.3-1679-g195662497 |
2025-02-14 |
sceGeBreak(mode=0, unknown=08b90d1c): unknown ptr (valid) |
Silent Hill® Origins |
v1.18.1 |
2025-02-11 |
Unexpected mpeg first timestamp: 5fb5b5b5b5b / 6577127643995 |
Silent Hill® Origins |
v1.18 |
2025-02-09 |
sceDmacMemcpy(dest=099b8ca0, src=098a8c60, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-02-15 |
Imm vertex used clip value, flags=fbf800 |
Silent Hill® Origins |
v1.18.1 |
2025-01-19 |
sceDmacMemcpy(dest=09de6860, src=09cd6820, size=557056): overlapping read |
Silent Hill® Origins |
v1.18 |
2025-01-18 |
sceDmacMemcpy(dest=094598d0, src=093d18b0, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1 |
2025-01-14 |
sceDmacMemcpy(dest=0986e710, src=0975e6d0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-01-11 |
sceDmacMemcpy(dest=09a41430, src=099b9410, size=557056): overlapping read |
Silent Hill® Origins |
v1.18 |
2025-01-09 |
sceDmacMemcpy(dest=09949750, src=09839710, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-01-08 |
sceDmacMemcpy(dest=09819f60, src=09709f20, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-01-06 |
sceDmacMemcpy(dest=098587b0, src=09748770, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-01-03 |
sceDmacMemcpy(dest=09a0c8c0, src=098fc880, size=557056): overlapping read |
Silent Hill® Origins |
v1.18 |
2025-01-02 |
sceDmacMemcpy(dest=098f87d0, src=097c8470, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2025-01-01 |
sceDmacMemcpy(dest=09cf1ae0, src=09be1aa0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18 |
2024-12-31 |
sceDmacMemcpy(dest=09a08810, src=098f87d0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18 |
2024-12-30 |
sceDmacMemcpy(dest=09d020e0, src=09bf20a0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2024-12-28 |
sceDmacMemcpy(dest=09823910, src=097138d0, size=557056): overlapping read |
Silent Hill® Origins |
v1.7.4 |
2024-12-27 |
sceDmacMemcpy(dest=09928f00, src=09818ec0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2024-12-23 |
Unexpected mpeg first timestamp: 7f878787878 / 8763754444920 |
Silent Hill® Origins |
v1.18.1 |
2024-12-15 |
sceDmacMemcpy(dest=09df1b30, src=09ce1af0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2024-12-14 |
Unexpected mpeg first timestamp: 4f8bb02d478 / 5466335925368 |
Silent Hill® Origins |
v1.18.1 |
2024-12-14 |
Unexpected mpeg first timestamp: e699ef22251 / 15846801023569 |
Silent Hill® Origins |
v1.18.1 |
2024-12-14 |
Unexpected mpeg first timestamp: 9a2d22d1db0 / 10594915524016 |
Silent Hill® Origins |
v1.18.1 |
2024-12-14 |
Unexpected mpeg first timestamp: 5fe0e8bdc89 / 6588723879049 |
Silent Hill® Origins |
v1.18.1 |
2024-12-12 |
Unexpected mpeg first timestamp: 42a42d3e449 / 4579556320329 |
Silent Hill® Origins |
v1.18.1 |
2024-12-12 |
Unexpected mpeg first timestamp: 1b4a56cae71 / 1875381104241 |
Silent Hill® Origins |
v1.18.1 |
2024-12-14 |
Unexpected mpeg first timestamp: 9b164088d78 / 10657492143480 |
Silent Hill® Origins |
v1.18.1 |
2024-12-14 |
Unexpected mpeg first timestamp: 7fe389e8db7 / 8788453002679 |
Silent Hill® Origins |
v1.18.1 |
2024-12-14 |
Unexpected mpeg first timestamp: bbe4fdce9ef / 12912011569647 |
Silent Hill® Origins |
v1.18.1 |
2024-12-14 |
Unexpected mpeg first timestamp: 4d340fe53a6 / 5305375019942 |
Silent Hill® Origins |
v1.18.1 |
2024-12-14 |
Unexpected mpeg first timestamp: df383b182c0 / 15339537662656 |
Silent Hill® Origins |
v1.18.1 |
2024-12-11 |
sceDmacMemcpy(dest=09e125b0, src=09d02570, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2024-12-10 |
sceDmacMemcpy(dest=0999e9a0, src=0988e960, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2024-12-09 |
sceDmacMemcpy(dest=09ab4b90, src=099a4b50, size=557056): overlapping read |
Silent Hill® Origins |
v1.18 |
2024-12-04 |
sceDmacMemcpy(dest=09822e20, src=09712de0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18 |
2024-12-01 |
Unexpected mpeg first timestamp: 9bb443c803d / 10699908350013 |
Silent Hill® Origins |
v1.18 |
2024-11-30 |
Unexpected mpeg first timestamp: d7233ca855 / 924009146453 |
Silent Hill® Origins |
v1.18 |
2024-11-30 |
Unexpected mpeg first timestamp: 3f005bb4a62 / 4329423194722 |
Silent Hill® Origins |
v1.18.1 |
2024-11-30 |
sceDmacMemcpy(dest=09863df0, src=09753db0, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2024-11-23 |
Unexpected mpeg first timestamp: 26411c00000 / 2628817780736 |
Silent Hill® Origins |
v1.18.1 |
2024-11-16 |
sceDmacMemcpy(dest=09cec340, src=09bdc300, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1 |
2024-11-15 |
UNIMPL sceIoChstat(ms0:/PSP/SAVEDATA/ULJS00236DATA/DATA.CPK, 09f949b0, 00000002) |
Silent Hill® Origins |
v1.18.1 |
2024-11-15 |
sceDmacMemcpy(dest=09b31920, src=09a218e0, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.4-1 |
2024-11-14 |
sceDmacMemcpy(dest=0981f3c0, src=0970f380, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2024-11-11 |
sceDmacMemcpy(dest=0990f260, src=097ff220, size=557056): overlapping read |
Silent Hill® Origins |
v1.18.1 |
2024-11-10 |
Unexpected mpeg first timestamp: f7233ca6da / 1061448099546 |
Silent Hill® Origins |
v1.18.1 |
2024-11-10 |
Unexpected mpeg first timestamp: 795cdc00000 / 8339983433728 |
Silent Hill® Origins |
v1.18.1 |
2024-11-08 |
Unexpected mpeg first timestamp: 666400000 / 27485274112 |
Silent Hill® Origins |
v1.18.1 |
2024-11-08 |
Unexpected mpeg first timestamp: f7233cdb55 / 1061448112981 |
Silent Hill® Origins |
v1.18.1 |
2024-11-07 |
sceDmacMemcpy(dest=09937680, src=09827640, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1 |
2024-11-03 |
sceDmacMemcpy(dest=09808510, src=096f84d0, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1-980-gabaea0197b |
2024-11-02 |
sceDmacMemcpy(dest=09861b60, src=09751b20, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1 |
2024-11-02 |
Unexpected mpeg first timestamp: fc3a286cd8 / 1083307486424 |
Silent Hill® Origins |
v1.17.1 |
2024-11-02 |
Unexpected mpeg first timestamp: 1de4a62acf9 / 2054242348281 |
Silent Hill® Origins |
v1.17.1 |
2024-11-02 |
Unexpected mpeg first timestamp: 17f926d23da / 1647429100506 |
Silent Hill® Origins |
v1.17.1 |
2024-11-02 |
Unexpected mpeg first timestamp: 589f5072d3d / 6090079546685 |
Silent Hill® Origins |
v1.17.1 |
2024-10-30 |
Unknown GE command : fef0e522 |
Silent Hill® Origins |
v1.17.1 |
2024-10-30 |
__KernelStopThread: thread 434 does not exist (ApctlThread deleted) |
Silent Hill® Origins |
v1.17.1-1311-g28ff6272b7 |
2024-10-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 r5p0-01rel0 [Revision 96995].
03f04440:41400b20 HWX T N Bones:6 Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 WScale 1 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))
// 03f04440:41400b20 HWX T N Bones:6 Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 WScale 1 Cull
attribute mediump vec4 w1;
attribute mediump vec2 w2;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mat4 u_bone0;
uniform mat4 u_bone1;
uniform mat4 u_bone2;
uniform mat4 u_bone3;
uniform mat4 u_bone4;
uniform mat4 u_bone5;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
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 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() {
mat4 skinMatrix = mul(w1.x, u_bone0) + mul(w1.y, u_bone1) + mul(w1.z, u_bone2) + mul(w1.w, u_bone3) + mul(w2.x, u_bone4) + mul(w2.y, u_bone5);
vec3 skinnedpos = mul(vec4(position, 1.0), skinMatrix).xyz * 1.9921875;
vec3 worldpos = mul(vec4(skinnedpos, 1.0), u_world).xyz;
mediump vec3 skinnednormal = mul(vec4(normal, 0.0), skinMatrix).xyz * 1.9921875;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(skinnednormal, 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);
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);
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);
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);
lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += ( |
Silent Hill® Origins |
v1.17.1 |
2024-10-27 |
sceDmacMemcpy(dest=09939780, src=09829740, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1 |
2024-10-27 |
sceDmacMemcpy(dest=09dc9790, src=09cb9750, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1 |
2024-10-24 |
Unusual bezier/spline vtype: 120017c1, morph: 0, bones: 1 |
Silent Hill® Origins |
v1.17.1 |
2024-10-23 |
Imm vertex used clip value, flags=fff800 |
Silent Hill® Origins |
v1.17.1 |
2024-10-23 |
Imm vertex used clip value, flags=fa6000 |
Silent Hill® Origins |
v1.17.1 |
2024-10-23 |
Unknown GE command : fefeeb4a |
Silent Hill® Origins |
v1.17.1 |
2024-10-23 |
Jump to invalid address: 02433ef0 PC 0890cfc8 LR 0890cfc4 |
Silent Hill® Origins |
v1.17.1 |
2024-10-23 |
Jump to invalid address: 027d8760 PC 0890cfc8 LR 0890cfc4 |
Silent Hill® Origins |
v1.17.1 |
2024-10-23 |
Branch in Jump delay slot at 0890cfc4 in block starting at 0890cfc4 |
Silent Hill® Origins |
v1.17.1 |
2024-10-23 |
Jump to invalid address: 06a4d520 PC 0890cfc4 LR 0890cfc4 |
Silent Hill® Origins |
v1.17.1 |
2024-10-23 |
Unknown GE command : feff5fed |
Silent Hill® Origins |
v1.17.1 |
2024-10-23 |
sceDmacMemcpy(dest=09ddcd20, src=09cccce0, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1-980-gabaea0197b |
2024-10-22 |
sceDmacMemcpy(dest=09d3a8f0, src=094e38c0, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1-980-gabaea0197b |
2024-10-21 |
sceDmacMemcpy(dest=09847610, src=097375d0, size=557056): overlapping read |
Silent Hill® Origins |
v1.17.1 |
2024-10-19 |
Unknown GE command : feba6a35 |
Silent Hill® Origins |
v1.17.1 |
2024-10-19 |
Unknown GE command : fd7d7c59 |
Silent Hill® Origins |
v1.17.1 |
2024-10-16 |
sceKernelLoadModule: unsupported options size=00000014, flags=08a87160, pos=0, access=1, data=2, text=2 |
Silent Hill® Origins |
v1.17.1 |
2024-10-16 |
Unexpected mpeg first timestamp: 512cc3dac24 / 5578294144036 |
Silent Hill® Origins |
v1.17.1 |
2024-10-16 |
Unexpected mpeg first timestamp: 9c4203e5f94 / 10737959198612 |
Silent Hill® Origins |
v1.17.1 |
2024-10-15 |
No DL ID available to enqueue |
Silent Hill® Origins |
v1.17.1 |
2024-10-14 |
Unexpected mpeg first timestamp: f1781400000 / 16593627119616 |