diff options
-rw-r--r-- | src/cgame/cg_local.h | 1 | ||||
-rw-r--r-- | src/cgame/cg_main.c | 2 | ||||
-rw-r--r-- | src/cgame/cg_particles.c | 6 | ||||
-rw-r--r-- | src/ui/ui_local.h | 2 | ||||
-rw-r--r-- | src/ui/ui_main.c | 4 | ||||
-rw-r--r-- | src/ui/ui_shared.h | 2 | ||||
-rw-r--r-- | ui/ingame_options.menu | 23 |
7 files changed, 37 insertions, 3 deletions
diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h index 66aea83e..b0ce4b6d 100644 --- a/src/cgame/cg_local.h +++ b/src/cgame/cg_local.h @@ -1476,6 +1476,7 @@ extern vmCvar_t cg_wwSmoothTime; extern vmCvar_t cg_wwFollow; extern vmCvar_t cg_wwToggle; extern vmCvar_t cg_depthSortParticles; +extern vmCvar_t cg_bounceParticles; extern vmCvar_t cg_consoleLatency; extern vmCvar_t cg_lightFlare; extern vmCvar_t cg_debugParticles; diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c index 7c868b56..f5402537 100644 --- a/src/cgame/cg_main.c +++ b/src/cgame/cg_main.c @@ -209,6 +209,7 @@ vmCvar_t cg_wwSmoothTime; vmCvar_t cg_wwFollow; vmCvar_t cg_wwToggle; vmCvar_t cg_depthSortParticles; +vmCvar_t cg_bounceParticles; vmCvar_t cg_consoleLatency; vmCvar_t cg_lightFlare; vmCvar_t cg_debugParticles; @@ -325,6 +326,7 @@ static cvarTable_t cvarTable[ ] = { &cg_wwFollow, "cg_wwFollow", "1", CVAR_ARCHIVE|CVAR_USERINFO }, { &cg_wwToggle, "cg_wwToggle", "1", CVAR_ARCHIVE|CVAR_USERINFO }, { &cg_depthSortParticles, "cg_depthSortParticles", "1", CVAR_ARCHIVE }, + { &cg_bounceParticles, "cg_bounceParticles", "0", CVAR_ARCHIVE }, { &cg_consoleLatency, "cg_consoleLatency", "3000", CVAR_ARCHIVE }, { &cg_lightFlare, "cg_lightFlare", "3", CVAR_ARCHIVE }, { &cg_debugParticles, "cg_debugParticles", "0", CVAR_CHEAT }, diff --git a/src/cgame/cg_particles.c b/src/cgame/cg_particles.c index ce407549..9be34bd9 100644 --- a/src/cgame/cg_particles.c +++ b/src/cgame/cg_particles.c @@ -2101,6 +2101,12 @@ static void CG_EvaluateParticlePhysics( particle_t *p ) VectorMA( p->velocity, deltaTime, acceleration, p->velocity ); VectorMA( p->origin, deltaTime, p->velocity, newOrigin ); p->lastEvalTime = cg.time; + + if( !cg_bounceParticles.integer ) + { + VectorCopy( newOrigin, p->origin ); + return; + } CG_Trace( &trace, p->origin, mins, maxs, newOrigin, CG_AttachmentCentNum( &ps->attachment ), CONTENTS_SOLID ); diff --git a/src/ui/ui_local.h b/src/ui/ui_local.h index c2604af3..654cda4e 100644 --- a/src/ui/ui_local.h +++ b/src/ui/ui_local.h @@ -144,7 +144,7 @@ extern vmCvar_t ui_bank; #define MAX_EDIT_LINE 256 #define MAX_MENUDEPTH 8 -#define MAX_MENUITEMS 96 +#define MAX_MENUITEMS 128 #define MTYPE_NULL 0 #define MTYPE_SLIDER 1 diff --git a/src/ui/ui_main.c b/src/ui/ui_main.c index aadad4fa..a4016388 100644 --- a/src/ui/ui_main.c +++ b/src/ui/ui_main.c @@ -3769,6 +3769,7 @@ static void UI_Update(const char *name) { trap_Cvar_SetValue( "r_inGameVideo", 1 ); trap_Cvar_SetValue( "cg_shadows", 1 ); trap_Cvar_SetValue( "cg_brassTime", 2500 ); + trap_Cvar_SetValue( "cg_bounceParticles", 1 ); trap_Cvar_Set( "r_texturemode", "GL_LINEAR_MIPMAP_LINEAR" ); break; case 1: // normal @@ -3786,6 +3787,7 @@ static void UI_Update(const char *name) { trap_Cvar_SetValue( "cg_brassTime", 2500 ); trap_Cvar_Set( "r_texturemode", "GL_LINEAR_MIPMAP_LINEAR" ); trap_Cvar_SetValue( "cg_shadows", 0 ); + trap_Cvar_SetValue( "cg_bounceParticles", 0 ); break; case 2: // fast trap_Cvar_SetValue( "r_fullScreen", 1 ); @@ -3801,6 +3803,7 @@ static void UI_Update(const char *name) { trap_Cvar_SetValue( "r_fastSky", 1 ); trap_Cvar_SetValue( "r_inGameVideo", 0 ); trap_Cvar_SetValue( "cg_brassTime", 0 ); + trap_Cvar_SetValue( "cg_bounceParticles", 0 ); trap_Cvar_Set( "r_texturemode", "GL_LINEAR_MIPMAP_NEAREST" ); break; case 3: // fastest @@ -3817,6 +3820,7 @@ static void UI_Update(const char *name) { trap_Cvar_SetValue( "cg_brassTime", 0 ); trap_Cvar_SetValue( "r_fastSky", 1 ); trap_Cvar_SetValue( "r_inGameVideo", 0 ); + trap_Cvar_SetValue( "cg_bounceParticles", 0 ); trap_Cvar_Set( "r_texturemode", "GL_LINEAR_MIPMAP_NEAREST" ); break; } diff --git a/src/ui/ui_shared.h b/src/ui/ui_shared.h index 202cda52..81d629b5 100644 --- a/src/ui/ui_shared.h +++ b/src/ui/ui_shared.h @@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define MAX_MENUDEFFILE 4096 #define MAX_MENUFILE 32768 #define MAX_MENUS 256 -#define MAX_MENUITEMS 96 +#define MAX_MENUITEMS 128 #define MAX_COLOR_RANGES 10 #define MAX_OPEN_MENUS 16 diff --git a/ui/ingame_options.menu b/ui/ingame_options.menu index 7bbcbb83..324114b0 100644 --- a/ui/ingame_options.menu +++ b/ui/ingame_options.menu @@ -1792,10 +1792,31 @@ name gsoftware group optionsGrp type ITEM_TYPE_MULTI + text "Particle Physics:" + cvar "cg_bounceParticles" + cvarFloatList { "Low Quality" 0 "High Quality" 1 } + rect 96 235 192 15 + textalign ITEM_ALIGN_RIGHT + textalignx 100 + textaligny 12 + textscale .25 + forecolor 1 1 1 1 + visible 1 + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_MULTI text "Light Flares:" cvar "cg_lightFlare" cvarFloatList { "Off" 0 "No Fade" 1 "Timed Fade" 2 "Real Fade" 3 } - rect 96 235 192 15 + rect 96 250 192 15 textalign ITEM_ALIGN_RIGHT textalignx 100 textaligny 12 |