X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.h;h=6c53d3181b65fc8571d546cf02222eccd3072225;hb=51cc8f17af487cc53aafccf050ff1b16fec878a9;hp=ba82dad42a4a495530cdba153eb7872085ea5522;hpb=7719feee76dac64d8f6153d4c379c44db1d89f7d;p=rocksndiamonds.git diff --git a/src/libgame/misc.h b/src/libgame/misc.h index ba82dad4..6c53d318 100644 --- a/src/libgame/misc.h +++ b/src/libgame/misc.h @@ -28,28 +28,14 @@ #define RANDOM_ENGINE 0 #define RANDOM_SIMPLE 1 +#define RANDOM_BETTER 2 #define InitEngineRandom(seed) init_random_number(RANDOM_ENGINE, seed) #define InitSimpleRandom(seed) init_random_number(RANDOM_SIMPLE, seed) +#define InitBetterRandom(seed) init_random_number(RANDOM_BETTER, seed) #define GetEngineRandom(max) get_random_number(RANDOM_ENGINE, max) #define GetSimpleRandom(max) get_random_number(RANDOM_SIMPLE, max) - -// values for Error() -#define ERR_UNKNOWN 0 -#define ERR_DEBUG (1 << 0) -#define ERR_INFO (1 << 1) -#define ERR_INFO_LINE (1 << 2) -#define ERR_WARN (1 << 3) -#define ERR_EXIT (1 << 4) -#define ERR_HELP (1 << 5) -#define ERR_SOUND_SERVER (1 << 6) -#define ERR_NETWORK_SERVER (1 << 7) -#define ERR_NETWORK_CLIENT (1 << 8) -#define ERR_FROM_SERVER (ERR_SOUND_SERVER | ERR_NETWORK_SERVER) -#define ERR_EXIT_HELP (ERR_EXIT | ERR_HELP) -#define ERR_EXIT_SOUND_SERVER (ERR_EXIT | ERR_SOUND_SERVER) -#define ERR_EXIT_NETWORK_SERVER (ERR_EXIT | ERR_NETWORK_SERVER) -#define ERR_EXIT_NETWORK_CLIENT (ERR_EXIT | ERR_NETWORK_CLIENT) +#define GetBetterRandom(max) get_random_number(RANDOM_BETTER, max) // values for getFile...() and putFile...() #define BYTE_ORDER_BIG_ENDIAN 0 @@ -59,6 +45,11 @@ #define BIT_ORDER_MSB 0 #define BIT_ORDER_LSB 1 +// values for character encoding +#define TEXT_ENCODING_UNKNOWN 0 +#define TEXT_ENCODING_ASCII 1 +#define TEXT_ENCODING_UTF_8 2 + // values for createDirectory() #define PERMS_PRIVATE 0 #define PERMS_PUBLIC 1 @@ -123,9 +114,13 @@ void PrintNoLog(char *, ...); void PrintLine(char *, int); void PrintLineWithPrefix(char *, char *, int); +void DebugContinued(char *, char *, ...); void Debug(char *, char *, ...); void Info(char *, ...); void Warn(char *, ...); +void Error(char *, ...); +void Fail(char *, ...); +void FailWithHelp(char *, ...); char *int2str(int, int); char *i_to_a(unsigned int); @@ -133,6 +128,9 @@ int log_2(unsigned int); boolean getTokenValueFromString(char *, char **, char **); +char *getUUIDExt(unsigned int (*function)(int)); +char *getUUID(void); + void InitCounter(void); unsigned int Counter(void); void Delay(unsigned int); @@ -148,8 +146,19 @@ void SkipUntilDelayReached(unsigned int *, unsigned int, int *, int); unsigned int init_random_number(int, int); unsigned int get_random_number(int, int); +#if defined(PLATFORM_UNIX) +char *getUnixLoginName(void); +char *getUnixRealName(void); +char *getUnixHomeDir(void); +#endif + char *getLoginName(void); char *getRealName(void); +char *getFixedUserName(char *); +char *getDefaultUserName(int); + +char *getTimestampFromEpoch(time_t); +char *getCurrentTimestamp(void); time_t getFileTimestampEpochSeconds(char *); @@ -173,6 +182,8 @@ char *getStringToLower(const char *); void setString(char **, char *); boolean strEqual(char *, char *); boolean strEqualN(char *, char *, int); +boolean strEqualCase(char *, char *); +boolean strEqualCaseN(char *, char *, int); boolean strPrefix(char *, char *); boolean strSuffix(char *, char *); boolean strPrefixLower(char *, char *); @@ -182,10 +193,6 @@ void GetOptions(int, char **, void (*print_usage_function)(void), void (*print_version_function)(void)); -void SetError(char *, ...); -char *GetError(void); -void Error(int, char *, ...); - void *checked_malloc(unsigned int); void *checked_calloc(unsigned int); void *checked_realloc(void *, unsigned int); @@ -229,6 +236,12 @@ void WriteUnusedBytesToFile(FILE *, unsigned int); #define putFileChunkBE(f,s,x) putFileChunk(f,s,x,BYTE_ORDER_BIG_ENDIAN) #define putFileChunkLE(f,s,x) putFileChunk(f,s,x,BYTE_ORDER_LITTLE_ENDIAN) +char *getUTF8FromLatin1(char *); +char *getLatin1FromUTF8(char *); +int getTextEncoding(char *); + +char *getEscapedJSON(char *); + char *getKeyNameFromKey(Key); char *getX11KeyNameFromKey(Key); Key getKeyFromKeyName(char *); @@ -256,6 +269,7 @@ int seekFile(File *, long, int); int getByteFromFile(File *); char *getStringFromFile(File *, char *, int); int copyFile(char *, char *); +boolean touchFile(char *); Directory *openDirectory(char *); int closeDirectory(Directory *);