]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - common.h
334
[xonotic/darkplaces.git] / common.h
index 48116bb4b6822f4aee0b85081e483a01215221c6..aa2d29d5b804b1648cd2540316ce569ae469a714 100644 (file)
--- a/common.h
+++ b/common.h
@@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #ifndef COMMON_H
 #define COMMON_H
 
+
 // MSVC has a different name for several standard functions
 #ifdef WIN32
 # define snprintf _snprintf
@@ -29,6 +30,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 # define strncasecmp strnicmp
 #endif
 
+// Create our own define for Mac OS X
+#if defined(__APPLE__) && defined(__MACH__)
+# define MACOSX
+#endif
+
 
 //============================================================================
 
@@ -52,6 +58,8 @@ void SZ_HexDumpToConsole(const sizebuf_t *buf);
 
 void Com_HexDumpToConsole(const qbyte *data, int size);
 
+unsigned short CRC_Block(qbyte *data, int size);
+
 
 //============================================================================
 //                                                     Endianess handling
@@ -115,10 +123,15 @@ void MSG_WriteShort (sizebuf_t *sb, int c);
 void MSG_WriteLong (sizebuf_t *sb, int c);
 void MSG_WriteFloat (sizebuf_t *sb, float f);
 void MSG_WriteString (sizebuf_t *sb, const 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);
-void MSG_WriteDPCoord (sizebuf_t *sb, float f);
+void MSG_WriteAngle8i (sizebuf_t *sb, float f);
+void MSG_WriteAngle16i (sizebuf_t *sb, float f);
+void MSG_WriteAngle32f (sizebuf_t *sb, float f);
+void MSG_WriteCoord13i (sizebuf_t *sb, float f);
+void MSG_WriteCoord16i (sizebuf_t *sb, float f);
+void MSG_WriteCoord32f (sizebuf_t *sb, float f);
+void MSG_WriteCoord (sizebuf_t *sb, float f, int protocol);
+void MSG_WriteVector (sizebuf_t *sb, float *v, int protocol);
+void MSG_WriteAngle (sizebuf_t *sb, float f, int protocol);
 
 extern int                     msg_readcount;
 extern qboolean        msg_badread;            // set if a read goes beyond end of message
@@ -139,12 +152,15 @@ int MSG_ReadBytes (int numbytes, unsigned char *out);
 #define MSG_ReadLong MSG_ReadLittleLong
 #define MSG_ReadFloat MSG_ReadLittleFloat
 
-float MSG_ReadCoord (void);
-
-#define MSG_ReadAngle() (MSG_ReadByte() * (360.0f / 256.0f))
-#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())
+float MSG_ReadAngle8i (void);
+float MSG_ReadAngle16i (void);
+float MSG_ReadAngle32f (void);
+float MSG_ReadCoord13i (void);
+float MSG_ReadCoord16i (void);
+float MSG_ReadCoord32f (void);
+float MSG_ReadCoord (int protocol);
+void MSG_ReadVector (float *v, int protocol);
+float MSG_ReadAngle (int protocol);
 
 //============================================================================
 
@@ -219,7 +235,7 @@ char *SearchInfostring(const char *infostring, const char *key);
 
 // strlcat and strlcpy, from OpenBSD
 // Most (all?) BSDs already have them
-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || (defined(__APPLE__) && defined(__MACH__))
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(MACOSX)
 # define HAVE_STRLCAT 1
 # define HAVE_STRLCPY 1
 #endif