Client Upload Part 1

RD Core / Commit #4

Commit Client Upload Part 1

Alex Alex committed 19/10/2026 00:04 main Patch
4,149 files +18,091 -7
A RD_Client/data/shaders/rainbow_outline_vert.frag +16-0 View file
@@ -0,0 +1,16 @@
1+attribute vec2 a_Vertex;
2+attribute vec2 a_TexCoord;
3+uniform mat3 u_TextureMatrix;
4+varying vec2 v_TexCoord;
5+varying vec2 v_TexCoord2;
6+uniform mat3 u_TransformMatrix;
7+uniform mat3 u_ProjectionMatrix;
8+uniform vec2 u_Offset;
9+
10+void main()
11+{
12+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
13+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
14+ v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy;
15+}
16+
A RD_Client/data/shaders/rbg_frag.frag +30-0 View file
@@ -0,0 +1,30 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_TexCoord3;
5+uniform sampler2D u_Tex0;
6+uniform float u_Time;
7+uniform vec2 u_Resolution;
8+
9+void main()
10+{
11+ gl_FragColor = texture2D(u_Tex0, v_TexCoord);
12+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
13+ vec4 texcolor2 = texture2D(u_Tex0, v_TexCoord3);
14+
15+ if(texcolor.r > 0.9) {
16+ gl_FragColor *= vec4(sin(u_Time * 5.0), sin(u_Time * 5.0 + 2.0), sin(u_Time * 5.0 + 4.0), 1.0);
17+ } else if(texcolor.g > 0.9) {
18+ gl_FragColor *= vec4(sin(u_Time * 5.0 + 2.0), sin(u_Time * 5.0 + 4.0), sin(u_Time * 5.0), 1.0);
19+ } else if(texcolor.b > 0.9) {
20+ gl_FragColor *= vec4(sin(u_Time * 5.0 + 4.0), sin(u_Time * 5.0), sin(u_Time * 5.0 + 2.0), 1.0);
21+ }
22+
23+ if(gl_FragColor.a < 0.01) {
24+ if(texcolor2.a > 0.01) {
25+ gl_FragColor = vec4(0.5 + abs(0.5 - mod(u_Time, 1.0)), 0.0, 0.0, 1.0);
26+ } else {
27+ discard;
28+ }
29+ }
30+}
A RD_Client/data/shaders/rbg_vert.frag +41-0 View file
@@ -0,0 +1,41 @@
1+attribute vec2 a_TexCoord;
2+uniform mat3 u_TextureMatrix;
3+varying vec2 v_TexCoord;
4+varying vec2 v_TexCoord2;
5+varying vec2 v_TexCoord3;
6+varying vec2 v_Position;
7+attribute vec2 a_Vertex;
8+uniform mat3 u_TransformMatrix;
9+uniform mat3 u_ProjectionMatrix;
10+uniform vec2 u_Offset;
11+uniform vec2 u_Resolution;
12+uniform vec2 u_Center;
13+
14+void main()
15+{
16+ vec2 vertex = a_Vertex;
17+ vec2 text = a_TexCoord;
18+ vec2 text2 = a_TexCoord;
19+ if(vertex.x < u_Center.x) {
20+ vertex.x -= 1.0;
21+ text.x -= 1.0;
22+ }
23+ if(vertex.x > u_Center.x) {
24+ vertex.x += 1.0;
25+ text.x += 1.0;
26+ }
27+ if(vertex.y < u_Center.y) {
28+ vertex.y -= 1.0;
29+ text.y -= 1.0;
30+ }
31+ if(vertex.y > u_Center.y) {
32+ vertex.y += 1.0;
33+ text.y += 1.0;
34+ }
35+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(vertex.xy, 1.0)).xy, 1.0, 1.0);
36+ v_Position = a_Vertex.xy - u_Center;
37+ v_TexCoord = (u_TextureMatrix * vec3(text,1.0)).xy;
38+ v_TexCoord2 = (u_TextureMatrix * vec3(text + u_Offset,1.0)).xy;
39+ v_TexCoord3 = (u_TextureMatrix * vec3(text2,1.0)).xy;
40+}
41+
A RD_Client/data/shaders/red_alarm.frag +11-0 View file
@@ -0,0 +1,11 @@
1+uniform float u_Time;
2+uniform sampler2D u_Tex0;
3+varying vec2 v_TexCoord;
4+
5+void main()
6+{
7+ vec4 color = texture2D(u_Tex0, v_TexCoord);
8+ float d = u_Time * 2.0;
9+ color.x += (1.0 + sin(d)) * 0.1;
10+ gl_FragColor = color;
11+}
A RD_Client/data/shaders/red_fragment.frag +51-0 View file
@@ -0,0 +1,51 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_TexCoord3;
5+varying vec2 v_Position;
6+uniform sampler2D u_Tex0;
7+uniform sampler2D u_Tex1;
8+uniform float u_Time;
9+uniform vec2 u_Resolution;
10+
11+vec2 direction = vec2(0.9,0.3);
12+float speed = 0.3;
13+float pressure = 1.0;
14+float zoom = 0.5;
15+
16+float r = 1.0;
17+float g = 0.0;
18+float b = 0.0;
19+float mode = 1.0;
20+
21+void main()
22+{
23+ gl_FragColor = texture2D(u_Tex0, v_TexCoord);
24+
25+ vec2 offset = (v_TexCoord + (direction * u_Time * speed)) / zoom;
26+ vec3 bgcol = texture2D(u_Tex0, v_TexCoord).xyz;
27+ vec3 fogcol = texture2D(u_Tex1, offset).xyz;
28+ vec3 col = bgcol + fogcol*pressure;
29+ vec4 color = texture2D(u_Tex0, v_TexCoord);
30+
31+ vec4 texcolor2 = texture2D(u_Tex0, v_TexCoord3);
32+ if(gl_FragColor.a < 0.01) {
33+ if(texcolor2.a > 0.01) {
34+ gl_FragColor = vec4(r, g, b, mode);
35+ } else {
36+ discard;
37+ }
38+ }
39+
40+
41+ gl_FragColor = mix(gl_FragColor, vec4(col, color.a), 0.5);
42+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
43+ if(texcolor.r > 0.9) {
44+ gl_FragColor *= texcolor.g > 0.9 ? u_Color[0] : u_Color[1];
45+ } else if(texcolor.g > 0.9) {
46+ gl_FragColor *= u_Color[2];
47+ } else if(texcolor.b > 0.9) {
48+ gl_FragColor *= u_Color[3];
49+ }
50+ if(gl_FragColor.a < 0.01) discard;
51+}
A RD_Client/data/shaders/red_halloween.frag +25-0 View file
@@ -0,0 +1,25 @@
1+uniform float u_Depth;
2+uniform mat4 u_Color;
3+varying vec2 v_TexCoord;
4+varying vec2 v_TexCoord2;
5+uniform sampler2D u_Tex0;
6+uniform vec2 u_Resolution;
7+uniform float u_Time;
8+
9+void main()
10+{
11+ // Sample the texture at the current fragment's texture coordinate
12+ vec4 texColor = texture2D(u_Tex0, v_TexCoord);
13+
14+ // Calculate grayscale value by averaging RGB channels
15+ float gray = (texColor.r + texColor.g + texColor.b) / 2.0;
16+
17+ // Define a color tint (e.g., red)
18+ vec4 tint = vec4(1.0, 0.0, 0.0, 1.0);
19+
20+ // Apply the grayscale effect and color tint
21+ gl_FragColor = gray * tint;
22+
23+ // Discard fragments with low alpha (transparency)
24+ if (gl_FragColor.a < 0.01) discard;
25+}
A RD_Client/data/shaders/red_halloween_vert.frag +18-0 View file
@@ -0,0 +1,18 @@
1+attribute vec2 a_TexCoord;
2+attribute vec2 a_Vertex;
3+uniform mat3 u_TextureMatrix;
4+varying vec2 v_TexCoord;
5+varying vec2 v_TexCoord2;
6+varying vec2 v_TexCoord3;
7+uniform mat3 u_TransformMatrix;
8+uniform mat3 u_ProjectionMatrix;
9+uniform vec2 u_Offset;
10+uniform vec2 u_Resolution;
11+uniform float u_Depth;
12+void main()
13+{
14+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, u_Depth / 16384.0, 1.0);
15+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
16+ v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy;
17+ v_TexCoord3 = (u_TextureMatrix * vec3(u_Resolution,1.0)).xy;
18+}
A RD_Client/data/shaders/sepia.frag +16-0 View file
@@ -0,0 +1,16 @@
1+uniform float u_Time;
2+uniform sampler2D u_Tex0;
3+varying vec2 v_TexCoord;
4+
5+vec4 sepia(vec4 color)
6+{
7+ return vec4(dot(color, vec4(.393, .769, .189, .0)),
8+ dot(color, vec4(.349, .686, .168, .0)),
9+ dot(color, vec4(.272, .534, .131, .0)),
10+ 1);
11+}
12+
13+void main()
14+{
15+ gl_FragColor = sepia(texture2D(u_Tex0, v_TexCoord));
16+}
A RD_Client/data/shaders/sepiap.frag +16-0 View file
@@ -0,0 +1,16 @@
1+uniform float u_Time;
2+uniform sampler2D u_Tex0;
3+varying vec2 v_TexCoord;
4+
5+vec4 sepia(vec4 color)
6+{
7+return vec4(dot(color, vec4(.560, .105, .675, .0)),
8+ dot(color, vec4(.390, .055, .635, .0)),
9+ dot(color, vec4(.305, .035, .565, .0)),
10+ color.a);
11+}
12+
13+void main()
14+{
15+ gl_FragColor = sepia(texture2D(u_Tex0, v_TexCoord));
16+}
A RD_Client/data/shaders/shaky.frag +19-0 View file
@@ -0,0 +1,19 @@
1+uniform float u_Time;
2+uniform sampler2D u_Tex0;
3+varying vec2 v_TexCoord;
4+
5+void main()
6+{
7+ vec4 col = texture2D(u_Tex0, v_TexCoord);
8+
9+ // Glitch effect
10+ float glitchSpeed = 1.0;
11+ float glitchIntensity = 0.1;
12+ float glitchOffsetX = glitchIntensity * sin(u_Time * glitchSpeed);
13+ float glitchOffsetY = glitchIntensity * cos(u_Time * glitchSpeed);
14+ vec2 glitchUV = v_TexCoord + vec2(glitchOffsetX, glitchOffsetY);
15+ vec4 glitchColor = texture2D(u_Tex0, glitchUV);
16+ col.rgb += glitchColor.rgb;
17+
18+ gl_FragColor = col;
19+}
A RD_Client/data/shaders/shine_fragment.frag +46-0 View file
@@ -0,0 +1,46 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_TexCoord3;
5+varying vec2 v_Position;
6+uniform sampler2D u_Tex0;
7+uniform float u_Time;
8+uniform vec2 u_Resolution;
9+
10+float speed = 5.0;
11+float height = 1.0;
12+float radius = 8.0;
13+
14+void main()
15+{
16+ float r = 255.0 / 255.0;
17+ float g = 255.0 / 255.0;
18+ float b = 255.0 / 255.0;
19+
20+ float modSpeed = 0.8;
21+ float mode = abs(0.5 - mod(u_Time * modSpeed, 1.0)) * 1.5;
22+
23+ gl_FragColor = texture2D(u_Tex0, v_TexCoord);
24+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
25+ vec4 texcolor2 = texture2D(u_Tex0, v_TexCoord3);
26+ if(texcolor.r > 0.9) {
27+ gl_FragColor *= texcolor.g > 0.9 ? u_Color[0] : u_Color[1];
28+ } else if(texcolor.g > 0.9) {
29+ gl_FragColor *= u_Color[2];
30+ } else if(texcolor.b > 0.9) {
31+ gl_FragColor *= u_Color[3];
32+ }
33+
34+ if(gl_FragColor.a < 0.01) {
35+ if(texcolor2.a > 0.01) {
36+ gl_FragColor = vec4(r, g, b, mode);
37+ } else {
38+ discard;
39+ }
40+ }
41+
42+ if(texcolor.a > 0.9) {
43+ gl_FragColor.xyz *= max(1.0, height / sqrt(abs(abs(sqrt(v_Position.x * v_Position.x + v_Position.y * v_Position.y) / 8.0) - abs(mod(u_Time * speed, radius * 2.0) - radius))));
44+ }
45+ if(gl_FragColor.a < 0.01) discard;
46+}
A RD_Client/data/shaders/snow.frag +20-0 View file
@@ -0,0 +1,20 @@
1+uniform float u_Time;
2+uniform sampler2D u_Tex0; // game screen
3+uniform sampler2D u_Tex1; // snow
4+varying vec2 v_TexCoord;
5+uniform vec2 u_WalkOffset;
6+
7+vec2 snowDirection = vec2(0.5, 1.0);
8+float snowSpeed = 0.08;
9+float snowPressure = 0.4;
10+float snowZoom = 0.1;
11+
12+void main(void)
13+{
14+ vec3 Game = texture2D(u_Tex0, v_TexCoord).xyz;
15+ vec2 SnowHandler = (v_TexCoord + vec2(u_WalkOffset.x, u_WalkOffset.y) + (snowDirection * u_Time * snowSpeed)) / snowZoom;
16+ vec3 Snow = texture2D(u_Tex1, SnowHandler).xyz;
17+
18+ vec3 _output = Game + Snow * snowPressure;
19+ gl_FragColor = vec4(_output, 1.0);
20+}
A RD_Client/data/shaders/ui_blur.frag +17-0 View file
@@ -0,0 +1,17 @@
1+uniform sampler2D u_Tex0;
2+varying vec2 v_TexCoord;
3+varying vec4 v_Color;
4+
5+void main()
6+{
7+ vec2 texSize = vec2(textureSize(u_Tex0, 0));
8+ vec2 step = 1.0 / texSize;
9+
10+ vec4 color = texture2D(u_Tex0, v_TexCoord) * 0.2270270270;
11+ color += texture2D(u_Tex0, v_TexCoord + vec2(step.x * 1.3846153846, step.y * 1.3846153846)) * 0.3162162162;
12+ color += texture2D(u_Tex0, v_TexCoord - vec2(step.x * 1.3846153846, step.y * 1.3846153846)) * 0.3162162162;
13+ color += texture2D(u_Tex0, v_TexCoord + vec2(step.x * 3.2307692308, step.y * 3.2307692308)) * 0.0702702703;
14+ color += texture2D(u_Tex0, v_TexCoord - vec2(step.x * 3.2307692308, step.y * 3.2307692308)) * 0.0702702703;
15+
16+ gl_FragColor = color * v_Color;
17+}
A RD_Client/data/shaders/vertex.frag +16-0 View file
@@ -0,0 +1,16 @@
1+attribute vec2 a_TexCoord;
2+attribute vec2 a_Vertex;
3+uniform mat3 u_TextureMatrix;
4+uniform mat3 u_TransformMatrix;
5+uniform mat3 u_ProjectionMatrix;
6+varying vec2 v_TexCoord;
7+
8+vec4 calculatePosition() {
9+ return vec4(u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0), 1.0);
10+}
11+
12+void main()
13+{
14+ gl_Position = calculatePosition();
15+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
16+}
A RD_Client/data/shaders/white_non_glow_frag.frag +31-0 View file
@@ -0,0 +1,31 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_TexCoord3;
5+uniform sampler2D u_Tex0;
6+uniform float u_Time;
7+uniform vec2 u_Resolution;
8+
9+void main()
10+{
11+ gl_FragColor = texture2D(u_Tex0, v_TexCoord);
12+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
13+ vec4 texcolor2 = texture2D(u_Tex0, v_TexCoord3);
14+ if(texcolor.r > 0.9) {
15+ gl_FragColor *= texcolor.g > 0.9 ? u_Color[0] : u_Color[1];
16+ } else if(texcolor.g > 0.9) {
17+ gl_FragColor *= u_Color[2];
18+ } else if(texcolor.b > 0.9) {
19+ gl_FragColor *= u_Color[3];
20+ }
21+ if(gl_FragColor.a < 0.01) {
22+ if(texcolor2.a > 0.01) {
23+ gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
24+ float dist = length(gl_FragCoord.xy - u_Resolution / 2.0);
25+ float glow = 1.0 / (1.0 + pow(dist / 150.0, 2.0));
26+ gl_FragColor.rgb += vec3(glow);
27+ } else {
28+ discard;
29+ }
30+ }
31+}
A RD_Client/data/shaders/white_non_glow_vert.frag +40-0 View file
@@ -0,0 +1,40 @@
1+attribute vec2 a_TexCoord;
2+uniform mat3 u_TextureMatrix;
3+varying vec2 v_TexCoord;
4+varying vec2 v_TexCoord2;
5+varying vec2 v_TexCoord3;
6+varying vec2 v_Position;
7+attribute vec2 a_Vertex;
8+uniform mat3 u_TransformMatrix;
9+uniform mat3 u_ProjectionMatrix;
10+uniform vec2 u_Offset;
11+uniform vec2 u_Resolution;
12+uniform vec2 u_Center;
13+
14+void main()
15+{
16+ vec2 vertex = a_Vertex;
17+ vec2 text = a_TexCoord;
18+ vec2 text2 = a_TexCoord;
19+ if(vertex.x < u_Center.x) {
20+ vertex.x -= 1.0;
21+ text.x -= 1.0;
22+ }
23+ if(vertex.x > u_Center.x) {
24+ vertex.x += 1.0;
25+ text.x += 1.0;
26+ }
27+ if(vertex.y < u_Center.y) {
28+ vertex.y -= 1.0;
29+ text.y -= 1.0;
30+ }
31+ if(vertex.y > u_Center.y) {
32+ vertex.y += 1.0;
33+ text.y += 1.0;
34+ }
35+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(vertex.xy, 1.0)).xy, 1.0, 1.0);
36+ v_Position = a_Vertex.xy - u_Center;
37+ v_TexCoord = (u_TextureMatrix * vec3(text,1.0)).xy;
38+ v_TexCoord2 = (u_TextureMatrix * vec3(text + u_Offset,1.0)).xy;
39+ v_TexCoord3 = (u_TextureMatrix * vec3(text2,1.0)).xy;
40+}
A RD_Client/data/shaders/widget_default_vertex.frag +16-0 View file
@@ -0,0 +1,16 @@
1+attribute vec2 a_Vertex;
2+attribute vec2 a_TexCoord;
3+uniform mat3 u_TextureMatrix;
4+varying vec2 v_TexCoord;
5+varying vec2 v_TexCoord2;
6+uniform mat3 u_TransformMatrix;
7+uniform mat3 u_ProjectionMatrix;
8+uniform vec2 u_Offset;
9+
10+void main()
11+{
12+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
13+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
14+ v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy;
15+}
16+
A RD_Client/data/shaders/zomg.frag +13-0 View file
@@ -0,0 +1,13 @@
1+uniform sampler2D u_Tex0;
2+uniform float u_Time;
3+varying vec2 v_TexCoord;
4+
5+vec2 tibiaDir = vec2(1.0, 1.0);
6+void main(void)
7+{
8+ vec2 dir = 0.5 - v_TexCoord;
9+ float dist = sqrt(dir.x * dir.x + dir.y * dir.y);
10+ float scale = 0.8 + dist * 0.5;
11+ vec4 color = texture2D(u_Tex0, -(dir * scale - 0.5));
12+ gl_FragColor = color;
13+}
A RD_Client/data/sounds/alarm.ogg +0-0 View file
Binary file not shown.
A RD_Client/data/sounds/ambient/amb_waterfallsmall_lp_01.ogg +0-0 View file
Binary file not shown.
A RD_Client/data/sounds/amp.ogg +0-0 View file
Binary file not shown.
A RD_Client/data/sounds/Anthem.ogg +0-0 View file
Binary file not shown.
A RD_Client/data/sounds/arcane.ogg +0-0 View file
Binary file not shown.
A RD_Client/data/sounds/arcane_2.ogg +0-0 View file
Binary file not shown.
A RD_Client/data/sounds/arcane_3.ogg +0-0 View file
Binary file not shown.
Top