; VGI Triangles

SKIP	= TEMP0

	;========================
	; VGI vertical triangle
	;========================

	VGI_TCOLOR	= P0
	VGI_VX		= P1
	VGI_VY		= P2
	VGI_TXL		= P3
	VGI_TXR		= P4
	VGI_TYB		= P5

vgi_vertical_triangle:
	lda	VGI_TCOLOR
	lsr
	lsr
	lsr
	lsr
	sta	SKIP

	lda	VGI_TCOLOR
	and	#$f
	tax
	lda	COLORTBL,X
	sta	HGR_COLOR

vtri_loop:
	ldy	#0
	ldx	VGI_VX
	lda	VGI_VY

	jsr	HPLOT0		; plot at (Y,X), (A)


	ldx	#0
	ldy	VGI_TYB
	lda	VGI_TXL

	jsr	HGLIN		; line to (X,A),(Y)

	lda	VGI_TXL
	clc
	adc	SKIP
	sta	VGI_TXL
;	inc	VGI_TXL
;	lda	VGI_TXL
	cmp	VGI_TXR
	bcc	vtri_loop

done_vtri:
	jmp	vgi_loop	; bra



	;========================
	; VGI horizontal triangle
	;========================

;	VGI_TCOLOR	= P0
;	VGI_VX		= P1
;	VGI_VY		= P2
	VGI_THYT	= P3
	VGI_THYB	= P4
	VGI_THXR	= P5

vgi_horizontal_triangle:

	ldx	VGI_TCOLOR
	lda	COLORTBL,X
	sta	HGR_COLOR

htri_loop:
	ldy	#0
	ldx	VGI_VX
	lda	VGI_VY

	jsr	HPLOT0		; plot at (Y,X), (A)


	ldx	#0
	ldy	VGI_THYT
	lda	VGI_THXR

	jsr	HGLIN		; line to (X,A),(Y)

	inc	VGI_THYT
	lda	VGI_THYT
	cmp	VGI_THYB
	bcc	htri_loop

done_htri:
	jmp	vgi_loop

