SOC/Lua parser tweaks:

- Make Lua parser ignore unknown properties instead of throwing an error
- Add Title/Angled/NotAngled properties as valid alternatives for Name/Arrow/NoArrow
This commit is contained in:
spherallic 2024-02-10 00:11:01 +01:00
parent 622259d39b
commit 1952932cc1
2 changed files with 13 additions and 6 deletions

View File

@ -160,6 +160,7 @@ namespace CodeImp.DoomBuilder.SRB2
switch (token) switch (token)
{ {
case "$Name": case "$Name":
case "$Title":
SkipWhitespace(true); SkipWhitespace(true);
token = ReadLine(); token = ReadLine();
name = ZDTextParser.StripQuotes(token); name = ZDTextParser.StripQuotes(token);
@ -206,9 +207,11 @@ namespace CodeImp.DoomBuilder.SRB2
flagsvaluetext = ZDTextParser.StripQuotes(token); flagsvaluetext = ZDTextParser.StripQuotes(token);
break; break;
case "$Arrow": case "$Arrow":
case "$Angled":
arrow = true; arrow = true;
break; break;
case "$NoArrow": case "$NoArrow":
case "$NotAngled":
arrow = false; arrow = false;
break; break;
case "$TagThing": case "$TagThing":
@ -287,8 +290,7 @@ namespace CodeImp.DoomBuilder.SRB2
blockclosed = true; blockclosed = true;
break; break;
default: default:
ReportError("Unknown object definition parameter " + token); break;
return false;
} }
if (!blockclosed) if (!blockclosed)
{ {

View File

@ -207,6 +207,11 @@ namespace CodeImp.DoomBuilder.SRB2
if (line.StartsWith("#$Name ")) if (line.StartsWith("#$Name "))
{ {
name = ZDTextParser.StripQuotes(line.Substring(7)); name = ZDTextParser.StripQuotes(line.Substring(7));
continue;
}
if (line.StartsWith("#$Title "))
{
name = ZDTextParser.StripQuotes(line.Substring(8));
continue; continue;
} }
if (line.StartsWith("#$Category ")) if (line.StartsWith("#$Category "))
@ -236,12 +241,12 @@ namespace CodeImp.DoomBuilder.SRB2
flagsvaluetext = ZDTextParser.StripQuotes(line.Substring(17)); flagsvaluetext = ZDTextParser.StripQuotes(line.Substring(17));
continue; continue;
} }
if (line.StartsWith("#$Arrow")) if (line.StartsWith("#$Arrow") || line.StartsWith("#$Angled"))
{ {
arrow = true; arrow = true;
continue; continue;
} }
if (line.StartsWith("#$NoArrow")) if (line.StartsWith("#$NoArrow") || line.StartsWith("#$NotAngled"))
{ {
arrow = false; arrow = false;
continue; continue;