Massive work on level, UI, sound, and player functionality, small progress on netcode. Renamed project to Net Gunner.

This commit is contained in:
2025-12-22 09:04:22 -05:00
parent 9a8f06437d
commit 3b6407d6e5
566 changed files with 42735 additions and 183 deletions

View File

@@ -0,0 +1,29 @@
shader_type canvas_item;
uniform float tracks : hint_range(1, 200, 1) = 1;
uniform float vshift = 0;
uniform float max_offset = 1;
float random (vec2 uv) {
return fract(sin(dot(uv.xy,
vec2(12.9898,78.233))) * 43758.5453123);
}
void vertex() {
}
void fragment() {
// Called for every pixel the material is visible on.
vec2 uv = floor(UV * tracks);
vec2 rv = vec2(0.0, round(UV.y * 4.0) / 4.0 * 2.0);
rv.y += TIME;
float r = random(rv);
float r2 = random(-rv);
float brightness = .5 + .5 * r * mod(uv.y, 2.0) / 2.0;
COLOR.rgb = COLOR.rgb * brightness;
}
//void light() {
// // Called for every pixel for every light affecting the CanvasItem.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://dhtpmyruoq46j

View File

@@ -1,7 +1,7 @@
shader_type canvas_item;
uniform sampler2D main_texture;
uniform float granularity;
uniform float granularity : hint_range(5, 30) = 15.0;
uniform float opacity_limit;
float random (vec2 uv) {
@@ -17,15 +17,17 @@ void vertex() {
void fragment() {
// Called for every pixel the material is visible on.
vec2 uv = UV;
uv.y = TIME * uv.y + TIME * 0.5;
uv.x = 2.0 * TIME * uv.x + TIME * 1.0;
float g = ( pow(granularity, 2));
uv = round((uv * g)) / g;
uv.y = TIME * uv.y + TIME * .05;
uv.x = 10.0 * TIME * uv.x + TIME * 1.0;
float val = random(uv);
float op = random(-uv) / val;
float alpha = 1.0;
if(op < opacity_limit){
alpha = 0.0;
}
vec4 color = vec4(val, val, val, alpha);
vec4 color = vec4(val, val, val, alpha * COLOR.a);
COLOR = color;
}

View File

@@ -0,0 +1,38 @@
shader_type canvas_item;
uniform sampler2D noise;
uniform float threshold : hint_range(0,0.5)= .5;
uniform float strength : hint_range(-0.5,0.5) = 0;
float random (vec2 uv) {
return fract(sin(dot(uv.xy,
vec2(12.9898,78.233))) * 43758.5453123);
}
void vertex() {
// Called for every vertex the material is visible on.
}
void fragment() {
// Called for every pixel the material is visible on.
vec2 uv = UV;
vec2 rv = vec2(mod(TIME, 1.0), uv.y);
vec4 val = texture(noise, rv);
uv.x += .01 * (val.x - 0.5) * 2.0;
float extrema = abs(val.x - 0.5);
//if(extrema > threshold){
//uv.x += sign(val.x - 0.5) * mix(0,strength, (extrema) / (.5 - threshold));
//}
if(extrema > threshold){
uv.x -= strength * (val.x - 0.5) * 2.0;
}
vec4 col = texture(TEXTURE, uv);
col.rgb *= COLOR.rgb;
COLOR = col; //* COLOR;
//COLOR = val;
}
//void light() {
// // Called for every pixel for every light affecting the CanvasItem.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://jip0tjt8bc1n