version	U12.1.00
uid	camera.u1-1786351382-0
record	graphics3d__Camera__state,12
	0,__s
	1,__m
	2,position
	3,target
	4,upVector
	5,radius
	6,moveDist
	7,hRadians
	8,vRadians
	9,halfPI
	10,line
	11,line2
record	graphics3d__Camera__methods,8
	0,init
	1,set
	2,rotate
	3,slide
	4,move
	5,move_faster
	6,move_slower
	7,initially
impl	local
global	13
	0,000005,graphics3d__Camera_init,1
	1,000005,graphics3d__Camera_set,6
	2,000005,graphics3d__Camera_rotate,3
	3,000005,graphics3d__Camera_slide,3
	4,000005,graphics3d__Camera_move,2
	5,000005,graphics3d__Camera_move_faster,1
	6,000005,graphics3d__Camera_move_slower,1
	7,000005,graphics3d__Camera_initially,1
	8,000011,graphics3d__Camera__state,12
	9,000011,graphics3d__Camera__methods,8
	10,000001,graphics3d__Camera__oprec,0
	11,000005,graphics3d__Camera,0
	12,000005,graphics3d__Camerainitialize,0

proc graphics3d__Camera_init
	local	0,001000,self
	local	1,000000,graphics3d__Vector3
	con	0,004000,0.0
	con	1,004000,1.0
	con	2,004000,2.0
	declend
	filen	camera.icn
	line	31
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	32
	colm	11
	synt	any
	field	position
	var	1
	real	0
	real	0
	real	1
	line	32
	colm	41
	synt	any
	invoke	3
	line	32
	colm	20
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	33
	colm	11
	synt	any
	field	target
	var	1
	real	0
	real	0
	real	0
	line	33
	colm	39
	synt	any
	invoke	3
	line	33
	colm	18
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	var	0
	line	34
	colm	11
	synt	any
	field	upVector
	var	1
	real	0
	real	1
	real	0
	line	34
	colm	41
	synt	any
	invoke	3
	line	34
	colm	20
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	var	0
	line	36
	colm	11
	synt	any
	field	radius
	real	1
	line	36
	colm	18
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	0
	line	37
	colm	11
	synt	any
	field	moveDist
	real	1
	line	37
	colm	20
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	0
	line	41
	colm	11
	synt	any
	field	hRadians
	real	0
	line	41
	colm	20
	synt	any
	asgn
	unmark
lab L6
	mark	L7
	pnull
	pnull
	var	0
	line	42
	colm	11
	synt	any
	field	vRadians
	real	0
	line	42
	colm	20
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	pnull
	pnull
	var	0
	line	44
	colm	11
	synt	any
	field	halfPI
	pnull
	line	44
	colm	20
	synt	any
	keywd	pi
	real	2
	line	44
	colm	23
	synt	any
	div
	line	44
	colm	18
	synt	any
	asgn
	unmark
lab L8
	pnull
	line	45
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Camera_set
	local	0,001000,self
	local	1,001000,x
	local	2,001000,y
	local	3,001000,z
	local	4,001000,h
	local	5,001000,v
	local	6,000000,graphics3d__Vector3
	con	0,004000,0.0
	con	1,004000,1.0
	con	2,002000,1,0
	declend
	line	58
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	59
	colm	11
	synt	any
	field	position
	line	59
	colm	20
	synt	any
	field	setxyz
	var	1
	var	2
	var	3
	line	59
	colm	27
	synt	any
	invoke	3
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	60
	colm	11
	synt	any
	field	target
	var	6
	real	0
	real	0
	real	0
	line	60
	colm	39
	synt	any
	invoke	3
	line	60
	colm	18
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	var	0
	line	61
	colm	11
	synt	any
	field	upVector
	var	6
	real	0
	real	1
	real	0
	line	61
	colm	41
	synt	any
	invoke	3
	line	61
	colm	20
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	var	0
	line	62
	colm	11
	synt	any
	field	hRadians
	var	4
	line	62
	colm	20
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	0
	line	63
	colm	11
	synt	any
	field	vRadians
	var	5
	line	63
	colm	20
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	pnull
	var	0
	line	65
	colm	11
	synt	any
	field	rotate
	int	2
	int	2
	line	65
	colm	18
	synt	any
	invoke	2
	unmark
