Fixed: HiRes images should not be used on surfaces with long texture names.

Changed, Draw Lines and Draw Curve modes: "Auto-finish drawing" option now works regardless of "Continuous drawing" option (previously it worked only when the latter was enabled).
Changed: position and size of the "Errors and Warnings" window is now stored while the editor is running.
Internal: rewritten parts of long texture names support code. It now involves much less special handling.
Updated ZDoom_DECORATE.cfg (A_QuakeEx, A_CheckBlock).
Updated ZDoom_ACS.cfg (QuakeEx).
Updated ZDoom ACC (QuakeEx).
This commit is contained in:
MaxED 2016-03-23 14:52:33 +00:00 committed by spherallic
parent 474ca9b895
commit 4b85392a18
6 changed files with 29 additions and 11 deletions

View file

@ -358,7 +358,7 @@ special
-88:SetActorRoll(2),
-89:ChangeActorRoll(2,3),
-90:GetActorRoll(1),
-91:QuakeEx(8,12),
-91:QuakeEx(8,14),
-92:Warp(6,11),
-93:GetMaxInventory(2),
-94:SetSectorDamage(2,5),

View file

@ -309,7 +309,7 @@ keywords
PolyWait = "void PolyWait(int polyid)";
Print = "void Print(type:expression)\nPrint will print something to the screen.\nPrint will only display for the activator of the script\nFor printing to all players, use PrintBold.";
PrintBold = "void PrintBold(type:expression)\nThis is exactly the same as Print, except all players will see the printed text\non the screen instead of just the activator of the script.";
QuakeEx = "bool QuakeEx(int tid, int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad, str sound[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0]]]])";
QuakeEx = "bool QuakeEx(int tid, int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad, str sound[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0[, int falloff = 0[, int highpoint = 0]]]]]])";
Radius_Quake = "Radius_Quake(intensity, duration, damrad, tremrad, tid)";
Radius_Quake2 = "void Radius_Quake2(int tid, int intensity, int duration, int damrad, int tremrad, str sound)";
Random = "int Random(int min, int max)";

View file

@ -162,7 +162,7 @@ keywords
A_PlayerSkinCheck = "state A_PlayerSkinCheck(str state)";
A_SkullPop = "A_SkullPop[(str type = \"BloodySkull\")]";
A_Quake = "A_Quake(int intensity, int duration, int damageradius, int tremorradius[, str sound = \"world/quake\"])";
A_QuakeEx = "A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad[, str sound = \"world/quake\"[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0]]]]])";
A_QuakeEx = "A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad[, str sound = \"world/quake\"[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0[, int falloff = 0[, int highpoint = 0]]]]]]])";
//Spawn functions
A_TossGib = "A_TossGib";
A_SpawnDebris = "A_SpawnDebris(str type[, bool translation = false[, float horizontal_vel = 1.0[, float vertical_vel = 1.0]]])";
@ -170,7 +170,7 @@ keywords
A_SpawnItemEx = "bool A_SpawnItemEx(str type[, float xoffset = 0.0[, float yoffset = 0.0[, float zoffset = 0.0[, float xvelocity = 0.0[, float yvelocity = 0.0[, float zvelocity = 0.0[, float angle = 0.0[, int flags = 0[, int skipchance = 0[, int tid = 0]]]]]]]]]])";
A_SpawnParticle = "A_SpawnParticle(color color[, int flags = 0[, int lifetime = 35[, int size = 1[, float angle = 0.0[, float xoff = 0.0[, float yoff = 0.0[, float zoff = 0.0[, float velx = 0.0[, float vely = 0.0[, float velz = 0.0[, float accelx = 0.0[, float accely = 0.0[, float accelz = 0.0[, float startalpha = 1.0[, float fadestep = -1.0]]]]]]]]]]]]]]])";
//State jumps
A_CheckBlock = "state A_CheckBlock(str block[, int flags = 0[, int pointer = AAPTR_TARGET]])";
A_CheckBlock = "state A_CheckBlock(str block[, int flags = 0[, int pointer = AAPTR_TARGET[, float xoff = 0.0[, float yoff = 0.0[, float zoff = 0.0[, float angle = 0.0]]]]]])";
A_CheckCeiling = "state A_CheckCeiling(str state)\nstate A_CheckCeiling(int offset)";
A_CheckFloor = "state A_CheckFloor(str state)\nstate A_CheckFloor(int offset)";
A_CheckFlag = "state A_CheckFlag(str flagname, state label[, int check_pointer = AAPTR_DEFAULT])";
@ -1081,6 +1081,8 @@ constants
CBF_SETONPTR;
CBF_DROPOFF;
CBF_NOACTORS;
CBF_ABSOLUTEPOS;
CBF_ABSOLUTEANGLE;
CHF_DONTMOVE;
CHF_FASTCHASE;
CHF_NIGHTMAREFAST;

View file

@ -31,6 +31,10 @@ namespace CodeImp.DoomBuilder.Windows
{
#region ================== Variables
//mxd. Window setup stuff
private static Point location = Point.Empty;
private static Size size = Size.Empty;
#endregion
#region ================== Constructor / Disposer
@ -39,6 +43,15 @@ namespace CodeImp.DoomBuilder.Windows
public ErrorsForm()
{
InitializeComponent();
//mxd. Apply window settings
if(location != Point.Empty)
{
this.StartPosition = FormStartPosition.Manual;
this.Location = location;
}
if(size != Size.Empty) this.Size = size;
FillList();
checkerrors.Start();
checkshow.Checked = General.Settings.ShowErrorsWindow;
@ -86,16 +99,17 @@ namespace CodeImp.DoomBuilder.Windows
{
checkerrors.Stop();
General.Settings.ShowErrorsWindow = checkshow.Checked;
//mxd. Save window settings
location = this.Location;
size = this.Size;
}
// Checking for more errors
private void checkerrors_Tick(object sender, EventArgs e)
{
// If errors have been added, update the list
if(General.ErrorLogger.HasChanged)
{
FillList();
}
if(General.ErrorLogger.HasChanged) FillList();
}
// This clears all errors

View file

@ -4022,17 +4022,19 @@ namespace CodeImp.DoomBuilder.Windows
{
// Go for all setors
bool updated = false;
long imgshorthash = General.Map.Data.GetShortLongFlatName(img.LongName); //mxd. Part of long name support shennanigans
foreach(Sector s in General.Map.Map.Sectors)
{
// Update floor buffer if needed
if(s.LongFloorTexture == img.LongName)
if(s.LongFloorTexture == img.LongName || s.LongFloorTexture == imgshorthash)
{
s.UpdateFloorSurface();
updated = true;
}
// Update ceiling buffer if needed
if(s.LongCeilTexture == img.LongName)
if(s.LongCeilTexture == img.LongName || s.LongCeilTexture == imgshorthash)
{
s.UpdateCeilingSurface();
updated = true;

View file

@ -454,7 +454,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
}
//mxd. Points and existing geometry form a closed shape?
if(continuousdrawing && autoclosedrawing)
if(autoclosedrawing)
{
// Determive center point
float minx = float.MaxValue;