Fix for amb1647: brush origin retrieval was wrong

This commit is contained in:
Steve Dudenhoeffer 2008-05-07 05:17:21 +00:00
parent 55d18da46c
commit 0a38ef831f
2 changed files with 10 additions and 6 deletions

View File

@ -90,12 +90,14 @@ stock get_grenade(id)
stock get_brush_entity_origin(ent, Float:orig[3]) stock get_brush_entity_origin(ent, Float:orig[3])
{ {
new Float:Min[3], Float:Max[3]; new Float:Min[3], Float:Max[3];
entity_get_vector(ent, EV_VEC_origin, orig);
entity_get_vector(ent, EV_VEC_mins, Min); entity_get_vector(ent, EV_VEC_mins, Min);
entity_get_vector(ent, EV_VEC_maxs, Max); entity_get_vector(ent, EV_VEC_maxs, Max);
orig[0] = (Min[0] + Max[0]) * 0.5; orig[0] += (Min[0] + Max[0]) * 0.5;
orig[1] = (Min[1] + Max[1]) * 0.5; orig[1] += (Min[1] + Max[1]) * 0.5;
orig[2] = (Min[2] + Max[2]) * 0.5; orig[2] += (Min[2] + Max[2]) * 0.5;
return 1; return 1;
} }

View File

@ -302,12 +302,14 @@ stock fm_fakedamage(victim, const classname[], Float:takedmgdamage, damagetype)
// optimization idea by Orangutanz // optimization idea by Orangutanz
stock fm_get_brush_entity_origin(index, Float:origin[3]) { stock fm_get_brush_entity_origin(index, Float:origin[3]) {
new Float:mins[3], Float:maxs[3]; new Float:mins[3], Float:maxs[3];
pev(index, pev_origin, origin);
pev(index, pev_mins, mins); pev(index, pev_mins, mins);
pev(index, pev_maxs, maxs); pev(index, pev_maxs, maxs);
origin[0] = (mins[0] + maxs[0]) * 0.5; origin[0] += (mins[0] + maxs[0]) * 0.5;
origin[1] = (mins[1] + maxs[1]) * 0.5; origin[1] += (mins[1] + maxs[1]) * 0.5;
origin[2] = (mins[2] + maxs[2]) * 0.5; origin[2] += (mins[2] + maxs[2]) * 0.5;
return 1; return 1;
} }