--- quake2/ref_soft/r_edge.c 2018/04/24 17:58:33 1.1 +++ quake2/ref_soft/r_edge.c 2018/04/24 18:01:53 1.1.1.2 @@ -817,8 +817,15 @@ void D_CalcGradients (msurface_t *pface) ((pface->texturemins[1] << 16) >> miplevel) + pface->texinfo->vecs[1][3]*t; + // PGM - changing flow speed for non-warping textures. if (pface->texinfo->flags & SURF_FLOWING) - sadjust += 0x10000 * (-128 * ( (r_newrefdef.time*0.25) - (int)(r_newrefdef.time*0.25) )); + { + if(pface->texinfo->flags & SURF_WARP) + sadjust += 0x10000 * (-128 * ( (r_newrefdef.time * 0.25) - (int)(r_newrefdef.time * 0.25) )); + else + sadjust += 0x10000 * (-128 * ( (r_newrefdef.time * 0.77) - (int)(r_newrefdef.time * 0.77) )); + } + // PGM // // -1 (-epsilon) so we never wander off the edge of the texture @@ -878,7 +885,17 @@ void D_TurbulentSurf (surf_t *s) } D_CalcGradients (pface); - Turbulent8 (s->spans); + +//============ +//PGM + // textures that aren't warping are just flowing. Use NonTurbulent8 instead + if(!(pface->texinfo->flags & SURF_WARP)) + NonTurbulent8 (s->spans); + else + Turbulent8 (s->spans); +//PGM +//============ + D_DrawZSpans (s->spans); if (s->insubmodel)