If a separate file cannot be opened for some reason (due to permission, file system issues, exclusive access by other software, etc), GZDoom crashes.
There are plenty of FWadCollection::OpenLumpReader()
calls, but no FileReader::isOpen()
checks before further file operations.
This can solved in two ways.
The first one is obviously to add twenty isOpen()
conditions with appropriate actions when it returned false.
The second one is to create dummy reader that will return zero length and no data.
Both approaches have own pros and cons. Got a better idea? Let me know.