/* asm_i386.h Base definitions for IA32 assembler routines Copyright (C) 1996-1997 Id Software, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to: Free Software Foundation, Inc. 59 Temple Place - Suite 330 Boston, MA 02111-1307, USA $Id$ */ #ifndef __ASM_I386__ #define __ASM_I386__ #ifdef HAVE_SYM_PREFIX_UNDERSCORE # define C(label) _##label #else # define C(label) label #endif #ifdef _WIN32 # define EXPORT(label) .def C(label); .scl 2; .type 32; .endef #else # define EXPORT(label) #endif // // !!! note that this file must match the corresponding C structures at all // times !!! // // plane_t structure // !!! if this is changed, it must be changed in model.h too !!! // !!! if the size of this is changed, the array lookup in SV_HullPointContents // must be changed too !!! #define pl_normal 0 #define pl_dist 12 #define pl_type 16 #define pl_signbits 17 #define pl_pad 18 #define pl_size 20 // hull_t structure // !!! if this is changed, it must be changed in model.h too !!! #define hu_clipnodes 0 #define hu_planes 4 #define hu_firstclipnode 8 #define hu_lastclipnode 12 #define hu_clip_mins 16 #define hu_clip_maxs 28 #define hu_size 40 // dnode_t structure // !!! if this is changed, it must be changed in bspfile.h too !!! #define nd_planenum 0 #define nd_children 4 #define nd_mins 8 #define nd_maxs 20 #define nd_firstface 32 #define nd_numfaces 36 #define nd_size 40 #endif