X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=common.h;h=bd715ed65eeb2cc9259b33bfabb116c5db959b6a;hb=2667ad46dc38b54dde62ee1ab7844502531eb96a;hp=45cf7de54be886c202609a77f7e1e87e43b64208;hpb=b3030be8791663d54406b82fd5d307c948bd8bdd;p=xonotic%2Fdarkplaces.git diff --git a/common.h b/common.h index 45cf7de5..bd715ed6 100644 --- a/common.h +++ b/common.h @@ -134,7 +134,7 @@ typedef enum protocolversion_e PROTOCOL_QUAKEWORLD, ///< quakeworld protocol PROTOCOL_NEHAHRABJP, ///< same as QUAKEDP but with 16bit modelindex PROTOCOL_NEHAHRABJP2, ///< same as NEHAHRABJP but with 16bit soundindex - PROTOCOL_NEHAHRABJP3, ///< same as NEHAHRABJP2 but with some changes + PROTOCOL_NEHAHRABJP3 ///< same as NEHAHRABJP2 but with some changes } protocolversion_t; @@ -204,6 +204,7 @@ int COM_ParseToken_Console(const char **datapointer); extern int com_argc; extern const char **com_argv; +extern int com_selffd; int COM_CheckParm (const char *parm); void COM_Init (void); @@ -215,7 +216,13 @@ char *va(const char *format, ...) DP_FUNC_PRINTF(1); // snprintf and vsnprintf are NOT portable. Use their DP counterparts instead +#ifdef snprintf +# undef snprintf +#endif #define snprintf DO_NOT_USE_SNPRINTF__USE_DPSNPRINTF +#ifdef vsnprintf +# undef vsnprintf +#endif #define vsnprintf DO_NOT_USE_VSNPRINTF__USE_DPVSNPRINTF // dpsnprintf and dpvsnprintf @@ -244,6 +251,16 @@ extern int dpvsnprintf (char *buffer, size_t buffersize, const char *format, va_ extern struct cvar_s registered; extern struct cvar_s cmdline; +typedef enum userdirmode_e +{ + USERDIRMODE_NOHOME, // basedir only + USERDIRMODE_HOME, // Windows basedir, general POSIX (~/.) + USERDIRMODE_MYGAMES, // pre-Vista (My Documents/My Games/), general POSIX (~/.) + USERDIRMODE_SAVEDGAMES, // Vista (%USERPROFILE%/Saved Games/), OSX (~/Library/Application Support/), Linux (~/.config) + USERDIRMODE_COUNT +} +userdirmode_t; + typedef enum gamemode_e { GAME_NORMAL, @@ -251,6 +268,7 @@ typedef enum gamemode_e GAME_ROGUE, GAME_NEHAHRA, GAME_NEXUIZ, + GAME_XONOTIC, GAME_TRANSFUSION, GAME_GOODVSBAD2, GAME_TEU, @@ -271,6 +289,8 @@ typedef enum gamemode_e GAME_PROPHECY, GAME_BLOODOMNICIDE, GAME_STEELSTORM, // added by motorsep + GAME_STRAPBOMB, // added by motorsep for Urre + GAME_MOONHELM, GAME_COUNT } gamemode_t; @@ -283,6 +303,8 @@ extern const char *gamescreenshotname; extern const char *gameuserdirname; extern char com_modname[MAX_OSPATH]; +void COM_ChangeGameTypeForGameDirs(void); + void COM_ToLowerString (const char *in, char *out, size_t size_out); void COM_ToUpperString (const char *in, char *out, size_t size_out); int COM_StringBeginsWith(const char *s, const char *match); @@ -307,7 +329,7 @@ int matchpattern_with_separator(const char *in, const char *pattern, int caseins void stringlistinit(stringlist_t *list); void stringlistfreecontents(stringlist_t *list); void stringlistappend(stringlist_t *list, const char *text); -void stringlistsort(stringlist_t *list); +void stringlistsort(stringlist_t *list, qboolean uniq); void listdirectory(stringlist_t *list, const char *basepath, const char *path); char *SearchInfostring(const char *infostring, const char *key); @@ -346,5 +368,10 @@ size_t strlcpy(char *dst, const char *src, size_t siz); void FindFraction(double val, int *num, int *denom, int denomMax); +// decodes XPM file to XPM array (as if #include'd) +char **XPM_DecodeString(const char *in); + +size_t base64_encode(unsigned char *buf, size_t buflen, size_t outbuflen); + #endif