SOLID_BSP fix (I hope)

This commit is contained in:
Joseph Carter 2000-05-20 05:35:20 +00:00
parent b2a8652d33
commit f52c47388d
3 changed files with 9 additions and 5 deletions

View file

@ -3,8 +3,7 @@
Definitions for portable (?) unsigned int
Copyright (C) 1999,2000 contributors of the QuakeForge project
Please see the file "AUTHORS" for a list of contributors
Copyright (C) 2000 Jeff Teunissen <d2deek@pmail.net>
Author: Jeff Teunissen <d2deek@pmail.net>
Date: 01 Jan 2000

View file

@ -472,6 +472,7 @@ qboolean SV_Push (edict_t *pusher, vec3_t move)
int num_moved;
edict_t *moved_edict[MAX_EDICTS];
vec3_t moved_from[MAX_EDICTS];
float solid_save; // for Lord Havoc's SOLID_BSP fix --KB
for (i=0 ; i<3 ; i++)
{
@ -498,9 +499,12 @@ qboolean SV_Push (edict_t *pusher, vec3_t move)
|| check->v.movetype == MOVETYPE_NOCLIP)
continue;
// Don't assume SOLID_BSP ! --KB
solid_save = pusher->v.solid;
pusher->v.solid = SOLID_NOT;
block = SV_TestEntityPosition (check);
pusher->v.solid = SOLID_BSP;
// pusher->v.solid = SOLID_BSP;
pusher->v.solid = solid_save;
if (block)
continue;

View file

@ -146,14 +146,15 @@ hull_t *SV_HullForEntity (edict_t *ent, vec3_t mins, vec3_t maxs, vec3_t offset)
// decide which clipping hull to use, based on the size
if (ent->v.solid == SOLID_BSP)
{ // explicit hulls in the BSP model
{
// explicit hulls in the BSP model
if (ent->v.movetype != MOVETYPE_PUSH)
SV_Error ("SOLID_BSP without MOVETYPE_PUSH");
model = sv.models[ (int)ent->v.modelindex ];
if (!model || model->type != mod_brush)
SV_Error ("MOVETYPE_PUSH with a non bsp model");
SV_Error ("SOLID_BSP with a non bsp model");
VectorSubtract (maxs, mins, size);
if (size[0] < 3)