View Issue Details

IDProjectCategoryView StatusLast Update
0004900DarkRadiantGeneralpublic23.01.2021 08:35
ReporterEoceneMiacid Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Platformx64 LinuxOSKubuntu 
Product Version2.5.0 
Target Version2.11.0Fixed in Version2.11.0 
Summary0004900: Material parser doesn't recognise materials with no whitespace between name and block
DescriptionDarkRadiant appears to have some parsing inconsistencies.

For example, defining a material like this:

myMaterial{
   ...
}

causes DarkRadiant to not read the material, unless there is a space or newline inbetween the definition name and the {.

So this is fine:

myMaterial {
}

or

myMaterial
{
}

Soundshaders have the same problem - however, definition files don't.
It took me a while to find the cause because Doom 3 parses this correctly.

This is a parsing bug in DarkRadiant. Could you please address it?
Steps To Reproducedefine a material like this:

myMaterial{
   ...
}

and then check the console in DarkRadiant
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

DarkRadiant: master 2e114d6a

2021-01-23 03:59:43

greebo

Details Diff
0004900: Add material file with a couple of test materials. The third one is lacking whitespace between name and opening brace. Affected Issues
0004900
mod - test/Materials.cpp Diff File
add - test/resources/tdm/materials/parsing_test.mtr Diff File

DarkRadiant: master c3b560fa

2021-01-23 04:20:31

greebo

Details Diff
0004900: Start constructing some block tokeniser tests Affected Issues
0004900
add - test/Parsing.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 38294b31

2021-01-23 04:38:32

greebo

Details Diff
0004900: Expand DefBlockTokeniser unit tests Affected Issues
0004900
mod - test/Parsing.cpp Diff File

DarkRadiant: master 7298941f

2021-01-23 05:43:47

greebo

Details Diff
0004900: Add some test sound shaders to confirm the parser can deal with various cases Affected Issues
0004900
mod - test/Parsing.cpp Diff File
add - test/resources/tdm/sound/parsing_test.sndshd Diff File

DarkRadiant: master b82e4394

2021-01-23 08:35:12

greebo

Details Diff
0004900: Def blocks not always have whitespace between the block name and the opening brace, this has been causing parser failures Affected Issues
0004900
mod - libs/parser/DefBlockTokeniser.h Diff File

Issue History

Date Modified Username Field Change
24.11.2018 08:12 EoceneMiacid New Issue
01.02.2019 11:28 orbweaver Status new => acknowledged
23.01.2021 05:23 greebo Status acknowledged => confirmed
23.01.2021 05:30 greebo Summary material and soundshader parsing problems => Material parser doesn't recognise materials with no whitespace between name and block
23.01.2021 05:30 greebo Assigned To => greebo
23.01.2021 05:30 greebo Status confirmed => assigned
23.01.2021 05:44 greebo Changeset attached => DarkRadiant master c3b560fa
23.01.2021 05:44 greebo Changeset attached => DarkRadiant master 38294b31
23.01.2021 05:44 greebo Changeset attached => DarkRadiant master 2e114d6a
23.01.2021 05:44 greebo Changeset attached => DarkRadiant master 7298941f
23.01.2021 05:44 greebo Target Version => 2.11.0
23.01.2021 05:44 greebo Status assigned => resolved
23.01.2021 05:44 greebo Resolution open => fixed
23.01.2021 05:44 greebo Fixed in Version => 2.11.0
23.01.2021 08:35 greebo Changeset attached => DarkRadiant master b82e4394