- 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) 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 line_t's sidenum into sidedef pointers.
- changed side_t's linenum into a linedef pointer. - changed side_t's linenum into a linedef pointer.
- Added PinkSilver's SetActorVelocity code submission (with optimizations.) - Added PinkSilver's SetActorVelocity code submission (with optimizations.)

View file

@ -55,7 +55,7 @@ const PClass *AAmmo::GetParentAmmo () const
{ {
const PClass *type = GetClass (); const PClass *type = GetClass ();
while (type->ParentClass != RUNTIME_CLASS(AAmmo)) while (type->ParentClass != RUNTIME_CLASS(AAmmo) && type->ParentClass != NULL)
{ {
type = type->ParentClass; type = type->ParentClass;
} }
@ -128,7 +128,7 @@ AInventory *AAmmo::CreateCopy (AActor *other)
amount = FixedMul(amount, G_SkillProperty(SKILLP_AmmoFactor)); 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(); const PClass *type = GetParentAmmo();
assert (type->ActorInfo != NULL); 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->velx = FixedMul (vx, speed);
MissileActor->vely = FixedMul (vy, speed); MissileActor->vely = FixedMul (vy, speed);
if (th->flags3 & (MF3_FLOORHUGGER|MF3_CEILINGHUGGER)) if (MissileActor->flags3 & (MF3_FLOORHUGGER|MF3_CEILINGHUGGER))
{ {
MissileActor->velz = 0; MissileActor->velz = 0;
} }
else else
{ {
MissileActor->velz = FixedMul (vz, speed); MissileActor->velz = FixedMul (vz, speed);
}
if (MissileActor->flags4 & MF4_SPECTRAL) if (MissileActor->flags4 & MF4_SPECTRAL)
MissileActor->health = -1; MissileActor->health = -1;

View file

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