diff --git a/common/gl_rmain.c b/common/gl_rmain.c index 4fc597f..aac72c6 100644 --- a/common/gl_rmain.c +++ b/common/gl_rmain.c @@ -101,6 +101,7 @@ cvar_t r_netgraph = {"r_netgraph","0"}; cvar_t r_fog = {"r_fog", "0"}; cvar_t r_volfog = {"r_volfog", "0"}; cvar_t r_waterwarp = {"r_waterwarp", "1"}; +cvar_t r_waterripple = {"r_waterripple", "0"}; cvar_t gl_finish = {"gl_finish","0"}; cvar_t gl_clear = {"gl_clear","0"}; diff --git a/common/gl_rmisc.c b/common/gl_rmisc.c index a7b7a62..241f0ff 100644 --- a/common/gl_rmisc.c +++ b/common/gl_rmisc.c @@ -197,6 +197,7 @@ void R_Init (void) Cvar_RegisterVariable (&r_fog); Cvar_RegisterVariable (&r_waterwarp); Cvar_RegisterVariable (&r_volfog); + Cvar_RegisterVariable (&r_waterripple); Cvar_RegisterVariable (&gl_clear); Cvar_RegisterVariable (&gl_texsort); diff --git a/common/gl_warp.c b/common/gl_warp.c index b3c65cd..f2a1166 100644 --- a/common/gl_warp.c +++ b/common/gl_warp.c @@ -198,6 +198,7 @@ EmitWaterPolys ( msurface_t *fa ) { float *v; int i; float s, t, os, ot; + vec3_t nv; for (p=fa->polys ; p ; p=p->next) { glBegin (GL_POLYGON); @@ -212,7 +213,18 @@ EmitWaterPolys ( msurface_t *fa ) { t *= (1.0/64); glTexCoord2f (s, t); - glVertex3fv (v); + + nv[0] = v[0]; //+ 8*sin(v[1]*0.05+realtime)*sin(v[2]*0.05+realtime); + nv[1] = v[1]; //+ 8*sin(v[0]*0.05+realtime)*sin(v[2]*0.05+realtime); + + if(r_waterripple.value) + { + nv[2] = v[2] + 8*sin(v[0]*0.05+realtime)*sin(v[2]*0.05+realtime); + } else { + nv[2] = v[2]; + } + + glVertex3fv (nv); } glEnd (); } diff --git a/common/glquake.h b/common/glquake.h index 1716783..317e639 100644 --- a/common/glquake.h +++ b/common/glquake.h @@ -217,6 +217,7 @@ extern cvar_t r_netgraph; extern cvar_t r_fog; extern cvar_t r_waterwarp; extern cvar_t r_volfog; +extern cvar_t r_waterripple; extern cvar_t gl_clear; extern cvar_t gl_cull;