diff --git a/Source/Core/Properties/AssemblyInfo.cs b/Source/Core/Properties/AssemblyInfo.cs index f7cefd30..38cb2a31 100755 --- a/Source/Core/Properties/AssemblyInfo.cs +++ b/Source/Core/Properties/AssemblyInfo.cs @@ -30,6 +30,6 @@ using CodeImp.DoomBuilder; // Build Number // Revision // -[assembly: AssemblyVersion("2.3.0.2933")] +[assembly: AssemblyVersion("2.3.0.2934")] [assembly: NeutralResourcesLanguageAttribute("en")] -[assembly: AssemblyHash("717e48e")] +[assembly: AssemblyHash("4611aa1")] diff --git a/Source/Core/ZDoom/DecorateStateStructure.cs b/Source/Core/ZDoom/DecorateStateStructure.cs index d2184abd..6d790177 100755 --- a/Source/Core/ZDoom/DecorateStateStructure.cs +++ b/Source/Core/ZDoom/DecorateStateStructure.cs @@ -30,9 +30,23 @@ namespace CodeImp.DoomBuilder.ZDoom if ((token == "loop") || (token == "stop") || (token == "wait") || (token == "fail")) { // Ignore flow control + // [ZZ] sometimes "fail" is a sprite name... (Skulltag, Zandronum) + // probably the same can happen to other single-word flow control keywords. + + // check if next token is newline. + long cpos = parser.DataStream.Position; + parser.SkipWhitespace(false); + string newline = parser.ReadToken(); + parser.DataStream.Position = cpos; + if (newline == "\n") // this is actually a loop/stop/wait/fail directive and not a sprite name or something + { + lasttoken = token; + continue; + } } + // Goto? - else if (token == "goto") + if (token == "goto") { gotostate = new DecorateStateGoto(actor, parser); if (parser.HasError) return; diff --git a/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs b/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs index 6aa643ca..5f1bf791 100755 --- a/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs +++ b/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Resources; // Build Number // Revision // -[assembly: AssemblyVersion("2.3.0.2933")] +[assembly: AssemblyVersion("2.3.0.2934")] [assembly: NeutralResourcesLanguageAttribute("en")]