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