Fixed, Visual mode: fixed a crash when trying to render a Thing with translucent or additive renderstyle outside of any sector.

Fixed, Classic modes: 3d floor linedef indicators shown in Classic modes were not updated after finishing sector drawing.
Updated ZDoom ACC to git rev. f92fbb9.
Updated ZDoom_ACS.cfg.
This commit is contained in:
MaxED 2015-11-09 12:20:08 +00:00
parent ff40bdc588
commit afbcac3091
8 changed files with 323 additions and 304 deletions

View file

@ -1068,3 +1068,5 @@
#define WARPF_BOB 0x800
#define WARPF_MOVEPTR 0x1000
#define WARPF_USEPTR 0x2000
#define WARPF_COPYVELOCITY 0x4000
#define WARPF_COPYPITCH 0x8000

View file

@ -335,7 +335,7 @@ special
-89:ChangeActorRoll(2,3),
-90:GetActorRoll(1),
-91:QuakeEx(8,12),
-92:Warp(6,9),
-92:Warp(6,11),
// Zandronum's
-100:ResetMap(0),

View file

@ -1260,6 +1260,8 @@ constants
WARPF_BOB;
WARPF_MOVEPTR;
WARPF_USEPTR;
WARPF_COPYVELOCITY;
WARPF_COPYPITCH;
TRUE;
YES;
}

View file

@ -272,6 +272,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
// Update the used textures
General.Map.Data.UpdateUsedTextures();
//mxd
General.Map.Renderer2D.UpdateExtraFloorFlag();
// Map is changed
General.Map.IsChanged = true;
}

View file

@ -531,6 +531,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
// Update the used textures
General.Map.Data.UpdateUsedTextures();
//mxd
General.Map.Renderer2D.UpdateExtraFloorFlag();
// Map is changed
General.Map.IsChanged = true;
}

View file

@ -148,6 +148,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
// Update the used textures
General.Map.Data.UpdateUsedTextures();
//mxd
General.Map.Renderer2D.UpdateExtraFloorFlag();
// Map is changed
General.Map.IsChanged = true;
}

View file

@ -388,6 +388,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
// Update the used textures
General.Map.Data.UpdateUsedTextures();
//mxd
General.Map.Renderer2D.UpdateExtraFloorFlag();
// Map is changed
General.Map.IsChanged = true;
}

View file

@ -97,9 +97,16 @@ namespace CodeImp.DoomBuilder.BuilderModes
// This builds the thing geometry. Returns false when nothing was created.
public bool Setup()
{
//mxd. Apply DECORATE/UDMF alpha/renderstyle overrides
// Find the sector in which the thing resides
Thing.DetermineSector(mode.BlockMap);
//mxd. If the thing is inside a sector, apply DECORATE/UDMF alpha/renderstyle overrides
byte alpha = 255;
if(Thing.Sector != null)
{
string renderstyle = info.RenderStyle;
byte alpha = info.AlphaByte;
alpha = info.AlphaByte;
if(General.Map.UDMF)
{
if(Thing.IsFlagSet("translucent"))
@ -115,9 +122,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
else if(Thing.Fields.ContainsKey("renderstyle"))
{
renderstyle = Thing.Fields.GetValue("renderstyle", renderstyle);
if(Thing.Fields.ContainsKey("alpha"))
alpha = (byte)(General.Clamp(Thing.Fields.GetValue("alpha", info.Alpha), 0f, 1f) * 255);
if(Thing.Fields.ContainsKey("alpha")) alpha = (byte)(General.Clamp(Thing.Fields.GetValue("alpha", info.Alpha), 0f, 1f) * 255);
}
}
else if(General.Map.HEXEN)
@ -158,6 +163,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
alpha = 255;
break;
}
}
// Don't bother when alpha is unchanged
if(alpha == 255) RenderPass = RenderPass.Mask;
@ -180,9 +186,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
sizeless = false;
}
// Find the sector in which the thing resides
Thing.DetermineSector(mode.BlockMap);
if(sprite != null)
{
Plane floor = new Plane(); //mxd