d_ifacea.h 2.8 KB

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