Hmm... This works:
sync on
sync rate 60
autocam off
hide mouse
make camera 1
set camera view 1,0,0,640,480
load bsp "","map1.bsp"
set bsp camera 1
set bsp camera collision 1,1,1,0
do
dx#=dx#+mousemovey()/4
cy#=wrapvalue(cy#+mousemovex()/4)
if dx#>90 then dx#=90
if dx#<-90 then dx#=-90
cx#=wrapvalue(dx#)
rotate camera 1,cx#,cy#,cz#
oldx#=x#
oldz#=z#
move camera 1,(upkey()*0.2)-(downkey()*0.2)
x#=camera position x(1)
y#=camera position y(1)
z#=camera position z(1)
if bsp collision hit(1)=1
dec x#,bsp collision x(1)
dec y#,bsp collision y(1)
dec z#,bsp collision z(1)
endif
sync
loop
I made a map in Worldcraft 3.3 (map1) then compiled it and put the bsp produced in the same folder as the code. I used the default half-life textures, and copied the halflife.wad file into the same folder as the code as well. This code is just a random chunk of code I made while testing the bsp capabilities of DBPro, I didn't spend much time on it. It has basic mouselook and free moving camera, but the collision isn't quite right. Anyway, that works, the bsp map will load and you can move around it. One thing - make sure you put lights in the level, otherwise you'll just see black. That had me stumped for an hour or two when I started using Worldcraft.
Hope that helped.