mirror of
https://git.code.sf.net/p/quake/newtree
synced 2024-11-22 12:11:34 +00:00
SOLID_BSP fix (I hope)
This commit is contained in:
parent
b2a8652d33
commit
f52c47388d
3 changed files with 9 additions and 5 deletions
|
@ -3,8 +3,7 @@
|
||||||
|
|
||||||
Definitions for portable (?) unsigned int
|
Definitions for portable (?) unsigned int
|
||||||
|
|
||||||
Copyright (C) 1999,2000 contributors of the QuakeForge project
|
Copyright (C) 2000 Jeff Teunissen <d2deek@pmail.net>
|
||||||
Please see the file "AUTHORS" for a list of contributors
|
|
||||||
|
|
||||||
Author: Jeff Teunissen <d2deek@pmail.net>
|
Author: Jeff Teunissen <d2deek@pmail.net>
|
||||||
Date: 01 Jan 2000
|
Date: 01 Jan 2000
|
||||||
|
|
|
@ -472,6 +472,7 @@ qboolean SV_Push (edict_t *pusher, vec3_t move)
|
||||||
int num_moved;
|
int num_moved;
|
||||||
edict_t *moved_edict[MAX_EDICTS];
|
edict_t *moved_edict[MAX_EDICTS];
|
||||||
vec3_t moved_from[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++)
|
for (i=0 ; i<3 ; i++)
|
||||||
{
|
{
|
||||||
|
@ -498,9 +499,12 @@ qboolean SV_Push (edict_t *pusher, vec3_t move)
|
||||||
|| check->v.movetype == MOVETYPE_NOCLIP)
|
|| check->v.movetype == MOVETYPE_NOCLIP)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
// Don't assume SOLID_BSP ! --KB
|
||||||
|
solid_save = pusher->v.solid;
|
||||||
pusher->v.solid = SOLID_NOT;
|
pusher->v.solid = SOLID_NOT;
|
||||||
block = SV_TestEntityPosition (check);
|
block = SV_TestEntityPosition (check);
|
||||||
pusher->v.solid = SOLID_BSP;
|
// pusher->v.solid = SOLID_BSP;
|
||||||
|
pusher->v.solid = solid_save;
|
||||||
if (block)
|
if (block)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
|
@ -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
|
// decide which clipping hull to use, based on the size
|
||||||
if (ent->v.solid == SOLID_BSP)
|
if (ent->v.solid == SOLID_BSP)
|
||||||
{ // explicit hulls in the BSP model
|
{
|
||||||
|
// explicit hulls in the BSP model
|
||||||
if (ent->v.movetype != MOVETYPE_PUSH)
|
if (ent->v.movetype != MOVETYPE_PUSH)
|
||||||
SV_Error ("SOLID_BSP without MOVETYPE_PUSH");
|
SV_Error ("SOLID_BSP without MOVETYPE_PUSH");
|
||||||
|
|
||||||
model = sv.models[ (int)ent->v.modelindex ];
|
model = sv.models[ (int)ent->v.modelindex ];
|
||||||
|
|
||||||
if (!model || model->type != mod_brush)
|
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);
|
VectorSubtract (maxs, mins, size);
|
||||||
if (size[0] < 3)
|
if (size[0] < 3)
|
||||||
|
|
Loading…
Reference in a new issue