lab L6
	pnull
	line	66
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Camera_rotate
	local	0,001000,self
	local	1,001000,h
	local	2,001000,v
	local	3,000000,cos
	local	4,000000,sin
	local	5,000000,abs
	local	6,000000,Eye
	declend
	line	71
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	72
	colm	11
	synt	any
	field	hRadians
	dup
	var	1
	line	72
	colm	20
	synt	any
	plus
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	73
	colm	11
	synt	any
	field	vRadians
	dup
	var	2
	line	73
	colm	20
	synt	any
	plus
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	pnull
	var	0
	line	75
	colm	11
	synt	any
	field	target
	line	75
	colm	18
	synt	any
	field	x
	pnull
	pnull
	pnull
	var	0
	line	75
	colm	26
	synt	any
	field	position
	line	75
	colm	35
	synt	any
	field	x
	pnull
	pnull
	pnull
	var	0
	line	75
	colm	42
	synt	any
	field	radius
	var	3
	pnull
	var	0
	line	75
	colm	58
	synt	any
	field	vRadians
	line	75
	colm	53
	synt	any
	invoke	1
	line	75
	colm	49
	synt	any
	mult
	var	3
	pnull
	var	0
	line	75
	colm	77
	synt	any
	field	hRadians
	line	75
	colm	72
	synt	any
	invoke	1
	line	75
	colm	68
	synt	any
	mult
	line	75
	colm	37
	synt	any
	plus
	line	75
	colm	20
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	pnull
	var	0
	line	76
	colm	11
	synt	any
	field	target
	line	76
	colm	18
	synt	any
	field	y
	pnull
	pnull
	pnull
	var	0
	line	76
	colm	26
	synt	any
	field	position
	line	76
	colm	35
	synt	any
	field	y
	pnull
	pnull
	var	0
	line	76
	colm	42
	synt	any
	field	radius
	var	4
	pnull
	var	0
	line	76
	colm	58
	synt	any
	field	vRadians
	line	76
	colm	53
	synt	any
	invoke	1
	line	76
	colm	49
	synt	any
	mult
	line	76
	colm	37
	synt	any
	plus
	line	76
	colm	20
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	pnull
	var	0
	line	77
	colm	11
	synt	any
	field	target
	line	77
	colm	18
	synt	any
	field	z
	pnull
	pnull
	pnull
	var	0
	line	77
	colm	26
	synt	any
	field	position
	line	77
	colm	35
	synt	any
	field	z
	pnull
	pnull
	pnull
	var	0
	line	77
	colm	42
	synt	any
	field	radius
	var	3
	pnull
	var	0
	line	77
	colm	58
	synt	any
	field	vRadians
	line	77
	colm	53
	synt	any
	invoke	1
	line	77
	colm	49
	synt	any
	mult
	var	4
	pnull
	var	0
	line	77
	colm	77
	synt	any
	field	hRadians
	line	77
	colm	72
	synt	any
	invoke	1
	line	77
	colm	68
	synt	any
	mult
	line	77
	colm	37
	synt	any
	plus
	line	77
	colm	20
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	pnull
	var	0
	line	79
	colm	11
	synt	any
	field	upVector
	line	79
	colm	20
	synt	any
	field	x
	pnull
	pnull
	pnull
	var	0
	line	79
	colm	28
	synt	any
	field	position
	line	79
	colm	37
	synt	any
	field	x
	pnull
	pnull
	var	0
	line	79
	colm	44
	synt	any
	field	target
	line	79
	colm	51
	synt	any
	field	x
	line	79
	colm	39
	synt	any
	minus
	line	79
	colm	22
	synt	any
	asgn
	unmark
