- added a no-parameter Spawn function for inventory items that never show on the map, because the coordinate and replacement parameters will always be 0 for them.

- started converting g_hexen.

Most importantly this removes CHolyWeave as it is just a specialized version of A_Weave with far more convoluted use of parameters.
This commit is contained in:
Christoph Oelckers 2016-03-21 14:00:05 +01:00
commit f1602882c8
33 changed files with 168 additions and 175 deletions

View file

@ -1053,7 +1053,7 @@ void APlayerPawn::GiveDeathmatchInventory()
AKey *key = (AKey *)GetDefaultByType (PClassActor::AllActorClasses[i]);
if (key->KeyNumber != 0)
{
key = static_cast<AKey *>(Spawn(static_cast<PClassActor *>(PClassActor::AllActorClasses[i]), 0,0,0, NO_REPLACE));
key = static_cast<AKey *>(Spawn(static_cast<PClassActor *>(PClassActor::AllActorClasses[i])));
if (!key->CallTryPickup (this))
{
key->Destroy ();
@ -1327,7 +1327,7 @@ void APlayerPawn::GiveDefaultInventory ()
// BasicArmor must come right after that. It should not affect any
// other protection item as well but needs to process the damage
// before the HexenArmor does.
ABasicArmor *barmor = Spawn<ABasicArmor> (0,0,0, NO_REPLACE);
ABasicArmor *barmor = Spawn<ABasicArmor> ();
barmor->BecomeItem ();
barmor->SavePercent = 0;
barmor->Amount = 0;
@ -1350,7 +1350,7 @@ void APlayerPawn::GiveDefaultInventory ()
}
else
{
item = static_cast<AInventory *>(Spawn (ti, 0,0,0, NO_REPLACE));
item = static_cast<AInventory *>(Spawn (ti));
item->ItemFlags |= IF_IGNORESKILL; // no skill multiplicators here
item->Amount = di->Amount;
if (item->IsKindOf (RUNTIME_CLASS (AWeapon)))