+typedef enum gamemode_e
+{
+ GAME_NORMAL,
+ GAME_HIPNOTIC,
+ GAME_ROGUE,
+ GAME_NEHAHRA,
+ GAME_NEXUIZ,
+ GAME_TRANSFUSION,
+ GAME_GOODVSBAD2,
+ GAME_TEU,
+ GAME_BATTLEMECH,
+ GAME_ZYMOTIC,
+ GAME_SETHERAL,
+ GAME_SOM,
+ GAME_TENEBRAE, // full of evil hackery
+ GAME_NEOTERIC,
+ GAME_OPENQUARTZ, //this game sucks
+ GAME_PRYDON,
+ GAME_NETHERWORLD,
+ GAME_THEHUNTED,
+ GAME_DEFEATINDETAIL2,
+ GAME_DARSANA,
+ GAME_CONTAGIONTHEORY,
+}
+gamemode_t;
+
+extern gamemode_t gamemode;
+extern const char *gamename;
+extern const char *gamedirname1;
+extern const char *gamedirname2;
+extern const char *gamescreenshotname;
+extern const char *gameuserdirname;
+extern char com_modname[MAX_OSPATH];
+
+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);
+
+int COM_ReadAndTokenizeLine(const char **text, char **argv, int maxargc, char *tokenbuf, int tokenbufsize, const char *commentprefix);
+
+size_t COM_StringLengthNoColors(const char *s, size_t size_s, qboolean *valid);
+qboolean COM_StringDecolorize(const char *in, size_t size_in, char *out, size_t size_out, qboolean escape_carets);
+void COM_ToLowerString (const char *in, char *out, size_t size_out);
+void COM_ToUpperString (const char *in, char *out, size_t size_out);