lab L6
	mark	L7
	pnull
	pnull
	pnull
	var	0
	line	80
	colm	11
	synt	any
	field	upVector
	line	80
	colm	20
	synt	any
	field	y
	var	5
	pnull
	pnull
	pnull
	var	0
	line	80
	colm	32
	synt	any
	field	position
	line	80
	colm	41
	synt	any
	field	y
	pnull
	pnull
	var	0
	line	80
	colm	48
	synt	any
	field	radius
	var	4
	pnull
	pnull
	var	0
	line	80
	colm	64
	synt	any
	field	vRadians
	pnull
	var	0
	line	80
	colm	78
	synt	any
	field	halfPI
	line	80
	colm	73
	synt	any
	plus
	line	80
	colm	59
	synt	any
	invoke	1
	line	80
	colm	55
	synt	any
	mult
	line	80
	colm	43
	synt	any
	plus
	line	80
	colm	27
	synt	any
	invoke	1
	line	80
	colm	22
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	pnull
	pnull
	pnull
	var	0
	line	81
	colm	11
	synt	any
	field	upVector
	line	81
	colm	20
	synt	any
	field	z
	pnull
	pnull
	pnull
	var	0
	line	81
	colm	28
	synt	any
	field	position
	line	81
	colm	37
	synt	any
	field	z
	pnull
	pnull
	var	0
	line	81
	colm	44
	synt	any
	field	target
	line	81
	colm	51
	synt	any
	field	z
	line	81
	colm	39
	synt	any
	minus
	line	81
	colm	22
	synt	any
	asgn
	unmark
lab L8
	mark	L9
	var	6
	pnull
	pnull
	var	0
	line	91
	colm	15
	synt	any
	field	position
	line	91
	colm	24
	synt	any
	field	x
	pnull
	pnull
	var	0
	line	91
	colm	31
	synt	any
	field	position
	line	91
	colm	40
	synt	any
	field	y
	pnull
	pnull
	var	0
	line	91
	colm	47
	synt	any
	field	position
	line	91
	colm	56
	synt	any
	field	z
	pnull
	pnull
	var	0
	line	92
	colm	15
	synt	any
	field	target
	line	92
	colm	22
	synt	any
	field	x
	pnull
	pnull
	var	0
	line	92
	colm	29
	synt	any
	field	target
	line	92
	colm	36
	synt	any
	field	y
	pnull
	pnull
	var	0
	line	92
	colm	43
	synt	any
	field	target
	line	92
	colm	50
	synt	any
	field	z
	pnull
	pnull
	var	0
	line	93
	colm	15
	synt	any
	field	upVector
	line	93
	colm	24
	synt	any
	field	x
	pnull
	pnull
	var	0
	line	93
	colm	31
	synt	any
	field	upVector
	line	93
	colm	40
	synt	any
	field	y
	pnull
	pnull
	var	0
	line	93
	colm	47
	synt	any
	field	upVector
	line	93
	colm	56
	synt	any
	field	z
	line	91
	colm	10
	synt	any
	invoke	9
	unmark
