View Issue Details

IDProjectCategoryView StatusLast Update
0005269DarkRadiantGeneralpublic18.09.2020 03:54
Reporterstgatilov Assigned Togreebo  
PrioritylowSeveritytrivialReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.6.0 
Target Version2.8.1Fixed in Version2.8.1 
Summary0005269: Escaped EOLN in entity spawnarg is turned into real EOLN
DescriptionThe D3 engine can show text in some location, which is used only for debugging.
The contents of such text is written in the value of "text" spawnarg of entity of "text" class.
The problem is that D3 parser forbids putting a real EOL into spawnargs, that causes a hard parsing error.

For 2.08 I have fixed the problem by turning "\n" into EOL character in the code of the text entity.
Now I can write multiline text labels by using "\n" in the text string.

The problem is that when I open such a map in DR and then save it back, every "\n" in spawnarg value is turned into actual EOL character, making the map unparsable.
I wonder if it can be fixed easily?...
Steps To ReproduceDownload the FM attached to wiki page about "particle collision":
  https://thedarkmod.blob.core.windows.net/various/wiki_rain_testcollision/test_raincollision.zip
It is also committed to the assets SVN repo of TDM.
Open it in DR, then save it.
Now either try to dmap it or simply search for "\n" in the .map file.
TagsNo tags attached.

Activities

greebo

greebo

18.09.2020 03:54

administrator   ~0012778

Added a \n escaping function in the D3 entity key value exporter. Let's hope this doesn't have any unwanted side effects.

Related Changesets

DarkRadiant: master 28c763f9

2020-09-18 03:53:47

greebo

Details Diff
0005269: When writing a D3 entity, preserve line breaks in spawnarg values by converting them to "\n". Affected Issues
0005269
mod - radiantcore/map/format/Doom3MapWriter.cpp Diff File

Issue History

Date Modified Username Field Change
01.06.2020 17:48 stgatilov New Issue
01.06.2020 17:48 stgatilov Steps to Reproduce Updated View Revisions
01.06.2020 19:25 greebo Status new => acknowledged
17.09.2020 18:30 greebo Status acknowledged => confirmed
18.09.2020 03:53 greebo Changeset attached => DarkRadiant master 28c763f9
18.09.2020 03:54 greebo Assigned To => greebo
18.09.2020 03:54 greebo Status confirmed => assigned
18.09.2020 03:54 greebo Target Version => 2.8.1
18.09.2020 03:54 greebo Status assigned => resolved
18.09.2020 03:54 greebo Resolution open => fixed
18.09.2020 03:54 greebo Fixed in Version => 2.8.1
18.09.2020 03:54 greebo Note Added: 0012778