Welcome...
I got a compile error. In fact, this happened to me a couple of times, with a couple of different error messages, at various times while trying to compile the increasingly complex Lab17: SlimeLab:
hlbsp failed with a 'File read failure' message.Of course, most of us have run into the dreaded Leak from time to time. There are numerous ways of trying to track them down, most of which are detailed elsewhere. Briefly, though, if it isn't immediately obvious where your leak is, there are a couple of methods worth trying:
This was a tricky one. Searching online revealed little information about this error, and most of the suggested solutions implied a hardware failure or corrupt compiler program. Of course, I was fairly certain it was not a hardware issue, but to be sure I saved a .map file to a completely different drive and recompiled with identical results; I also copied over a fresh copy of hlbsp.exe, but that made no difference. I found one solution which suggested changing a certain compilation parameter, but that didn't help either.
Finally I decided there must be a corrupt brush somewhere in the map, and decided to track it down using the divide-and-conquer binary search method as though I was trying to find a leak.
This was where things started getting weird. Place brush, compile, no error. Split brush, compile, no error. Split again, compile, no error. Split again, compile, no error. Either I've been lucky enough to pick the correct area of the level to home in on, or something strange is going on. To test this, I moved the brush to a completely different area of the map, compile, no error.
Huh?
Delete the brush, compile, the error comes back. (The really weird thing with the 'File read failure' error was that when I deleted the error-tracking brush, I didn't just get that error again, I got a Leak instead!) So place the brush again, compile, no error.
In both cases, I ended up with a brush floating in space above my level. It is not touching anything else, and it certainly cannot possibly be preventing a leak, but if I delete it, I get a leak. It makes no sense -- and I'm almost certain that the BSP program (hlbsp, in this case) is quietly discarding this phantom leak-blocking brush in the compilation process -- but my Lab17: SlimeLab map source now has two separate brushes floating in space above the rest of the map...
I have no idea. However, the map in question has some pretty horrific architecture in it that must give the BSP program nightmares (certainly it gives VIS and RAD nightmares: between them they take over 24 hours to compile the level!) I can only conclude that something in the tangled mess I've created is causing an error in hlbsp that having the extra brush somehow averts.
And so long as it works, I'm not complaining -- but if you're having problems tracking down a leak or other error in the BSP phase of the compilation, it might be worth considering this...