lab L9
	pnull
	line	94
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Camera_slide
	local	0,001000,self
	local	1,001000,h
	local	2,001000,v
	local	3,000000,cos
	local	4,000000,sin
	con	0,002000,1,0
	declend
	line	100
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	pnull
	var	0
	line	101
	colm	11
	synt	any
	field	position
	line	101
	colm	20
	synt	any
	field	y
	dup
	pnull
	var	2
	pnull
	var	0
	line	101
	colm	31
	synt	any
	field	moveDist
	line	101
	colm	26
	synt	any
	mult
	line	101
	colm	22
	synt	any
	plus
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	pnull
	var	0
	line	102
	colm	11
	synt	any
	field	position
	line	102
	colm	20
	synt	any
	field	x
	dup
	pnull
	pnull
	var	1
	pnull
	var	0
	line	102
	colm	31
	synt	any
	field	moveDist
	line	102
	colm	26
	synt	any
	mult
	var	3
	pnull
	pnull
	var	0
	line	102
	colm	49
	synt	any
	field	hRadians
	pnull
	var	0
	line	102
	colm	63
	synt	any
	field	halfPI
	line	102
	colm	58
	synt	any
	plus
	line	102
	colm	44
	synt	any
	invoke	1
	line	102
	colm	40
	synt	any
	mult
	line	102
	colm	22
	synt	any
	plus
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	pnull
	var	0
	line	103
	colm	11
	synt	any
	field	position
	line	103
	colm	20
	synt	any
	field	z
	dup
	pnull
	pnull
	var	1
	pnull
	var	0
	line	103
	colm	31
	synt	any
	field	moveDist
	line	103
	colm	26
	synt	any
	mult
	var	4
	pnull
	pnull
	var	0
	line	103
	colm	49
	synt	any
	field	hRadians
	pnull
	var	0
	line	103
	colm	63
	synt	any
	field	halfPI
	line	103
	colm	58
	synt	any
	plus
	line	103
	colm	44
	synt	any
	invoke	1
	line	103
	colm	40
	synt	any
	mult
	line	103
	colm	22
	synt	any
	plus
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	0
	line	104
	colm	11
	synt	any
	field	rotate
	int	0
	int	0
	line	104
	colm	18
	synt	any
	invoke	2
	unmark
lab L4
	pnull
	line	105
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Camera_move
	local	0,001000,self
	local	1,001000,d
	local	2,000000,sin
	local	3,000000,cos
	con	0,004000,1.0
	con	1,002000,1,0
	declend
	line	112
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	1
	line	113
	colm	7
	synt	any
	null
	real	0
	line	113
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	pnull
	var	0
	line	114
	colm	11
	synt	any
	field	position
	line	114
	colm	20
	synt	any
	field	y
	dup
	pnull
	pnull
	var	1
	pnull
	var	0
	line	114
	colm	31
	synt	any
	field	moveDist
	line	114
	colm	26
	synt	any
	mult
	var	2
	pnull
	var	0
	line	114
	colm	49
	synt	any
	field	vRadians
	line	114
	colm	44
	synt	any
	invoke	1
	line	114
	colm	40
	synt	any
	mult
	line	114
	colm	22
	synt	any
	plus
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	pnull
	var	0
	line	115
	colm	11
	synt	any
	field	position
	line	115
	colm	20
	synt	any
	field	x
	dup
	pnull
	pnull
	pnull
	var	1
	pnull
	var	0
	line	115
	colm	31
	synt	any
	field	moveDist
	line	115
	colm	26
	synt	any
	mult
	var	3
	pnull
	var	0
	line	115
	colm	49
	synt	any
	field	vRadians
	line	115
	colm	44
	synt	any
	invoke	1
	line	115
	colm	40
	synt	any
	mult
	var	3
	pnull
	var	0
	line	115
	colm	68
	synt	any
	field	hRadians
	line	115
	colm	63
	synt	any
	invoke	1
	line	115
	colm	59
	synt	any
	mult
	line	115
	colm	22
	synt	any
	plus
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	pnull
	var	0
	line	116
	colm	11
	synt	any
	field	position
	line	116
	colm	20
	synt	any
	field	z
	dup
	pnull
	pnull
	pnull
	var	1
	pnull
	var	0
	line	116
	colm	31
	synt	any
	field	moveDist
	line	116
	colm	26
	synt	any
	mult
	var	3
	pnull
	var	0
	line	116
	colm	49
	synt	any
	field	vRadians
	line	116
	colm	44
	synt	any
	invoke	1
	line	116
	colm	40
	synt	any
	mult
	var	2
	pnull
	var	0
	line	116
	colm	68
	synt	any
	field	hRadians
	line	116
	colm	63
	synt	any
	invoke	1
	line	116
	colm	59
	synt	any
	mult
	line	116
	colm	22
	synt	any
	plus
	asgn
	unmark
lab L4
	mark	L5
	pnull
	var	0
	line	117
	colm	11
	synt	any
	field	rotate
	int	1
	int	1
	line	117
	colm	18
	synt	any
	invoke	2
	unmark
