bsp
|
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_