fun rotation math that i just cant get right

BlitzMax Modules Forums/MiniB3D/fun rotation math that i just cant get right

greetings Tommo! thank you very much for the working example :) the example is _exactly_ what im looking to do and is a real beauty to see in action finally :) i almost abandoned the idea completely :\ unfortunately when i translated it to using MiniB3D it still functions but while the rotations are limited to the angle limit, they stop just outside of the angle limit so they nodes can never look at each other. i will whip up a little cone-based example later today. there may be some intricacy in MiniB3D causing some issue. here is what i have (maybe you can spot something till then:
Local current_rot:Vector3df = node1.GetRotation(True)
Local current_pos:Vector3df = node1.GetPosition(True)
Local other_pos:Vector3df = node2.GetPosition(True)

Local ca:Float = current_rot.GetY()
Local ta:Float = ATan2(other_pos.GetZ() - current_pos.GetZ(), other_pos.GetX() - current_pos.GetX())

Local la:Float = angle_limit
Local da:Float = ta - ca
Local dif:Float = Abs(da) - la
Local da1:Float = 0
Local da2:Float = 0

If dif > 0 Then
	da1 = Cos(da + la)
	da2 = Cos(da - la)
	If da1 >= da2 Then
		current_rot._y = ta + la
	Else
		current_rot._y = ta - la
	End If
	
	current_rot._y = current_rot._y + angle_limit
EndIf

node1.SetRotation(current_rot, True)