1 // Emacs style mode select -*- C++ -*- 2 //----------------------------------------------------------------------------- 3 // 4 // $Id: hw_glob.h 1035 2013-08-14 00:38:40Z wesleyjohnson $ 5 // 6 // Copyright (C) 1998-2016 by DooM Legacy Team. 7 // 8 // This program is free software; you can redistribute it and/or 9 // modify it under the terms of the GNU General Public License 10 // as published by the Free Software Foundation; either version 2 11 // of the License, or (at your option) any later version. 12 // 13 // This program is distributed in the hope that it will be useful, 14 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 // GNU General Public License for more details. 17 // 18 // 19 // $Log: hw_glob.h,v $ 20 // Revision 1.15 2001/08/12 22:08:40 hurdler 21 // Add alpha value for 3d water 22 // 23 // Revision 1.14 2001/08/09 21:35:23 hurdler 24 // Add translucent 3D water in hw mode 25 // 26 // Revision 1.13 2001/05/16 21:21:15 bpereira 27 // Revision 1.12 2000/11/18 15:51:25 bpereira 28 // Revision 1.11 2000/11/04 16:23:44 bpereira 29 // Revision 1.10 2000/11/02 19:49:39 bpereira 30 // Revision 1.9 2000/09/21 16:45:11 bpereira 31 // 32 // Revision 1.8 2000/04/27 17:48:47 hurdler 33 // colormap code in hardware mode is now the default 34 // 35 // Revision 1.7 2000/04/24 15:46:34 hurdler 36 // Support colormap for text 37 // 38 // Revision 1.6 2000/04/23 16:19:52 bpereira 39 // Revision 1.5 2000/04/22 21:08:23 hurdler 40 // 41 // Revision 1.4 2000/04/22 16:09:14 hurdler 42 // support skin color in hardware mode 43 // 44 // Revision 1.3 2000/03/29 19:39:49 bpereira 45 // Revision 1.2 2000/02/27 00:42:11 hurdler 46 // Revision 1.1.1.1 2000/02/22 20:32:33 hurdler 47 // Initial import into CVS (v1.29 pr3) 48 // 49 // 50 // DESCRIPTION: 51 // globals (shared data & code) for hw_ modules 52 // 53 //----------------------------------------------------------------------------- 54 55 #ifndef HW_POLY_H 56 #define HW_POLY_H 57 58 #include "m_fixed.h" 59 60 // ----------- 61 // structures 62 // ----------- 63 64 // a vertex of a Doom 'plane' polygon 65 typedef struct polyvertex_s { 66 float x, y; 67 } polyvertex_t; 68 69 // a convex 'plane' polygon, clockwise order 70 typedef struct { 71 int numpts; 72 polyvertex_t pts[0]; 73 } poly_t; 74 75 // holds extra info for 3D render, for each subsector in subsectors[] 76 typedef struct { 77 poly_t* planepoly; // the generated convex polygon 78 } poly_subsector_t; 79 80 81 typedef struct 82 { 83 poly_subsector_t *xsub; 84 fixed_t fixedheight; 85 int lightlevel; 86 // int lumpnum; 87 uint16_t picnum; // index to levelflats 88 int alpha; 89 } planeinfo_t; 90 91 #endif 92