19fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*
29fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamCopyright (C) 1996-1997 Id Software, Inc.
39fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
49fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamThis program is free software; you can redistribute it and/or
59fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreammodify it under the terms of the GNU General Public License
69fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamas published by the Free Software Foundation; either version 2
79fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamof the License, or (at your option) any later version.
89fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
99fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamThis program is distributed in the hope that it will be useful,
109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreambut WITHOUT ANY WARRANTY; without even the implied warranty of
119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamSee the GNU General Public License for more details.
149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamYou should have received a copy of the GNU General Public License
169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamalong with this program; if not, write to the Free Software
179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream*/
209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream//
219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// asm_draw.h
229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream//
239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// Include file for asm drawing routines.
249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream//
259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream//
279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! note that this file must match the corresponding C structures at all
289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// times !!!
299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream//
309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in r_local.h too !!!
329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define	NEAR_CLIP	0.01
339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in r_local.h too !!!
359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define	CYCLE	128
369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// espan_t structure
389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in r_shared.h too !!!
399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define espan_t_u    	0
409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define espan_t_v	    4
419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define espan_t_count   8
429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define espan_t_pnext	12
439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define espan_t_size    16
449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// sspan_t structure
469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in d_local.h too !!!
479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define sspan_t_u    	0
489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define sspan_t_v	    4
499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define sspan_t_count   8
509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define sspan_t_size    12
519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// spanpackage_t structure
539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in d_polyset.c too !!!
549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define spanpackage_t_pdest				0
559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define spanpackage_t_pz				4
569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define spanpackage_t_count				8
579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define spanpackage_t_ptex				12
589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define spanpackage_t_sfrac				16
599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define spanpackage_t_tfrac				20
609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define spanpackage_t_light				24
619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define spanpackage_t_zi				28
629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define spanpackage_t_size				32
639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// edge_t structure
659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in r_shared.h too !!!
669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define et_u			0
679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define et_u_step		4
689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define et_prev			8
699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define et_next			12
709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define et_surfs		16
719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define et_nextremove	20
729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define et_nearzi		24
739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define et_owner		28
749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define et_size			32
759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// surf_t structure
779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in r_shared.h too !!!
789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define SURF_T_SHIFT	6
799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_next			0
809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_prev			4
819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_spans		8
829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_key			12
839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_last_u		16
849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_spanstate	20
859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_flags		24
869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_data			28
879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_entity		32
889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_nearzi		36
899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_insubmodel	40
909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_d_ziorigin	44
919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_d_zistepu	48
929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_d_zistepv	52
939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_pad			56
949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define st_size			64
959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// clipplane_t structure
979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in r_local.h too !!!
989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define cp_normal		0
999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define cp_dist			12
1009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define cp_next			16
1019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define cp_leftedge		20
1029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define cp_rightedge	21
1039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define cp_reserved		22
1049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define cp_size			24
1059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// medge_t structure
1079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in model.h too !!!
1089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define me_v				0
1099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define me_cachededgeoffset	4
1109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define me_size				8
1119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// mvertex_t structure
1139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in model.h too !!!
1149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define mv_position		0
1159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define mv_size			12
1169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// refdef_t structure
1189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in render.h too !!!
1199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_vrect					0
1209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_aliasvrect				20
1219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_vrectright				40
1229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_vrectbottom				44
1239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_aliasvrectright			48
1249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_aliasvrectbottom			52
1259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_vrectrightedge			56
1269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_fvrectx					60
1279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_fvrecty					64
1289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_fvrectx_adj				68
1299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_fvrecty_adj				72
1309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_vrect_x_adj_shift20		76
1319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_vrectright_adj_shift20	80
1329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_fvrectright_adj			84
1339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_fvrectbottom_adj			88
1349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_fvrectright				92
1359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_fvrectbottom				96
1369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_horizontalFieldOfView	100
1379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_xOrigin					104
1389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_yOrigin					108
1399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_vieworg					112
1409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_viewangles				124
1419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_ambientlight				136
1429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define rd_size						140
1439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
1449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// mtriangle_t structure
1459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream// !!! if this is changed, it must be changed in model.h too !!!
1469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define mtri_facesfront		0
1479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define mtri_vertindex		4
1489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define mtri_size			16	// !!! if this changes, array indexing in !!!
1499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream								// !!! d_polysa.s must be changed to match !!!
1509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define mtri_shift			4
1519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream
152