From b4363080c7ef4b68cb85b56832d8e23d6cd50f5c Mon Sep 17 00:00:00 2001 From: Yamagi Burmeister Date: Thu, 8 Dec 2011 11:02:36 +0000 Subject: [PATCH] Added a CHANGELOG --- CHANGELOG | 26 ++++++++++++++++++++++++ src/g_func.c | 57 ++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 75 insertions(+), 8 deletions(-) create mode 100644 CHANGELOG diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..0705eaa --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,26 @@ +Ground Zero 1.03 to 1.04: +- Fix a crash when a proxy mine is attached to a flying enemy +- Fix a crash in coop when multible rockets are in flight + (by caedes) +- Reformat the console output + +Ground Zero 1.03RC3 to 1.03: +- Just version number change + +Ground Zero 1.03RC2 to 1.03RC3: +- Saner CFLAGS +- Do not show the gun symbol when fov is bigger than 91 and + cl_gun is set to 2 + +Ground Zero 1.03RC to 1.03RC2: +- Slightly better performance (~10 FPS) + +Ground Zero 1.02 to 1.03RC: +- Fix a rare crash with the Proxy Mine Launcher (reported by + E. Müller) +- Tesla Coils explode when touching lava or slime (reported + by ogrish_freak [at] gmail [dot] com) + +Ground Zero 1.01 to 1.02: +- Added License +- Added Readme diff --git a/src/g_func.c b/src/g_func.c index 1127637..4a76321 100644 --- a/src/g_func.c +++ b/src/g_func.c @@ -436,8 +436,16 @@ void plat_blocked (edict_t *self, edict_t *other) // give it a chance to go away on it's own terms (like gibs) T_Damage (other, self, self, vec3_origin, other->s.origin, vec3_origin, 100000, 1, 0, MOD_CRUSH); // if it's still there, nuke it - if (other && other->inuse) // PGM - BecomeExplosion1 (other); + if (other) + { + /* Hack for entity without it's origin near the model */ + vec3_t save; + VectorCopy(other->s.origin,save); + VectorMA (other->absmin, 0.5, other->size, other->s.origin); + + BecomeExplosion1(other); + } + return; } @@ -1724,8 +1732,16 @@ void door_blocked (edict_t *self, edict_t *other) // give it a chance to go away on it's own terms (like gibs) T_Damage (other, self, self, vec3_origin, other->s.origin, vec3_origin, 100000, 1, 0, MOD_CRUSH); // if it's still there, nuke it - if (other && other->inuse) - BecomeExplosion1 (other); + if (other) + { + /* Hack for entitiy without their origin near the model */ + vec3_t save; + VectorCopy(other->s.origin,save); + VectorMA (other->absmin, 0.5, other->size, other->s.origin); + + BecomeExplosion1(other); + } + return; } @@ -2169,8 +2185,16 @@ void train_blocked (edict_t *self, edict_t *other) // give it a chance to go away on it's own terms (like gibs) T_Damage (other, self, self, vec3_origin, other->s.origin, vec3_origin, 100000, 1, 0, MOD_CRUSH); // if it's still there, nuke it - if (other && other->inuse) - BecomeExplosion1 (other); + if (other) + { + /* Hack for entity without an origin near the model */ + vec3_t save; + VectorCopy(other->s.origin,save); + VectorMA (other->absmin, 0.5, other->size, other->s.origin); + + BecomeExplosion1(other); + } + return; } @@ -2695,8 +2719,16 @@ void door_secret_blocked (edict_t *self, edict_t *other) // give it a chance to go away on it's own terms (like gibs) T_Damage (other, self, self, vec3_origin, other->s.origin, vec3_origin, 100000, 1, 0, MOD_CRUSH); // if it's still there, nuke it - if (other && other->inuse) - BecomeExplosion1 (other); + if (other) + { + /* Hack for entities without their origin near the model */ + vec3_t save; + VectorCopy(other->s.origin,save); + VectorMA (other->absmin, 0.5, other->size, other->s.origin); + + BecomeExplosion1(other); + } + return; } @@ -2787,6 +2819,15 @@ Kills everything inside when fired, irrespective of protection. void use_killbox (edict_t *self, edict_t *other, edict_t *activator) { KillBox (self); + + /* Hack to make sure that really everything is killed */ + self->count--; + + if (!self->count) + { + self->think = G_FreeEdict; + self->nextthink = level.time + 1; + } } void SP_func_killbox (edict_t *ent)