tcpconnect fixes
lots of hexen2 fixes fixed clipped decals again, still not using any... fixed zips over 2g rewrote bloom to use glsl. should be slightly more usable now. lots more hexen2 fixes git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3957 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
5651e77c30
commit
fb214142a3
91 changed files with 4584 additions and 1270 deletions
|
@ -121,13 +121,17 @@ qboolean World_movestep (world_t *world, wedict_t *ent, vec3_t move, qboolean re
|
|||
trace_t trace;
|
||||
int i;
|
||||
wedict_t *enemy = world->edicts;
|
||||
int eflags = ent->v->flags;
|
||||
|
||||
if (progstype != PROG_H2)
|
||||
eflags &= ~FLH2_NOZ|FLH2_HUNTFACE;
|
||||
|
||||
// try the move
|
||||
VectorCopy (ent->v->origin, oldorg);
|
||||
VectorAdd (ent->v->origin, move, neworg);
|
||||
|
||||
// flying monsters don't step up
|
||||
if ( (int)ent->v->flags & (FL_SWIM | FL_FLY) )
|
||||
if ( eflags & (FL_SWIM | FL_FLY) && !(eflags & (FLH2_NOZ|FLH2_HUNTFACE)))
|
||||
{
|
||||
// try one move with vertical motion, then one without
|
||||
for (i=0 ; i<2 ; i++)
|
||||
|
@ -139,6 +143,8 @@ qboolean World_movestep (world_t *world, wedict_t *ent, vec3_t move, qboolean re
|
|||
if (i == 0 && enemy->entnum)
|
||||
{
|
||||
dz = ent->v->origin[2] - ((wedict_t*)PROG_TO_EDICT(world->progs, ent->v->enemy))->v->origin[2];
|
||||
if (eflags & FLH2_HUNTFACE) /*get the ent's origin_z to match its victims face*/
|
||||
dz += ((wedict_t*)PROG_TO_EDICT(world->progs, ent->v->enemy))->v->view_ofs[2];
|
||||
if (dz > 40)
|
||||
neworg[2] -= 8;
|
||||
if (dz < 30)
|
||||
|
@ -151,7 +157,7 @@ qboolean World_movestep (world_t *world, wedict_t *ent, vec3_t move, qboolean re
|
|||
|
||||
if (trace.fraction == 1)
|
||||
{
|
||||
if ( ((int)ent->v->flags & FL_SWIM) && !(World_PointContents(world, trace.endpos) & FTECONTENTS_FLUID))
|
||||
if ( (eflags & FL_SWIM) && !(World_PointContents(world, trace.endpos) & FTECONTENTS_FLUID))
|
||||
continue; // swim monster left water
|
||||
|
||||
VectorCopy (trace.endpos, ent->v->origin);
|
||||
|
@ -301,6 +307,8 @@ qboolean World_StepDirection (world_t *world, wedict_t *ent, float yaw, float di
|
|||
move[1] = sin(yaw)*dist;
|
||||
move[2] = 0;
|
||||
|
||||
//FIXME: Hexen2: ent flags & FL_SET_TRACE
|
||||
|
||||
VectorCopy (ent->v->origin, oldorigin);
|
||||
if (World_movestep (world, ent, move, false, false, NULL, NULL))
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue