#ifndef COMMON_H
#define COMMON_H
+
// MSVC has a different name for several standard functions
#ifdef WIN32
# define snprintf _snprintf
# define strncasecmp strnicmp
#endif
+// Create our own define for Mac OS X
+#if defined(__APPLE__) && defined(__MACH__)
+# define MACOSX
+#endif
+
//============================================================================
void Com_HexDumpToConsole(const qbyte *data, int size);
+unsigned short CRC_Block(qbyte *data, int size);
+
//============================================================================
// Endianess handling
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
float MSG_ReadCoord32f (void);
float MSG_ReadCoord (int protocol);
void MSG_ReadVector (float *v, int protocol);
+float MSG_ReadAngle (int protocol);
//============================================================================
int COM_CheckParm (const char *parm);
void COM_Init (void);
+void COM_Shutdown (void);
void COM_InitArgv (void);
void COM_InitGameType (void);
stringlist_t *stringlistappend(stringlist_t *current, char *text);
void stringlistfree(stringlist_t *current);
stringlist_t *stringlistsort(stringlist_t *start);
-stringlist_t *listdirectory(char *path);
+stringlist_t *listdirectory(const char *path);
void freedirectory(stringlist_t *list);
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