[nq] Add a cvar to control player shadows

cl_player_shadows defaults to 1 thus giving a nice (for the resolution)
shadow of the player (and disables the weapon shadow).
This commit is contained in:
Bill Currie 2023-08-05 19:58:37 +09:00
parent 6892dc1422
commit 5a6d3ec3c9
3 changed files with 20 additions and 4 deletions

View file

@ -123,6 +123,15 @@ static cvar_t cl_nolerp_cvar = {
.flags = CVAR_NONE,
.value = { .type = &cexpr_int, .value = &cl_nolerp },
};
int cl_player_shadows;
static cvar_t cl_player_shadows_cvar = {
.name = "cl_player_shadows",
.description =
"Show player shadows instead of weapon shadows",
.default_value = "1",
.flags = CVAR_ARCHIVE,
.value = { .type = &cexpr_int, .value = &cl_player_shadows },
};
static int r_ambient;
static cvar_t r_ambient_cvar = {
@ -257,6 +266,7 @@ CL_InitCvars (void)
Cvar_Register (&cl_writecfg_cvar, 0, 0);
Cvar_Register (&cl_shownet_cvar, 0, 0);
Cvar_Register (&cl_nolerp_cvar, 0, 0);
Cvar_Register (&cl_player_shadows_cvar, 0, 0);
//FIXME not hooked up (don't do anything), but should not work in
//multi-player
@ -280,9 +290,12 @@ CL_ClearState (void)
r_data->lightstyle = cl.lightstyle;
cl.viewstate.weapon_entity = Scene_CreateEntity (cl_world.scene);
renderer_t *renderer = Ent_GetComponent (cl.viewstate.weapon_entity.id, scene_renderer, cl_world.scene->reg);
renderer->depthhack = 1;
CL_Init_Entity (cl.viewstate.weapon_entity);
renderer_t *renderer = Ent_GetComponent (cl.viewstate.weapon_entity.id,
scene_renderer,
cl_world.scene->reg);
renderer->depthhack = 1;
renderer->noshadows = cl_player_shadows;
r_data->view_model = cl.viewstate.weapon_entity;
CL_TEnts_Precache ();