lab L5
	pnull
	line	118
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Camera_move_faster
	local	0,001000,self
	con	0,002000,1,1
	declend
	line	121
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	pnull
	var	0
	line	122
	colm	18
	synt	any
	field	moveDist
	dup
	int	0
	line	122
	colm	27
	synt	any
	plus
	asgn
	line	122
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	123
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Camera_move_slower
	local	0,001000,self
	con	0,004000,1.0
	declend
	line	125
	colm	11
	synt	any
	mark	L1
	line	126
	colm	7
	synt	if
	mark0
	pnull
	pnull
	var	0
	line	126
	colm	14
	synt	any
	field	moveDist
	real	0
	line	126
	colm	23
	synt	any
	numgt
	unmark
	pnull
	pnull
	var	0
	line	127
	colm	14
	synt	any
	field	moveDist
	dup
	real	0
	line	127
	colm	23
	synt	any
	minus
	asgn
	line	126
	colm	7
	synt	endif
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	var	0
	line	129
	colm	17
	synt	any
	field	moveDist
	line	129
	colm	6
	synt	any
	pret
lab L3
	synt	any
	pfail
	unmark
lab L2
	pnull
	line	130
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Camera_initially
	local	0,001000,self
	declend
	line	133
	colm	11
	synt	any
	mark	L1
	pnull
	var	0
	line	134
	colm	11
	synt	any
	field	init
	line	134
	colm	16
	synt	any
	invoke	0
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	line	135
	colm	7
	synt	any
	pret
lab L3
	synt	any
	pfail
	unmark
lab L2
	pnull
	line	136
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Camera
	local	0,000020,self
	local	1,000020,clone
	local	2,000000,graphics3d__Camera__oprec
	local	3,000000,graphics3d__Camerainitialize
	local	4,000000,graphics3d__Camera__state
	declend
	filen	__faux.icn
	line	5
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	line	8
	colm	3
	synt	if
	mark0
	pnull
	var	2
	line	8
	colm	6
	synt	any
	null
	unmark
	var	3
	line	8
	colm	66
	synt	any
	invoke	0
	line	8
	colm	3
	synt	endif
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	pnull
	var	0
	var	4
	line	10
	colm	37
	synt	any
	keywd	null
	var	2
	line	10
	colm	36
	synt	any
	invoke	2
	line	10
	colm	8
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	0
	line	11
	colm	7
	synt	any
	field	__s
	var	0
	line	11
	colm	12
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	mark	L7
	pnull
	pnull
	var	0
	line	12
	colm	7
	synt	any
	field	__m
	line	12
	colm	11
	synt	any
	field	initially
	var	0
	pnull
	line	12
	colm	21
	synt	any
	invoke	2
	line	12
	colm	29
	synt	any
	esusp
	goto	L8
lab L7
	line	12
	colm	31
	synt	any
	pfail
lab L8
	unmark
lab L6
	mark	L9
	mark	L10
	var	0
	line	13
	colm	3
	synt	any
	pret
lab L10
	synt	any
	pfail
	unmark
lab L9
	pnull
	line	14
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Camerainitialize
	local	0,000000,graphics3d__Camera__oprec
	local	1,000000,graphics3d__Camera__methods
	local	2,000000,graphics3d__Camera_init
	local	3,000000,graphics3d__Camera_set
	local	4,000000,graphics3d__Camera_rotate
	local	5,000000,graphics3d__Camera_slide
	local	6,000000,graphics3d__Camera_move
	local	7,000000,graphics3d__Camera_move_faster
	local	8,000000,graphics3d__Camera_move_slower
	local	9,000000,graphics3d__Camera_initially
	declend
	line	16
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	0
	var	1
	var	2
	var	3
	var	4
	var	5
	var	6
	var	7
	var	8
	var	9
	line	17
	colm	67
	synt	any
	invoke	8
	line	17
	colm	37
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	line	18
	colm	1
	synt	any
	pfail
	end
