made max_clients more dynamic on the server to attempt to reduce bss usage. hopefully this will help the webgl port without resulting in extra crashes.

tweaked shadowmaps. now seems faster than stencil shadows. cubemap orientation should now match other engines.
tweaked terrain. rtlights work. added pvs tests for embedded terrain. sections are now saved in chunks instead, which should mean windows doesn't have a panic attack at 16 million files in a single directory. hurrah.
first pass at realigning menu options to cope with variable-width fonts. still need to do pure-text items.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4514 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2013-10-29 17:38:22 +00:00
parent 38305b4f06
commit fb86222fc7
94 changed files with 4766 additions and 2413 deletions

View file

@ -71,28 +71,6 @@ qboolean Cam_DrawViewModel(playerview_t *pv)
}
}
// returns true if we should draw this player, we don't if we are chase camming
qboolean Cam_DrawEntity(playerview_t *pv, int entitykey)
{
// if (!entitykey)
return true;
// if (playernum == cl.playernum[pnum])
// return false;
if (cl.spectator)
{
if (pv->cam_auto && pv->cam_locked && (cl_chasecam.value||scr_chatmode==2) &&
pv->cam_spec_track+1 == entitykey && r_secondaryview != 2)
return false;
}
else
{
if (selfcam == 1 && !r_refdef.externalview)
if (entitykey == pv->viewentity)
return false;
}
return true;
}
int Cam_TrackNum(playerview_t *pv)
{
if (!pv->cam_auto)
@ -136,7 +114,7 @@ void Cam_Lock(playerview_t *pv, int playernum)
Sbar_Changed();
for (i = 0; i < MAX_CLIENTS; i++)
for (i = 0; i < cl.allocated_client_slots; i++)
CL_NewTranslation(i);
}
@ -152,7 +130,7 @@ trace_t Cam_DoTrace(vec3_t vec1, vec3_t vec2)
#endif
VectorCopy (vec1, pmove.origin);
return PM_PlayerTrace(pmove.origin, vec2);
return PM_PlayerTrace(pmove.origin, vec2, MASK_PLAYERSOLID);
}
extern vec3_t player_mins;
@ -327,7 +305,7 @@ static void Cam_CheckHighTarget(playerview_t *pv)
playerview_t *spv;
j = -1;
for (i = 0, max = -9999; i < MAX_CLIENTS; i++)
for (i = 0, max = -9999; i < cl.allocated_client_slots; i++)
{
s = &cl.players[i];
if (s->name[0] && !s->spectator && s->frags > max)
@ -536,7 +514,7 @@ void Cam_TrackCrosshairedPlayer(playerview_t *pv)
player = frame->playerstate + pv->playernum;
VectorCopy(player->origin, selforg);
for (i = 0; i < MAX_CLIENTS; i++)
for (i = 0; i < cl.allocated_client_slots; i++)
{
player = frame->playerstate + i;
VectorSubtract(player->origin, selforg, dir);