Quote: "Valve Hammer Editor 3.4 (free) is a decent bsp compiler "
Just to clarify, Valve Hammer Editor is not the compiler. It comes with some compilers that turn it's native .map format into .bsp levels, but many people use a third party compiler from someone named "Zoner".
I just mention that because it is possible to use something like TrueSpace to create .map files directly, and then use the free and unrestricted Zoner tools to compile them into the .bsp format without ever using the Valve Hammer editor.
The .map file format is also a text based format with publicly available documentation, so if you wanted to roll your own converter that created .map files, it wouldn't be terribly difficult... there is a bunch of source code for creating .maps available around the net.
If you do decide to play with .bsp files, be sure to check out the BSP entities DLL. It allows you to retreive the tags embedded in a BSP file that tell you things like where the lights and other points of interest are. You can use this mechanism to automatically find key locations in your level from inside your code. You can easily embed such entities into the .bsp file in the Valve Hammer editor.
That DLL really should be an official part of the DBP BSP support.
E Unibus Plurum