bsp
bsphdr.h
00001 /* BSPHDR.h Main Header for BSP */
00002 #ifndef _BSPHDR_H_
00003 #define _BSPHDR_H_
00004 
00005 //====================  BSP Defaults    ======================
00006 #define BSP_VER_MAJOR   0               // Current Version
00007 #define BSP_VER_MINOR   96              // Current Version
00008 #define BSP_REV         "d"                             // version letter, a, b
00009 #define MAX_CAMERAS     5               // Number of Cameras
00010 #define MAX_WADS        64                      // Per .map file
00011 
00012 #define SM_REGULAR              0                               // Vertex Selection Modes
00013 #define SM_VERTEX               1
00014 
00015 #define MAX_XY                  3              // Maximum number of 2d views
00016 #define CPT                     256                        // Number of temporary data points
00017 //  in data arrays of points (used
00018 //  in clipping routines).
00019 
00020 
00021 //=====================  BSP Tolerances ======================
00022 #define ON_EPSILON              0.1f
00023 #define F_EPSILON               0.1f
00024 #define epsilon                 0.000001f
00025 
00026 //=====================  BSP Make Stairs======================
00027 #define STAIR_REGULAR   0
00028 #define STAIR_SPIRAL    1
00029 #define STAIR_BLOCK     2
00030 
00031 #define MAX_HITS                10                 // Number of hit brushes to track
00032 
00033 //=====================  BSP Screen Dimensions  ==============
00034 #define ORIG_HORIZ              (400)             // Default window size for BSP Windows
00035 #define ORIG_VERT               (300)
00036 #define ORIG_XMAX               ((ORIG_HORIZ)-1)
00037 #define ORIG_XMIN               0
00038 #define ORIG_YMAX               ((ORIG_VERT)-1)
00039 #define ORIG_YMIN               0
00040 #define ORIG_ZMIN               -1.0                            // Near clipping plane default
00041 #define ORIG_ZMAX               -8192.0                         // Far clipping plane default
00042 #define ORIG_EDIT_H     (ORIG_HORIZ)            // 3d Preview window default sizes
00043 #define ORIG_EDIT_V     (ORIG_VERT)                     //
00044 
00045 #define SELECT_DELTA    8                                       // Mouse click must be within this
00046 //  distance to select item
00047 
00048 #define STEPVAL                 64                                      // Default movement step size
00049 
00050 #define HELP_FILE               "help\\bsp.chm"                 // BSP Help File
00051 
00052 #define BSP_LOG                 "bsp.log"                       // session logfile, relative path
00053 #define MAX_MAPS                10                                      // FIXME, remove this limitation
00054 #define MAX_SAVE_WIN    4                                       // Number of sets of window positions
00055 
00056 //#define BOGUS_RANGE   30000                           //(REPLACED WITH TMAX) A number well outside of the Quake genre +/- 4096.0f range
00057 
00058 #define MAX_NUM                 32767                           // Maximum 16 Bit Integer
00059 
00060 #define MAP_MINZ                (-4096 + 64)            // Min/Max for making tall brushes
00061 #define MAP_MAXZ                ( 4096 - 64)            //  slightly adjusted
00062 
00063 #define MAX_CLASSES     8192                            // Maximum distinct entity classes
00064 
00065 //========================= BSP Enumeration Types ==================
00066 #define XYDRAW                                                   0
00067 #define XYDRAWCUR                                                1
00068 #define CAMERARENDER                                     2
00069 #define GLCAMERARENDERSELFTEXTURE                3
00070 #define GLCAMERARENDERSELFFIXED                  4
00071 #define GLCAMERARENDERSELFOUTLINE                5
00072 #define GLCAMERARENDERSELFSELECTED               6
00073 #define GLCAMERARENDERSELFNOTEXTURE      7
00074 #define CLOSESTRENDER                                    8
00075 #define GLCAMERARENDERSELFWIREFRAME      9
00076 #define GLCAMERARENDERSELFFLAT                  10
00077 
00078 #define DRAG_DELTA              6                                       // Distance mouse must be moved in
00079 //  preview type dialogs before the
00080 //  drag will cause a roll/pitch/yaw
00081 //  change.
00082 
00083 
00084 //=======================  BSP Texture Window ======================
00085 #define AREA_TEX                                0              // Mouse is in main texture area
00086 #define AREA_FAV                                1              // Mouse is in favorites area
00087 #define AREA_FRQ                                2              // Mouse is in frequents area
00088 
00089 #define O_UX                                    0                                       // Timer callback values for various
00090 #define O_UY                                    1              //  derived buttons.  U = UP
00091 #define O_DX                                    2              //  D = Down, X = Shift S, Y = Shift T
00092 #define O_DY                                    3              //  R = Rotate, SX = Scale S, SY = Scale T
00093 #define O_UR                                    4
00094 #define O_DR                                    5
00095 #define O_USX                                   6
00096 #define O_DSX                                   7
00097 #define O_USY                                   8
00098 #define O_DSY                                   9
00099 
00100 //===========================  BSP Preview Dialogs  ==================
00101 #define STAIR_PREV_LEFT         255         // Stair dialog
00102 #define STAIR_PREV_TOP           15
00103 #define STAIR_W                         245
00104 #define STAIR_H                         245
00105 
00106 #define ARCH_PREV_LEFT           75                     // Arch dialog
00107 #define ARCH_PREV_TOP           125
00108 #define ARCH_W                          400
00109 #define ARCH_H                          220
00110 
00111 #define WEDGE_PREV_LEFT          75                     // Wedge Dialog
00112 #define WEDGE_PREV_TOP          125
00113 #define WEDGE_W                         400
00114 #define WEDGE_H                         220
00115 
00116 #define STEPS                            72.0f          // Preview dialog steps per turn
00117 
00118 #define DRAG_ROTATE               1                     // Mouse drag rotates object in preview
00119 #define DRAG_DISTANCE             2                     // Mouse drag (w/ shift key) moves viewpoint closer or farther.
00120 
00121 //===========================  BSP Enumerations  ======================
00122 namespace Drawmode
00123 {
00124 enum drawmode
00125 {
00126     wire,                                                       // Wire Frame Preview
00127     flat,                                       // Flat Shaded
00128     texture                        // Textured Preview
00129 };
00130 }
00131 namespace Runmode
00132 {
00133 enum runmodes
00134 {
00135     no_run,
00136     run
00137 };
00138 }
00139 
00140 enum MapViewType                                                // 2d Window View Types
00141 {
00142     Type_XY,
00143     Type_YZ,
00144     Type_XZ
00145 };
00146 
00147 // DIB Info Header Strucure
00148 typedef struct BmInfo
00149 {
00150     BITMAPINFOHEADER  Header;
00151     RGBQUAD aColors[256];  // Assume 256 color palette
00152 } BmInfo;
00153 
00154 #endif  //_BSPHDR_H_
 All Classes Functions