I'll test it with 4.01 when I get home (about 30 mins). But in 2.03 if you walked up to the edge of an object and stood still (still colliding with the edge of the object), it would report the collision on the first loop that you hit it in but none after until you uncollided and recollided with the object. Either way I don't just have to have these for 4.02 if we don't have time. They can be added later with mesh to mesh support. It would be nice though.
[edit] See this example:
rem Setup defs
#Constant TYPE_NGC_ELLIP=1
#Constant TYPE_NGC_MESH=2
#Constant ELLIP_2_ELLIP=1
#Constant ELLIP_2_POLY=2
#Constant RESP_STICK=1
#Constant RESP_SLIDE=2
#Constant RESP_SLIDE_NO_SLOPES=6
#Constant RESP_SLIDE_NO_GRAV=10
#Constant RESP_SLIDE_NO_ACCEL=18
#Constant RESP_NONE=32
#Constant DYN_NO_RESP=1
#Constant DYN_RESP=2
#Constant DYN_RESP_LOCK=4
#Constant DYN_RESP_LOCK_NOTURN=12
#Constant NCULL_CLOCK 0
#Constant NCULL_COUNTER_CLOCK 1
#Constant NCULL_NONE 2
rem Do scene setup
Set Window On : SET DISPLAY MODE 800, 600, 16 : sync on : sync rate 60 : Autocam off : hide mouse : backdrop on
global camera=0
global sphere1=100, sphere2=101
Set Camera Range 4, 15000
color backdrop camera, rgb(0,0,255)
position camera camera, 0, 10, 0
rotate camera camera, 90, 0, 0
make object sphere sphere1, 2
make object sphere sphere2, 2
position object sphere1, 0, 0, 4
sphereMode1 = 1 : sphereMode2 = 0
rem Handle collision setup
#Constant TYPE_SPHERE = 10
#Constant TYPE_SPHERE2 = 11
StartCollisionPRO(000000000,000000000,000000000)
SetCollisionsPro( TYPE_SPHERE, TYPE_SPHERE2, ELLIP_2_ELLIP, RESP_NONE, DYN_NO_RESP )
CollisionTypePRO( sphere1, TYPE_SPHERE )
CollisionTypePRO( sphere2, TYPE_SPHERE2 )
do
rem Handle updating the sphere
xpos# = object position x(sphere1)
ypos# = object position y(sphere1)
zpos# = object position z(sphere1)
if upkey() = 1
position object sphere1, xpos#, ypos#, zpos#+0.3
endif
if downkey() = 1
position object sphere1, xpos#, ypos#, zpos#-0.3
endif
rem And here's the best line! This commands runs the entire collision system
rem and updates all of your objects for you. Easy enough?
RunCollisionPRO()
set cursor 0,0
print "Sphere collisions : ", CountCollisionsPRO( sphere1 )
rem Draw the screen
sync
loop
Move the spheres with the up and down arrowkeys. You will notice that the number of collisions is only reported as the objects hit for the first moment. But leave the 2 spheres colliding and it reports 0 collisions. I need a way to register this collision.