If we treat MOVETYPE_WALK as MOVETYPE_PUSH the catapult in df42 seems to

behave itself a little more often.  I can find no explanation why and it
seems like it should possibly do nothing, but it SEEMS to help.

Thanks for the suggestion Tim.
This commit is contained in:
Joseph Carter 2000-04-20 02:55:02 +00:00
parent 8cef444f8d
commit 8a65ae8ca9
3 changed files with 26 additions and 19 deletions

View file

@ -531,6 +531,8 @@ extern cvar_t *fs_basepath;
void
Host_Init (quakeparms_t *parms)
{
QFile *globalcfg;
COM_InitArgv (parms->argc, parms->argv);
#if 0
@ -556,6 +558,11 @@ Host_Init (quakeparms_t *parms)
SCR_InitCvars ();
VID_InitCvars ();
if ((globalcfg = Qopen ("/etc/quakeforge.conf", "r")) != NULL)
{
Cbuf_InsertText ((char *)globalcfg);
}
// FIXME: stuff only +set here, shouldn't stuff all commands --KB
Cmd_StuffCmds_f ();
Cbuf_Execute_Sets ();
@ -581,6 +588,12 @@ Host_Init (quakeparms_t *parms)
Con_Init ();
M_Init ();
if (globalcfg != NULL)
{
Cbuf_InsertText ((char *)globalcfg);
Qclose (globalcfg);
}
#ifdef UQUAKE
PR_Init ();
#endif

View file

@ -395,25 +395,21 @@ void SV_LinkEdict (edict_t *ent, qboolean touch_triggers)
return;
// set the abs box
#ifdef QUAKEWORLD
VectorAdd (ent->v.origin, ent->v.mins, ent->v.absmin);
VectorAdd (ent->v.origin, ent->v.maxs, ent->v.absmax);
#else
#ifdef QUAKE2
if (ent->v.solid == SOLID_BSP &&
(ent->v.angles[0] || ent->v.angles[1] || ent->v.angles[2]) )
{ // expand for rotation
{
// expand for rotation
float max, v;
int i;
max = 0;
for (i=0 ; i<3 ; i++)
{
v =fabs( ent->v.mins[i]);
v = fabs (ent->v.mins[i]);
if (v > max)
max = v;
v =fabs( ent->v.maxs[i]);
v =fabs (ent->v.maxs[i]);
if (v > max)
max = v;
}
@ -429,7 +425,6 @@ void SV_LinkEdict (edict_t *ent, qboolean touch_triggers)
VectorAdd (ent->v.origin, ent->v.mins, ent->v.absmin);
VectorAdd (ent->v.origin, ent->v.maxs, ent->v.absmax);
}
#endif
//
// to make items easier to pick up and allow them to be grabbed off

View file

@ -623,18 +623,16 @@ VectorCopy (ent->v.origin, oldorg);
PR_ExecuteProgram (ent->v.think);
if (ent->free)
return;
VectorSubtract (ent->v.origin, oldorg, move);
l = Length(move);
if (l > 1.0/64)
{
// Con_Printf ("**** snap: %f\n", Length (l));
VectorCopy (oldorg, ent->v.origin);
SV_Push (ent, move);
}
VectorSubtract (ent->v.origin, oldorg, move);
l = Length(move);
if (l > 1.0/64)
{
//Con_Printf ("**** snap: %f\n", Length (l));
VectorCopy (oldorg, ent->v.origin);
SV_Push (ent, move);
}
}
}
@ -856,6 +854,7 @@ void SV_RunEntity (edict_t *ent)
switch ( (int)ent->v.movetype)
{
case MOVETYPE_WALK:
case MOVETYPE_PUSH:
SV_Physics_Pusher (ent);
break;