I use The BSP COLLISION commands. If you put a 1 instead of a 0 at the end of the SET BSP OBJECT COLLISION
ie
SET BSP OBJECT COLLISION 20,20,.80,0
replace 0 with 1
SET BSP OBJECT COLLISION 20,20,.80,1
1 wll simply reset the collision to the last position.
I actually have a bullet collision method for BSP's where I attached a collision index to the object. Use the PROCESS BSP COLLISION command to instantly detect collision rather than wait for the screen refresh. Use the BSP COLLISION HIT command to confirm a collision. If a collision is detected the bullet is returned to its last point before moving. Then I turn the collision index off and go on to the next bullet. Works a treat. At least until a BSP LINE OF SIGHT command is developed.