View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005470||DarkRadiant||Models||public||29.12.2020 11:01||20.01.2021 16:17|
|Summary||0005470: Black cube appears in dmapped mission|
|Description||Now and then (3 times in the past week), a black cube has appeared in my dmapped WIP.|
This indicates that the model for the entity the cube represents is missing.
What I've found is that the entity definition looks like this:
// entity 259
"origin" "-512 900 386"
There is no true model in the def, and there are no primitives, which appear when brushes are involved.
I've figured out how to safely remove the corrupted entity from the map file, but it would be nice if DR flagged these badly-defined entities during the editing process.
I've no idea why the corruption happens. It's been a long time since I've seen it, and since it's happened 3 times in the past week, it feels like something has become broken recently.
|Tags||No tags attached.|
|I've seen this happen as recently as a few versions ago, around 2.6/2.7. Can't say anything about whether it happens more now since I'm currently less active in actual mapping.|
Looking at this, how should DarkRadiant ideally behave when it encounters those entities? Considering the case that a func_* entity is left over without any child primitives, I'm not sure it would be appropriate for DarkRadiant to purge those empty shells automatically, since there is a slight chance the mapper might have put them there on purpose (with custom spawnargs)? Display them as boxes in the map, similar to what the game does?
On a larger scheme, these entities could be detected by some sort of validation process that is run automatically against the map when DR is idle? It could scan for those empty entities, missing links or missing textures and place a notification icon in the status bar? Or is this too sophisticated?
Displaying "empty" entities as "Shader not found" boxes in the map would be useful, the problem currently is that they're invisible and unselectable, so the only way to find them is in the entity list or, possibly, in an error message in the TDM console. The problem of empty entities also occurs regularly when renaming or deleting custom entities, as per 0005352.
I think some way of detecting empty entities could be useful, working in the same way as the "Test for missing targets" command. This would already go a long way.
Involve dmap in this.
Dmap should be able to identify a bad entity and declare it in a manner similar to a leak: put an ERROR message on the console and stop processing. If we then go back to DR and--similar to loading a POINTFILE--ask that the bad entity be displayed center screen by a primitive black brush that (I assume) makes it selectable.
The player could then hopefully recognize what the entity is supposed to be, either delete it, or find the good version of the entity in a saved snapshot or previous copy of the map.
|29.12.2020 11:01||grayman||New Issue|
|29.12.2020 12:21||Dragofer||Note Added: 0013307|
|16.01.2021 05:52||greebo||Status||new => feedback|
|16.01.2021 05:52||greebo||Note Added: 0013457|
|16.01.2021 09:00||Dragofer||Note Added: 0013458|
|16.01.2021 09:00||Dragofer||Relationship added||related to 0005352|
|16.01.2021 09:01||Dragofer||Note Edited: 0013458||View Revisions|
|20.01.2021 16:15||grayman||Note Added: 0013489|
|20.01.2021 16:15||grayman||Status||feedback => new|
|20.01.2021 16:17||grayman||Note Edited: 0013489||View Revisions|