gltri.s 1.13 KB
/*
 * File:		gltri.s
 * Creator:		yasu@rd3.nintendo.co.jp
 * Create Date:		Tue Sep 24 19:07:34 JST 1996
 *
 */

#ifdef F3DLP_GBI
		.ent	case_G_TRI1
case_G_TRI1:	

 #-YASU
 #
 #  F3DLP-TRI1
 #
 #  2 TRI setup の片一方を使用する. もう一方は同じ頂点を指定し, つぶしてしまう.
 #  DMEM 上の DL を書換えたところで問題はない. 
 #  flag フィールドはサポートしない. 先頭頂点を flag に固定する
 #  
 #-YASU
		sb	gfx1, (0-7)(dinp)
		sb	gfx1, (0-6)(dinp)
		j	case_G_TRI2
		sb	gfx1, (0-5)(dinp)
		.end	case_G_TRI1

#ifdef	QUAD
.name v0,		$1
.name v1,		$2
.name v2,		$3
.name v3,		$7
		.ent	case_G_QUAD3D
case_G_QUAD3D:	

 #-YASU
 #
 #  F3DLP-QUAD
 #
 #  2 TRI setup を利用して 2 つの 3 角形を同時に描画する. 
 #  flag のアンサポート. flag は v1 に固定 (F3DEX の都合による)
 #  
 #  一時的にサポートを止める. 
 #  
 #    またうまくオプティマイズをすることもあるだろう. 
 #  
 #-YASU
	# dinp points to next dl cmd, so back up to get tri indices
		lbu	v0, (0-4)(dinp)
		lbu	v1, (0-3)(dinp)
		lbu	v3, (0-1)(dinp)
		sb	v1, (0-7)(dinp)
		sb	v3, (0-6)(dinp)
		j	case_G_TRI2
		sb	v0, (0-5)(dinp)
.unname v0
.unname v1
.unname v2
.unname v3
		.end	case_G_QUAD3D
#endif
#endif