mirror of
https://git.code.sf.net/p/quake/quakeforge-old
synced 2025-04-25 09:00:55 +00:00
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:
parent
8cef444f8d
commit
8a65ae8ca9
3 changed files with 26 additions and 19 deletions
|
@ -531,6 +531,8 @@ extern cvar_t *fs_basepath;
|
||||||
void
|
void
|
||||||
Host_Init (quakeparms_t *parms)
|
Host_Init (quakeparms_t *parms)
|
||||||
{
|
{
|
||||||
|
QFile *globalcfg;
|
||||||
|
|
||||||
COM_InitArgv (parms->argc, parms->argv);
|
COM_InitArgv (parms->argc, parms->argv);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -556,6 +558,11 @@ Host_Init (quakeparms_t *parms)
|
||||||
SCR_InitCvars ();
|
SCR_InitCvars ();
|
||||||
VID_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
|
// FIXME: stuff only +set here, shouldn't stuff all commands --KB
|
||||||
Cmd_StuffCmds_f ();
|
Cmd_StuffCmds_f ();
|
||||||
Cbuf_Execute_Sets ();
|
Cbuf_Execute_Sets ();
|
||||||
|
@ -581,6 +588,12 @@ Host_Init (quakeparms_t *parms)
|
||||||
Con_Init ();
|
Con_Init ();
|
||||||
M_Init ();
|
M_Init ();
|
||||||
|
|
||||||
|
if (globalcfg != NULL)
|
||||||
|
{
|
||||||
|
Cbuf_InsertText ((char *)globalcfg);
|
||||||
|
Qclose (globalcfg);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef UQUAKE
|
#ifdef UQUAKE
|
||||||
PR_Init ();
|
PR_Init ();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -395,25 +395,21 @@ void SV_LinkEdict (edict_t *ent, qboolean touch_triggers)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// set the abs box
|
// 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
|
#ifdef QUAKE2
|
||||||
if (ent->v.solid == SOLID_BSP &&
|
if (ent->v.solid == SOLID_BSP &&
|
||||||
(ent->v.angles[0] || ent->v.angles[1] || ent->v.angles[2]) )
|
(ent->v.angles[0] || ent->v.angles[1] || ent->v.angles[2]) )
|
||||||
{ // expand for rotation
|
{
|
||||||
|
// expand for rotation
|
||||||
float max, v;
|
float max, v;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
max = 0;
|
max = 0;
|
||||||
for (i=0 ; i<3 ; i++)
|
for (i=0 ; i<3 ; i++)
|
||||||
{
|
{
|
||||||
v =fabs( ent->v.mins[i]);
|
v = fabs (ent->v.mins[i]);
|
||||||
if (v > max)
|
if (v > max)
|
||||||
max = v;
|
max = v;
|
||||||
v =fabs( ent->v.maxs[i]);
|
v =fabs (ent->v.maxs[i]);
|
||||||
if (v > max)
|
if (v > max)
|
||||||
max = v;
|
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.mins, ent->v.absmin);
|
||||||
VectorAdd (ent->v.origin, ent->v.maxs, ent->v.absmax);
|
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
|
// to make items easier to pick up and allow them to be grabbed off
|
||||||
|
|
|
@ -623,18 +623,16 @@ VectorCopy (ent->v.origin, oldorg);
|
||||||
PR_ExecuteProgram (ent->v.think);
|
PR_ExecuteProgram (ent->v.think);
|
||||||
if (ent->free)
|
if (ent->free)
|
||||||
return;
|
return;
|
||||||
VectorSubtract (ent->v.origin, oldorg, move);
|
VectorSubtract (ent->v.origin, oldorg, move);
|
||||||
|
|
||||||
l = Length(move);
|
l = Length(move);
|
||||||
if (l > 1.0/64)
|
if (l > 1.0/64)
|
||||||
{
|
{
|
||||||
// Con_Printf ("**** snap: %f\n", Length (l));
|
//Con_Printf ("**** snap: %f\n", Length (l));
|
||||||
VectorCopy (oldorg, ent->v.origin);
|
VectorCopy (oldorg, ent->v.origin);
|
||||||
SV_Push (ent, move);
|
SV_Push (ent, move);
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -856,6 +854,7 @@ void SV_RunEntity (edict_t *ent)
|
||||||
|
|
||||||
switch ( (int)ent->v.movetype)
|
switch ( (int)ent->v.movetype)
|
||||||
{
|
{
|
||||||
|
case MOVETYPE_WALK:
|
||||||
case MOVETYPE_PUSH:
|
case MOVETYPE_PUSH:
|
||||||
SV_Physics_Pusher (ent);
|
SV_Physics_Pusher (ent);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue