mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-26 22:11:43 +00:00
- fixed: FNodeBuilder::ExtractMini needs to check for segs that were created from minisegs.
- made polyobject node building code more update friendly for GZDoom by making R_BuildPolyBSP public. SVN r2500 (trunk)
This commit is contained in:
parent
100731e3ab
commit
79ff9ae3ae
4 changed files with 14 additions and 5 deletions
|
@ -217,7 +217,7 @@ AInventory *ABasicArmorPickup::CreateCopy (AActor *other)
|
||||||
copy->MaxFullAbsorb = MaxFullAbsorb;
|
copy->MaxFullAbsorb = MaxFullAbsorb;
|
||||||
|
|
||||||
if (!(ItemFlags & IF_IGNORESKILL))
|
if (!(ItemFlags & IF_IGNORESKILL))
|
||||||
{ // extra ammo in baby mode and nightmare mode
|
{
|
||||||
SaveAmount = FixedMul(SaveAmount, G_SkillProperty(SKILLP_ArmorFactor));
|
SaveAmount = FixedMul(SaveAmount, G_SkillProperty(SKILLP_ArmorFactor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,7 +300,7 @@ AInventory *ABasicArmorBonus::CreateCopy (AActor *other)
|
||||||
copy->MaxFullAbsorb = MaxFullAbsorb;
|
copy->MaxFullAbsorb = MaxFullAbsorb;
|
||||||
|
|
||||||
if (!(ItemFlags & IF_IGNORESKILL))
|
if (!(ItemFlags & IF_IGNORESKILL))
|
||||||
{ // extra ammo in baby mode and nightmare mode
|
{
|
||||||
SaveAmount = FixedMul(SaveAmount, G_SkillProperty(SKILLP_ArmorFactor));
|
SaveAmount = FixedMul(SaveAmount, G_SkillProperty(SKILLP_ArmorFactor));
|
||||||
}
|
}
|
||||||
return copy;
|
return copy;
|
||||||
|
|
|
@ -224,8 +224,16 @@ void FNodeBuilder::ExtractMini (FMiniBSP *bsp)
|
||||||
out->v2 = &bsp->Verts[org->v2];
|
out->v2 = &bsp->Verts[org->v2];
|
||||||
out->backsector = org->backsector;
|
out->backsector = org->backsector;
|
||||||
out->frontsector = org->frontsector;
|
out->frontsector = org->frontsector;
|
||||||
out->linedef = Level.Lines + org->linedef;
|
if (org->sidedef != int(NO_SIDE))
|
||||||
out->sidedef = Level.Sides + org->sidedef;
|
{
|
||||||
|
out->linedef = Level.Lines + org->linedef;
|
||||||
|
out->sidedef = Level.Sides + org->sidedef;
|
||||||
|
}
|
||||||
|
else // part of a miniseg
|
||||||
|
{
|
||||||
|
out->linedef = NULL;
|
||||||
|
out->sidedef = NULL;
|
||||||
|
}
|
||||||
out->PartnerSeg = NULL;
|
out->PartnerSeg = NULL;
|
||||||
out->bPolySeg = false;
|
out->bPolySeg = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1032,7 +1032,7 @@ FMiniBSP::FMiniBSP()
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
static void R_BuildPolyBSP(subsector_t *sub)
|
void R_BuildPolyBSP(subsector_t *sub)
|
||||||
{
|
{
|
||||||
assert((sub->BSP == NULL || sub->BSP->bDirty) && "BSP computed more than once");
|
assert((sub->BSP == NULL || sub->BSP->bDirty) && "BSP computed more than once");
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,7 @@ EXTERN_CVAR (Bool, r_drawflat) // [RH] Don't texture segs?
|
||||||
// BSP?
|
// BSP?
|
||||||
void R_ClearClipSegs (short left, short right);
|
void R_ClearClipSegs (short left, short right);
|
||||||
void R_ClearDrawSegs ();
|
void R_ClearDrawSegs ();
|
||||||
|
void R_BuildPolyBSP(subsector_t *sub);
|
||||||
void R_RenderBSPNode (void *node);
|
void R_RenderBSPNode (void *node);
|
||||||
|
|
||||||
// killough 4/13/98: fake floors/ceilings for deep water / fake ceilings:
|
// killough 4/13/98: fake floors/ceilings for deep water / fake ceilings:
|
||||||
|
|
Loading…
Reference in a new issue