Some maps, specifically ones made post-HL2, will rely entirely on the PhysDisp lump for displacement data. This lump has not been reverse-engineered by anyone to date, and relies entirely on the unknown PhysDisp format. My initial findings pointed towards the virtual mesh output format in VCollide->CollideWrite, but that is still also entirely unknown to the greater SE community.
Quick solution
Add a function to check if any loaded map is able to be parsed. In our downstream app, Gelly, we still have paths to use BSPParser which should work independently of a map using PhysDisp or not.
Context
Some maps, specifically ones made post-HL2, will rely entirely on the PhysDisp lump for displacement data. This lump has not been reverse-engineered by anyone to date, and relies entirely on the unknown PhysDisp format. My initial findings pointed towards the virtual mesh output format in VCollide->CollideWrite, but that is still also entirely unknown to the greater SE community.
Quick solution
Add a function to check if any loaded map is able to be parsed. In our downstream app, Gelly, we still have paths to use BSPParser which should work independently of a map using PhysDisp or not.