Adding patch notes from git, UI, and loading files from the main install path properly.
Also fixed: * flying wands not pathing properly. * Lantern particles offset * Wand fire offset * Water spray from flask
This commit is contained in:
1 parent
06bb712a46
commit
9bb9797271
19 files changed
+1569
-134
No files matched your search
+8
-2
@@ -27,7 +27,7 @@ layout(std430, set = 0, binding = 39) readonly buffer EntPrev { vec4 prevpos[];
|
||||
|
||||
layout(std430, set = 0, binding = 26) readonly buffer Overlay { uint overlay[]; }; // CPU-drawn HUD (ARGB, output pixels)
|
||||
struct FLight { vec4 a; vec4 b; }; // x, y, radius (world cells), strength / rgb
|
||||
layout(std430, set = 0, binding = 23) readonly buffer Ctrl { ivec4 inp; ivec4 inp2; ivec4 inp3; vec4 outp; vec4 outp2; vec4 view; vec4 hand0; ivec4 hand1; vec4 hand2; } ctrl;
|
||||
layout(std430, set = 0, binding = 23) readonly buffer Ctrl { ivec4 inp; ivec4 inp2; ivec4 inp3; vec4 outp; vec4 outp2; vec4 view; vec4 hand0; ivec4 hand1; vec4 hand2; ivec4 burnN; ivec4 burnEv[256]; ivec4 reactN; ivec4 reactEv[64]; ivec4 extra; } ctrl; // extra.yzw: the Options' brightness, contrast, gamma x 10000 (main.cpp)
|
||||
layout(std430, set = 0, binding = 38) readonly buffer FxLights { uint lcount; uint lpad[3]; FLight lights[512]; }; // lights of projectiles and explosions this frame
|
||||
|
||||
layout(std430, set = 0, binding = 44) readonly buffer Sky { uint sky[]; }; // src/world/sky.h
|
||||
@@ -423,7 +423,7 @@ void main() {
|
||||
if (p.x >= pc.ow || p.y >= pc.oh) return;
|
||||
ivec2 cp = clamp(ivec2(floor(vec2(p + so + vis) / scl)), ivec2(0), ivec2(pc.gw - 1, pc.gh - 1));
|
||||
vec3 rgb = unpackUnorm4x8(wcell[cp.y * pc.gw + cp.x].x).rgb; // (only the colour: the light is read for the player's pixels)
|
||||
if (ctrl.inp2.y != 0 && (ents[0].st.w & 8) == 0) {
|
||||
if (ctrl.inp2.y != 0 && (ents[0].st.w & 8) == 0) { // (dead: the ragdoll of 00abb7d0 is the body, main.cpp onCreatureDeath(0, true))
|
||||
vec2 P = ents[0].a.xy;
|
||||
const vec2 pv = prevpos[0].xy;
|
||||
if (distance(pv, P) < 10.0) P = mix(pv, P, ctrl.view.z);
|
||||
@@ -445,6 +445,12 @@ void main() {
|
||||
rgb += vec3(0.7, 0.1, 0.0) * a * lh;
|
||||
}
|
||||
}
|
||||
if (ctrl.extra.y != 0 || ctrl.extra.z != 0 || ctrl.extra.w != 0) { // the Options' sliders (post_final.frag: + brightness, (c - 0.5) x contrast + 0.5, pow(c, gamma), clamped; 1 + the slider for the last two)
|
||||
rgb += float(ctrl.extra.y) * 1e-4;
|
||||
rgb = (rgb - 0.5) * (1.0 + float(ctrl.extra.z) * 1e-4) + 0.5;
|
||||
rgb = pow(max(rgb, vec3(0.0)), vec3(1.0 + float(ctrl.extra.w) * 1e-4));
|
||||
rgb = clamp(rgb, 0.0, 1.0);
|
||||
}
|
||||
{ // the picture without the HUD for the replay recorder (the game's GIFs have no UI): clip_half.comp / main.cpp copy it
|
||||
const uvec3 q0 = uvec3(clamp(rgb, 0.0, 1.0) * 255.0 + 0.5);
|
||||
clipraw[p.y * pc.ow + p.x] = 0xFF000000u | (q0.r << 16) | (q0.g << 8) | q0.b;
|
||||
|
||||
Reference in new issue
Block a user