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