Fixed, ACC compiler: in some cases ACC errors were ignored.

Fixed, Script Editor, cosmetic: we should not show error line number when we don't have one.
ZDoom acc.exe: several error types now output more detailed info.
Fixed, Visual mode: UDMF thing alpha property was applied only when UDMF renderstyle property was also set (should also be applied when renderstyle property is set in the DECORATE actor definition).
Game configurations, ZDoom family: Pistol and Gold Wand actors now use internal sprites.
Updated ZDoom ACC and ZDoom_ACS.cfg (PickActor flags).
This commit is contained in:
MaxED 2015-11-24 10:46:49 +00:00
parent 098e9724d9
commit 295c9bc35c
9 changed files with 26 additions and 7 deletions

Binary file not shown.

View file

@ -984,6 +984,11 @@
#define FHF_NORANDOMPUFFZ 1 #define FHF_NORANDOMPUFFZ 1
#define FHF_NOIMPACTDECAL 2 #define FHF_NOIMPACTDECAL 2
// PickActor flags
#define PICKAF_FORCETID 1
#define PICKAF_RETURNTID 2
// Actor flags // Actor flags
#define MF_SPECIAL 0x00000001 #define MF_SPECIAL 0x00000001
#define MF_SOLID 0x00000002 #define MF_SOLID 0x00000002

View file

@ -1486,7 +1486,7 @@ doom
5010 5010
{ {
title = "Pistol"; title = "Pistol";
sprite = "PISTA0"; sprite = "internal:ZDoomPistol";
class = "Pistol"; class = "Pistol";
} }
} }
@ -1653,7 +1653,7 @@ heretic
9042 9042
{ {
title = "Gold Wand"; title = "Gold Wand";
sprite = "GWANA0"; sprite = "internal:ZDoomGoldWand";
class = "GoldWand"; class = "GoldWand";
} }
} }

View file

@ -841,6 +841,8 @@ constants
NOT_TOP; NOT_TOP;
OFF; OFF;
ON; ON;
PICKAF_FORCETID;
PICKAF_RETURNTID;
PLAYERINFO_AIMDIST; PLAYERINFO_AIMDIST;
PLAYERINFO_COLOR; PLAYERINFO_COLOR;
PLAYERINFO_DESIREDFOV; PLAYERINFO_DESIREDFOV;

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

View file

@ -151,6 +151,7 @@ namespace CodeImp.DoomBuilder.Compilers
Regex errlinematcher = new Regex(":[0-9]+: ", RegexOptions.Compiled | RegexOptions.CultureInvariant); Regex errlinematcher = new Regex(":[0-9]+: ", RegexOptions.Compiled | RegexOptions.CultureInvariant);
// Read all lines // Read all lines
bool erroradded = false; //mxd
string[] errlines = File.ReadAllLines(errfile); string[] errlines = File.ReadAllLines(errfile);
while(line < errlines.Length) while(line < errlines.Length)
{ {
@ -181,11 +182,18 @@ namespace CodeImp.DoomBuilder.Compilers
// Report the error // Report the error
ReportError(err); ReportError(err);
erroradded = true; //mxd
} }
// Next line // Next line
line++; line++;
} }
//mxd. Some ACC errors are not properly formatted. If that's the case, threat the whole acs.err as an error...
if(!erroradded && errlines.Length > 0)
{
ReportError(new CompilerError(string.Join(Environment.NewLine, errlines)));
}
} }
catch(Exception e) catch(Exception e)
{ {

View file

@ -383,10 +383,9 @@ namespace CodeImp.DoomBuilder.Controls
ListViewItem ei = new ListViewItem(listindex.ToString()); ListViewItem ei = new ListViewItem(listindex.ToString());
ei.ImageIndex = 0; ei.ImageIndex = 0;
ei.SubItems.Add(e.description); ei.SubItems.Add(e.description);
if(e.filename.StartsWith("?")) string filename = (e.filename.StartsWith("?") ? e.filename.Replace("?", "") : Path.GetFileName(e.filename)); //mxd
ei.SubItems.Add(e.filename.Replace("?", "") + " (line " + (e.linenumber + 1) + ")"); string linenumber = (e.linenumber != CompilerError.NO_LINE_NUMBER ? " (line " + (e.linenumber + 1) + ")" : String.Empty); //mxd
else ei.SubItems.Add(filename + linenumber);
ei.SubItems.Add(Path.GetFileName(e.filename) + " (line " + (e.linenumber + 1) + ")");
ei.Tag = e; ei.Tag = e;
errorlist.Items.Add(ei); errorlist.Items.Add(ei);
listindex++; listindex++;

View file

@ -122,7 +122,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
else if(Thing.Fields.ContainsKey("renderstyle")) else if(Thing.Fields.ContainsKey("renderstyle"))
{ {
renderstyle = Thing.Fields.GetValue("renderstyle", 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((renderstyle == "add" || renderstyle == "translucent" || renderstyle == "subtract" || renderstyle == "stencil")
&& Thing.Fields.ContainsKey("alpha"))
{
alpha = (byte)(General.Clamp(Thing.Fields.GetValue("alpha", info.Alpha), 0f, 1f) * 255);
} }
} }
else if(General.Map.HEXEN) else if(General.Map.HEXEN)