1/* 2Copyright (C) 1996-1997 Id Software, Inc. 3 4This program is free software; you can redistribute it and/or 5modify it under the terms of the GNU General Public License 6as published by the Free Software Foundation; either version 2 7of the License, or (at your option) any later version. 8 9This program is distributed in the hope that it will be useful, 10but WITHOUT ANY WARRANTY; without even the implied warranty of 11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 13See the GNU General Public License for more details. 14 15You should have received a copy of the GNU General Public License 16along with this program; if not, write to the Free Software 17Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 19*/ 20// 21// d_ifacea.h 22// 23// Include file for asm driver interface. 24// 25 26// 27// !!! note that this file must match the corresponding C structures in 28// d_iface.h at all times !!! 29// 30 31// !!! if this is changed, it must be changed in r_shared.h too !!! 32#define ALIAS_ONSEAM 0x0020 33 34// !!! if this is changed, it must be changed in d_iface.h too !!! 35#define TURB_TEX_SIZE 64 // base turbulent texture size 36 37// !!! if this is changed, it must be changed in d_iface.h too !!! 38#define CYCLE 128 39 40// !!! if this is changed, it must be changed in r_shared.h too !!! 41#define MAXHEIGHT 1024 42 43// !!! if this is changed, it must be changed in quakedef.h too !!! 44#define CACHE_SIZE 32 // used to align key data structures 45 46// particle_t structure 47// !!! if this is changed, it must be changed in d_iface.h too !!! 48// driver-usable fields 49#define pt_org 0 50#define pt_color 12 51// drivers never touch the following fields 52#define pt_next 16 53#define pt_vel 20 54#define pt_ramp 32 55#define pt_die 36 56#define pt_type 40 57#define pt_size 44 58 59#define PARTICLE_Z_CLIP 8.0 60 61// finalvert_t structure 62// !!! if this is changed, it must be changed in d_iface.h too !!! 63#define fv_v 0 // !!! if this is moved, cases where the !!! 64 // !!! address of this field is pushed in !!! 65 // !!! d_polysa.s must be changed !!! 66#define fv_flags 24 67#define fv_reserved 28 68#define fv_size 32 69#define fv_shift 5 70 71 72// stvert_t structure 73// !!! if this is changed, it must be changed in modelgen.h too !!! 74#define stv_onseam 0 75#define stv_s 4 76#define stv_t 8 77#define stv_size 12 78 79 80// trivertx_t structure 81// !!! if this is changed, it must be changed in modelgen.h too !!! 82#define tv_v 0 83#define tv_lightnormalindex 3 84#define tv_size 4 85 86// affinetridesc_t structure 87// !!! if this is changed, it must be changed in d_iface.h too !!! 88#define atd_pskin 0 89#define atd_pskindesc 4 90#define atd_skinwidth 8 91#define atd_skinheight 12 92#define atd_ptriangles 16 93#define atd_pfinalverts 20 94#define atd_numtriangles 24 95#define atd_drawtype 28 96#define atd_seamfixupX16 32 97#define atd_size 36 98 99