From 0e0eca0e0f1ae4306a4a8c56645222f6ca25d0e7 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 12 Apr 2017 01:29:51 +0200 Subject: [PATCH] - replaced some dyn_casts with calls to FindActor. - fixed type checks in A_Morph. --- src/g_inventory/a_weapons.cpp | 8 ++++---- src/g_shared/a_morph.cpp | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/g_inventory/a_weapons.cpp b/src/g_inventory/a_weapons.cpp index c325a55ca..9d7f184d0 100644 --- a/src/g_inventory/a_weapons.cpp +++ b/src/g_inventory/a_weapons.cpp @@ -1269,7 +1269,7 @@ CCMD (setslot) Net_WriteByte(argv.argc()-2); for (int i = 2; i < argv.argc(); i++) { - Net_WriteWeapon(dyn_cast(PClass::FindClass(argv[i]))); + Net_WriteWeapon(PClass::FindActor(argv[i])); } } } @@ -1298,7 +1298,7 @@ CCMD (addslot) return; } - PClassActor *type= dyn_cast(PClass::FindClass(argv[2])); + PClassActor *type= PClass::FindActor(argv[2]); if (type == nullptr) { Printf("%s is not a weapon\n", argv[2]); @@ -1374,7 +1374,7 @@ CCMD (addslotdefault) return; } - type = dyn_cast(PClass::FindClass(argv[2])); + type = PClass::FindActor(argv[2]); if (type == nullptr) { Printf ("%s is not a weapon\n", argv[2]); @@ -1523,7 +1523,7 @@ void P_ReadDemoWeaponsChunk(uint8_t **demo) for (i = 1; i < count; ++i) { s = ReadStringConst(demo); - type = dyn_cast(PClass::FindClass(s)); + type = PClass::FindActor(s); // If a demo was recorded with a weapon that is no longer present, // should we report it? Weapons_ntoh[i] = type; diff --git a/src/g_shared/a_morph.cpp b/src/g_shared/a_morph.cpp index 36ffd800b..f7177165e 100644 --- a/src/g_shared/a_morph.cpp +++ b/src/g_shared/a_morph.cpp @@ -714,14 +714,14 @@ DEFINE_ACTION_FUNCTION(AActor, A_Morph) bool res = false; if (self->player) { - if (type->IsKindOf(RUNTIME_CLASS(APlayerPawn))) + if (type->IsDescendantOf(RUNTIME_CLASS(APlayerPawn))) { res = P_MorphPlayer(self->player, self->player, type, duration, flags, enter_flash, exit_flash); } } else { - if (type->IsKindOf(RUNTIME_CLASS(AMorphedMonster))) + if (type->IsDescendantOf(RUNTIME_CLASS(AMorphedMonster))) { res = P_MorphMonster(self, type, duration, flags, enter_flash, exit_flash); }