]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - common.h
optimized AngleVectors calls (pass NULL for vectors that should not be generated)
[xonotic/darkplaces.git] / common.h
index eb2175cdf6ca98ed1e5787949a59e32f3f927a80..502f4cdb436416b7f82305466f0dbb79aecc8b00 100644 (file)
--- a/common.h
+++ b/common.h
@@ -31,6 +31,11 @@ typedef enum {false, true}   qboolean;
 
 //============================================================================
 
+extern void *qmalloc(unsigned int size);
+extern void qfree(void *mem);
+
+//============================================================================
+
 typedef struct sizebuf_s
 {
        qboolean        allowoverflow;  // if false, do a Sys_Error
@@ -113,6 +118,9 @@ void MSG_WriteFloat (sizebuf_t *sb, float f);
 void MSG_WriteString (sizebuf_t *sb, char *s);
 void MSG_WriteCoord (sizebuf_t *sb, float f);
 void MSG_WriteAngle (sizebuf_t *sb, float f);
+void MSG_WritePreciseAngle (sizebuf_t *sb, float f);
+
+#define MSG_WriteFloatCoord MSG_WriteFloat
 
 extern int                     msg_readcount;
 extern qboolean        msg_badread;            // set if a read goes beyond end of message
@@ -130,11 +138,17 @@ char *MSG_ReadString (void);
 //#define MSG_ReadShort() ((msg_readcount + 2) > net_message.cursize ? (msg_badread = true, -1) : (short)net_message.data[msg_readcount+=2, msg_readcount-2] | (net_message.data[msg_readcount-1] << 8))
 //#define MSG_ReadLong() ((msg_readcount + 4) > net_message.cursize ? (msg_badread = true, -1) : (int)net_message.data[msg_readcount+=4, msg_readcount-4] | (net_message.data[msg_readcount-3] << 8) | (net_message.data[msg_readcount-2] << 16) | (net_message.data[msg_readcount-1] << 24))
 
-//float MSG_ReadCoord (void);
+float MSG_ReadCoord (void);
 //float MSG_ReadAngle (void);
 
+#define MSG_ReadFloatCoord MSG_ReadFloat
+
 #define MSG_ReadAngle() (MSG_ReadByte() * (360.0f / 256.0f))
-#define MSG_ReadCoord() (MSG_ReadShort() * 0.125f)
+#define MSG_ReadPreciseAngle() (MSG_ReadShort() * (360.0f / 65536.0f))
+
+#define MSG_ReadVector(v) {(v)[0] = MSG_ReadCoord();(v)[1] = MSG_ReadCoord();(v)[2] = MSG_ReadCoord();}
+
+extern qboolean dpprotocol;
 
 //============================================================================
 
@@ -193,9 +207,8 @@ int COM_OpenFile (char *filename, int *hndl, qboolean quiet);
 int COM_FOpenFile (char *filename, FILE **file, qboolean quiet);
 void COM_CloseFile (int h);
 
-byte *COM_LoadStackFile (char *path, void *buffer, int bufsize, qboolean quiet);
-byte *COM_LoadTempFile (char *path, qboolean quiet);
 byte *COM_LoadHunkFile (char *path, qboolean quiet);
+byte *COM_LoadMallocFile (char *path, qboolean quiet);
 void COM_LoadCacheFile (char *path, struct cache_user_s *cu, qboolean quiet);
 
 byte *COM_LoadFile (char *path, int usehunk, qboolean quiet);
@@ -205,3 +218,7 @@ int COM_FileExists(char *filename);
 extern struct cvar_s   registered;
 
 extern qboolean                standard_quake, rogue, hipnotic, nehahra;
+
+// LordHavoc: useful...
+extern void COM_ToLowerString(char *in, char *out);
+extern void COM_ToUpperString(char *in, char *out);