#dontinclude
; include file




***************************************************************************************************************************************************************************************************
* main_distance(x1,y1,x2,y2)
***************************************************************************************************************************************************************************************************
function	main_distance	main_distance_x1,main_distance_y1,main_distance_x2,main_distance_y2
rem	; main_distance(x1.w , y1.w , x2.w , y2.w )
rem	; Returns result to d7.W register
rem	; uses D6,D7

def	main_distance_x1	word
def	main_distance_y1	word
def	main_distance_x2	word
def	main_distance_y2	word

def	main_distance_dx1	word
def	main_distance_dy1	word

main_distance

; lets figure out which is greater
	move.w	main_distance_x1,d7
	cmp.w	main_distance_x2,d7
	bhs	main_distance_bigx1
;x2-x1
	move.w	main_distance_x2,d7
	sub.w	main_distance_x1,d7
	move.w	d7,main_distance_dx1
	bra	main_distance_nexty
main_distance_bigx1
	sub.w	main_distance_x2,d7
	move.w	d7,main_distance_dx1
main_distance_nexty
; lets figure out which is greater
	move.w	main_distance_y1,d7
	cmp.w	main_distance_y2,d7
	bhs	main_distance_bigy1
;y2-y1
	move.w	main_distance_y2,d7
	sub.w	main_distance_y1,d7
	move.w	d7,main_distance_dy1
	bra	main_distance_nextz
main_distance_bigy1
	sub.w	main_distance_y2,d7
	move.w	d7,main_distance_dy1
main_distance_nextz
; talk longest and add 1/4 of other

	move.w	main_distance_dx1,d6
	cmp.w	d6,d7
	blo	main_distance_dister1

	lsr.w	#2,d6
	add.w	d6,d7
	rts

main_distance_dister1

	lsr.w	#2,d7
	add.w	d6,d7
	rts



endfunction



