X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=progs.h;h=466521a7530cdc1cc3cd1f7e9b6a53e073c7c65b;hp=fd8d109c3ee65fa1ddebba405e2c21e445f66264;hb=fe7a27c1f9ee6904eddecd54f0fcae461806d43c;hpb=0a05c446ba26bd5897645a37ceec8646c5bc93eb diff --git a/progs.h b/progs.h index fd8d109c..466521a7 100644 --- a/progs.h +++ b/progs.h @@ -21,10 +21,23 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef PROGS_H #define PROGS_H #include "pr_comp.h" // defs shared with qcc +#include "qtypes.h" + #define ENTITYGRIDAREAS 16 #define MAX_ENTITYCLUSTERS 16 +#ifdef PRVM_64 +#define PRVM_FLOAT_IS_TRUE_FOR_INT(x) DOUBLE_IS_TRUE_FOR_INT(x) +#define PRVM_FLOAT_LOSSLESS_FORMAT DOUBLE_LOSSLESS_FORMAT +#define PRVM_VECTOR_LOSSLESS_FORMAT DOUBLE_VECTOR_LOSSLESS_FORMAT +#else +#define PRVM_FLOAT_IS_TRUE_FOR_INT(x) FLOAT_IS_TRUE_FOR_INT(x) +#define PRVM_FLOAT_LOSSLESS_FORMAT FLOAT_LOSSLESS_FORMAT +#define PRVM_VECTOR_LOSSLESS_FORMAT FLOAT_VECTOR_LOSSLESS_FORMAT +#endif + +#ifdef USEODE #define GEOMTYPE_NONE -1 #define GEOMTYPE_SOLID 0 #define GEOMTYPE_BOX 1 @@ -64,18 +77,15 @@ typedef struct edict_odefunc_s vec3_t v2; struct edict_odefunc_s *next; }edict_odefunc_t; +#endif typedef struct edict_engineprivate_s { - // true if this edict is unused - qbool free; - // sv.time when the object was freed (to prevent early reuse which could - // mess up client interpolation or obscure severe QuakeC bugs) - double freetime; // mark for the leak detector int mark; // place in the code where it was allocated (for the leak detector) const char *allocation_origin; + // initially false to prevent projectiles from moving on their first frame // (even if they were spawned by an synchronous client think) qbool move; @@ -113,6 +123,7 @@ typedef struct edict_engineprivate_s frameblend_t frameblend[MAX_FRAMEBLENDS]; skeleton_t skeleton; +#ifdef USEODE // physics parameters qbool ode_physics; void *ode_body; @@ -145,6 +156,7 @@ typedef struct edict_engineprivate_s vec3_t ode_joint_velocity; // second joint axis vec3_t ode_joint_movedir; // parameters void *ode_massbuf; +#endif } edict_engineprivate_t;