]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - common.h
- Sys_LoadLibrary now accepts several possible names for a DLL (it fixes
[xonotic/darkplaces.git] / common.h
index d9e93145b3054005c0b079affc23a0f5774389b4..9d0ee53d44bdecf6b068b65fa72e26848d7c9537 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);
 
 //============================================================================
 
@@ -158,6 +174,7 @@ extern const char **com_argv;
 
 int COM_CheckParm (const char *parm);
 void COM_Init (void);
+void COM_Shutdown (void);
 void COM_InitArgv (void);
 void COM_InitGameType (void);
 
@@ -184,10 +201,15 @@ extern    struct cvar_s   cmdline;
 #define GAME_SETHERAL 11
 #define GAME_SOM 12
 #define GAME_TENEBRAE 13 // full of evil hackery
+#define GAME_NEOTERIC 14
+#define GAME_OPENQUARTZ 15 //this game sucks
+#define GAME_PRYDON 16
+#define GAME_NETHERWORLD 17
 
 extern int gamemode;
-extern char *gamename;
-extern char *gamedirname;
+extern const char *gamename;
+extern const char *gamedirname;
+extern const char *gamescreenshotname;
 extern char com_modname[MAX_OSPATH];
 
 void COM_ToLowerString (const char *in, char *out, size_t size_out);
@@ -206,7 +228,7 @@ int matchpattern(char *in, char *pattern, int caseinsensitive);
 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);
@@ -214,7 +236,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