- fixed: Trying to pick up an object of the Ammo base class caused a crash.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@447 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
Christoph Oelckers 2009-09-06 21:37:38 +00:00
parent eecc5f0cfc
commit e51b5e01d1
4 changed files with 7 additions and 5 deletions

View file

@ -1,4 +1,5 @@
September 6, 2009 (Changes by Graf Zahl)
- fixed: Trying to pick up an object of the Ammo base class caused a crash.
- changed line_t's sidenum into sidedef pointers.
- changed side_t's linenum into a linedef pointer.
- Added PinkSilver's SetActorVelocity code submission (with optimizations.)

View file

@ -55,7 +55,7 @@ const PClass *AAmmo::GetParentAmmo () const
{
const PClass *type = GetClass ();
while (type->ParentClass != RUNTIME_CLASS(AAmmo))
while (type->ParentClass != RUNTIME_CLASS(AAmmo) && type->ParentClass != NULL)
{
type = type->ParentClass;
}
@ -128,7 +128,7 @@ AInventory *AAmmo::CreateCopy (AActor *other)
amount = FixedMul(amount, G_SkillProperty(SKILLP_AmmoFactor));
}
if (GetClass()->ParentClass != RUNTIME_CLASS(AAmmo))
if (GetClass()->ParentClass != RUNTIME_CLASS(AAmmo) && GetClass() != RUNTIME_CLASS(AAmmo))
{
const PClass *type = GetParentAmmo();
assert (type->ActorInfo != NULL);

View file

@ -5135,13 +5135,14 @@ AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
MissileActor->velx = FixedMul (vx, speed);
MissileActor->vely = FixedMul (vy, speed);
if (th->flags3 & (MF3_FLOORHUGGER|MF3_CEILINGHUGGER))
if (MissileActor->flags3 & (MF3_FLOORHUGGER|MF3_CEILINGHUGGER))
{
MissileActor->velz = 0;
}
else
{
MissileActor->velz = FixedMul (vz, speed);
}
if (MissileActor->flags4 & MF4_SPECTRAL)
MissileActor->health = -1;

View file

@ -3,5 +3,5 @@
// This file was automatically generated by the
// updaterevision tool. Do not edit by hand.
#define ZD_SVN_REVISION_STRING "1801"
#define ZD_SVN_REVISION_NUMBER 1801
#define ZD_SVN_REVISION_STRING "1804"
#define ZD_SVN_REVISION_NUMBER 1804