mirror of
https://git.do.srb2.org/STJr/ZoneBuilder.git
synced 2025-02-07 08:21:10 +00:00
The name of custom Things can now be specified with the $Name parameter.
This commit is contained in:
parent
1be3ecb922
commit
c3e08eb1ef
2 changed files with 18 additions and 6 deletions
|
@ -86,6 +86,7 @@ namespace CodeImp.DoomBuilder.SRB2
|
|||
{
|
||||
if (!token.StartsWith("mobjinfo[") || !token.EndsWith("]")) continue;
|
||||
string objname = token.Substring(9);
|
||||
string name = objname;
|
||||
string sprite = DataManager.INTERNAL_PREFIX + "unknownthing";
|
||||
string[] states = new string[8];
|
||||
int mapThingNum = -1;
|
||||
|
@ -118,6 +119,11 @@ namespace CodeImp.DoomBuilder.SRB2
|
|||
if (finished) break;
|
||||
switch (token)
|
||||
{
|
||||
case "$Name":
|
||||
SkipWhitespace(true);
|
||||
token = ReadToken();
|
||||
name = token;
|
||||
break;
|
||||
case "$Sprite":
|
||||
SkipWhitespace(true);
|
||||
token = ReadToken();
|
||||
|
@ -226,7 +232,7 @@ namespace CodeImp.DoomBuilder.SRB2
|
|||
|
||||
if (mapThingNum > 0)
|
||||
{
|
||||
SRB2Object o = new SRB2Object(objname, sprite, states, mapThingNum, radius, height);
|
||||
SRB2Object o = new SRB2Object(name, sprite, states, mapThingNum, radius, height);
|
||||
if (objects.ContainsKey(objname))
|
||||
objects[objname] = o;
|
||||
else
|
||||
|
|
|
@ -135,9 +135,10 @@ namespace CodeImp.DoomBuilder.SRB2
|
|||
return true;
|
||||
}*/
|
||||
|
||||
private bool ParseObject(string name)
|
||||
private bool ParseObject(string objname)
|
||||
{
|
||||
if (name == null) return false;
|
||||
if (objname == null) return false;
|
||||
string name = objname;
|
||||
string sprite = DataManager.INTERNAL_PREFIX + "unknownthing";
|
||||
string[] states = new string[8];
|
||||
int mapThingNum = -1;
|
||||
|
@ -160,6 +161,11 @@ namespace CodeImp.DoomBuilder.SRB2
|
|||
}
|
||||
ReportError("The sprite \"" + spritename + "\" assigned by the \"$sprite\" property does not exist");
|
||||
}
|
||||
if (line.StartsWith("#$Name "))
|
||||
{
|
||||
name = line.Substring(7);
|
||||
continue;
|
||||
}
|
||||
if (line.StartsWith("#")) continue;
|
||||
line = RemoveComments(line);
|
||||
string[] tokens = line.Split(new char[] { '=' });
|
||||
|
@ -225,10 +231,10 @@ namespace CodeImp.DoomBuilder.SRB2
|
|||
if (mapThingNum > 0)
|
||||
{
|
||||
SRB2Object o = new SRB2Object(name, sprite, states, mapThingNum, radius, height);
|
||||
if (objects.ContainsKey(name))
|
||||
objects[name] = o;
|
||||
if (objects.ContainsKey(objname))
|
||||
objects[objname] = o;
|
||||
else
|
||||
objects.Add(name, o);
|
||||
objects.Add(objname, o);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue