Attempt to stabilize ODE. Now using constant step (sys_ticrate set steptime) - on...
[divverent/darkplaces.git] / bspfile.h
index fa4178b..648b294 100644 (file)
--- a/bspfile.h
+++ b/bspfile.h
@@ -19,19 +19,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
 
 
-#define        MAX_MAP_HULLS           16              // was 4
-#define        MAX_MAP_LEAFS           65536   // was 8192
-
-// key / value pair sizes
-
-#define        MAX_KEY         32
-#define        MAX_VALUE       1024
+#define MAX_MAP_HULLS 16 // Q1BSP has 4, Hexen2 Q1BSP has 8, MCBSP has 16
 
 //=============================================================================
 
 
 #define BSPVERSION     29
-#define MCBSPVERSION 2
 
 typedef struct lump_s
 {
@@ -57,7 +50,6 @@ typedef struct lump_s
 
 typedef struct hullinfo_s
 {
-       int                     numhulls;
        int                     filehulls;
        float           hullsizes[MAX_MAP_HULLS][2][3];
 } hullinfo_t;
@@ -171,6 +163,7 @@ typedef struct dplane_s
 #define CONTENTSQ3_JUMPPAD                     0x00080000 // hint for Q3's bots
 #define CONTENTSQ3_CLUSTERPORTAL       0x00100000 // hint for Q3's bots
 #define CONTENTSQ3_DONOTENTER          0x00200000 // hint for Q3's bots
+#define CONTENTSQ3_BOTCLIP                     0x00400000 // hint for Q3's bots
 #define CONTENTSQ3_ORIGIN                      0x01000000 // used by origin brushes to indicate origin of bmodel (removed by map compiler)
 #define CONTENTSQ3_BODY                                0x02000000 // used by bbox entities (should never be on a brush)
 #define CONTENTSQ3_CORPSE                      0x04000000 // used by dead bodies (SOLID_CORPSE in darkplaces)
@@ -191,7 +184,19 @@ typedef struct dplane_s
 #define SUPERCONTENTS_PLAYERCLIP       0x00000100
 #define SUPERCONTENTS_MONSTERCLIP      0x00000200
 #define SUPERCONTENTS_DONOTENTER       0x00000400
+#define SUPERCONTENTS_BOTCLIP          0x00000800
+#define SUPERCONTENTS_OPAQUE           0x00001000
+// TODO: is there any reason to define:
+//   fog?
+//   areaportal?
+//   teleporter?
+//   jumppad?
+//   clusterportal?
+//   detail?         (div0) no, game code should not be allowed to differentiate between structural and detail
+//   structural?     (div0) no, game code should not be allowed to differentiate between structural and detail
+//   trigger?        (div0) no, as these are always solid anyway, and that's all that matters for trigger brushes
 #define SUPERCONTENTS_LIQUIDSMASK      (SUPERCONTENTS_LAVA | SUPERCONTENTS_SLIME | SUPERCONTENTS_WATER)
+#define SUPERCONTENTS_VISBLOCKERMASK   SUPERCONTENTS_OPAQUE
 
 /*
 #define SUPERCONTENTS_DEADMONSTER      0x00000000