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