Thanks for that Latch, it turns out that it is X/Z.
I've added to your snippet to show the slope value and things are matching up if I do the calculations on a calculator.
sync on
sync rate 60
make object cube 1,25
position camera 0,100,-100
point camera 0,0,0
do
yrotate object 1,wrapvalue(object angle y(1)+.1)
text 0,0,"object angle y() "+str$(object angle y(1))
newx#=newxvalue(0,object angle y(1),100)
newz#=newzvalue(0,object angle y(1),100)
calc#=atanfull(newx#,newz#)
text 0,20,"calculated angle = "+str$(calc#)
slope# = newx# / newz#
text 0,40,"calculated slope = "+str$(slope#)
sync
loop
I knew what the maths should be but was unsure how DBC was dealing with it.
I'm doing some collision code where the slope, rather than the angle, pops up. I'm getting some spurious results at the moment so I'm hoping this is going to sort it out.