Merge pull request #326 from y2keeth/master

increase max_decals and deffered decals, shotgun now has full impacts
This commit is contained in:
Robert Beckebans 2016-06-30 22:07:29 +02:00 committed by GitHub
commit 1bfe4682af
4 changed files with 25 additions and 9 deletions

View file

@ -1015,6 +1015,7 @@ public:
GAME_FIELD_AIM_ASSIST,
GAME_FIELD_ALWAYS_SPRINT,
GAME_FIELD_FLASHLIGHT_SHADOWS,
GAME_FIELD_MUZZLE_FLASHES,
MAX_GAME_FIELDS
};

View file

@ -125,6 +125,14 @@ void idMenuScreen_Shell_GameOptions::Initialize( idMenuHandler* data )
control->SetupEvents( DEFAULT_REPEAT_TIME, options->GetChildren().Num() );
control->AddEventAction( WIDGET_EVENT_PRESS ).Set( WIDGET_ACTION_PRESS_FOCUSED, options->GetChildren().Num() );
options->AddChild( control );
control = new(TAG_SWF)idMenuWidget_ControlButton();
control->SetOptionType( OPTION_SLIDER_TOGGLE );
control->SetLabel( "muzzle flashes" );
control->SetDataSource( &systemData, idMenuDataSource_GameSettings::GAME_FIELD_MUZZLE_FLASHES );
control->SetupEvents( DEFAULT_REPEAT_TIME, options->GetChildren().Num() );
control->AddEventAction( WIDGET_EVENT_PRESS ).Set( WIDGET_ACTION_PRESS_FOCUSED, options->GetChildren().Num() );
options->AddChild( control );
options->AddEventAction( WIDGET_EVENT_SCROLL_DOWN ).Set( new( TAG_SWF ) idWidgetActionHandler( options, WIDGET_ACTION_EVENT_SCROLL_DOWN_START_REPEATER, WIDGET_EVENT_SCROLL_DOWN ) );
options->AddEventAction( WIDGET_EVENT_SCROLL_UP ).Set( new( TAG_SWF ) idWidgetActionHandler( options, WIDGET_ACTION_EVENT_SCROLL_UP_START_REPEATER, WIDGET_EVENT_SCROLL_UP ) );
@ -294,6 +302,7 @@ extern idCVar aa_targetAimAssistEnable;
extern idCVar in_alwaysRun;
extern idCVar g_checkpoints;
extern idCVar g_weaponShadows;
extern idCVar g_muzzleFlash;
/*
========================
@ -320,6 +329,7 @@ void idMenuScreen_Shell_GameOptions::idMenuDataSource_GameSettings::LoadData()
fields[ GAME_FIELD_AIM_ASSIST ].SetBool( aa_targetAimAssistEnable.GetBool() );
fields[ GAME_FIELD_ALWAYS_SPRINT ].SetBool( in_alwaysRun.GetBool() );
fields[ GAME_FIELD_FLASHLIGHT_SHADOWS ].SetBool( g_weaponShadows.GetBool() );
fields[ GAME_FIELD_MUZZLE_FLASHES ].SetBool( g_muzzleFlash.GetBool() );
originalFields = fields;
}
@ -340,6 +350,7 @@ void idMenuScreen_Shell_GameOptions::idMenuDataSource_GameSettings::CommitData()
aa_targetAimAssistEnable.SetBool( fields[ GAME_FIELD_AIM_ASSIST ].ToBool() );
in_alwaysRun.SetBool( fields[ GAME_FIELD_ALWAYS_SPRINT ].ToBool() );
g_weaponShadows.SetBool( fields[ GAME_FIELD_FLASHLIGHT_SHADOWS ].ToBool() );
g_muzzleFlash.SetBool( fields[ GAME_FIELD_MUZZLE_FLASHES ].ToBool() );
cvarSystem->SetModifiedFlags( CVAR_ARCHIVE );
@ -406,6 +417,10 @@ bool idMenuScreen_Shell_GameOptions::idMenuDataSource_GameSettings::IsDataChange
{
return true;
}
if (fields[ GAME_FIELD_MUZZLE_FLASHES ].ToBool() != originalFields[ GAME_FIELD_MUZZLE_FLASHES ].ToBool() )
{
return true;
}
return false;
}

View file

@ -47,13 +47,13 @@ If you have questions concerning this license or the applicable additional terms
static const int NUM_DECAL_BOUNDING_PLANES = 6;
#ifdef ID_PC
static const int MAX_DEFERRED_DECALS = 8;
static const int MAX_DEFERRED_DECALS = 16;
static const int DEFFERED_DECAL_TIMEOUT = 1000; // don't create a decal if it wasn't visible within the first second
static const int MAX_DECALS = 64;
static const int MAX_DECALS = 128;
#else
static const int MAX_DEFERRED_DECALS = 4;
static const int MAX_DEFERRED_DECALS = 16;
static const int DEFFERED_DECAL_TIMEOUT = 200; // don't create a decal if it wasn't visible within the first 200 milliseconds
static const int MAX_DECALS = 32;
static const int MAX_DECALS = 128;
#endif
static const int MAX_DECAL_VERTS = 3 + NUM_DECAL_BOUNDING_PLANES + 3 + 6; // 3 triangle verts clipped NUM_DECAL_BOUNDING_PLANES + 3 times (plus 6 for safety)
static const int MAX_DECAL_INDEXES = ( MAX_DECAL_VERTS - 2 ) * 3;

View file

@ -405,10 +405,10 @@ static void R_AddSingleLight( viewLight_t* vLight )
// A more general solution would be to have an allowLightOnEntityID field.
// HACK: the armor-mounted flashlight is a private spot light, which is probably
// wrong -- you would expect to see them in multiplayer.
if( light->parms.allowLightInViewID && light->parms.pointLight && !eParms.weaponDepthHack )
{
continue;
}
// if( light->parms.allowLightInViewID && light->parms.pointLight && !eParms.weaponDepthHack )
// {
// continue;
// }
// non-shadow casting entities don't need to be added if they aren't
// directly visible