X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.h;h=2893ba0f6e00ae3569b7d1d1fb6525d52812af75;hb=HEAD;hp=e48d21efa0c7cb626983885356b510d8c5e45357;hpb=7fd163f5a448c2f3a3ad1978a46ef3a84c6497b1;p=rocksndiamonds.git diff --git a/src/libgame/misc.h b/src/libgame/misc.h index e48d21ef..2893ba0f 100644 --- a/src/libgame/misc.h +++ b/src/libgame/misc.h @@ -28,11 +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) +#define GetBetterRandom(max) get_random_number(RANDOM_BETTER, max) // values for getFile...() and putFile...() #define BYTE_ORDER_BIG_ENDIAN 0 @@ -42,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 @@ -120,17 +128,21 @@ 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); -boolean DelayReachedExt(unsigned int *, unsigned int, unsigned int); -boolean FrameReached(unsigned int *, unsigned int); -boolean DelayReached(unsigned int *, unsigned int); -void ResetDelayCounterExt(unsigned int *, unsigned int); -void ResetFrameCounter(unsigned int *); -void ResetDelayCounter(unsigned int *); -int WaitUntilDelayReached(unsigned int *, unsigned int); -void SkipUntilDelayReached(unsigned int *, unsigned int, int *, int); +boolean DelayReachedExt2(unsigned int *, unsigned int, unsigned int); +boolean DelayReachedExt(DelayCounter *, unsigned int); +boolean FrameReached(DelayCounter *); +boolean DelayReached(DelayCounter *); +void ResetDelayCounterExt(DelayCounter *, unsigned int); +void ResetFrameCounter(DelayCounter *); +void ResetDelayCounter(DelayCounter *); +int WaitUntilDelayReached(DelayCounter *); +void SkipUntilDelayReached(DelayCounter *, int *, int); unsigned int init_random_number(int, int); unsigned int get_random_number(int, int); @@ -146,6 +158,9 @@ char *getRealName(void); char *getFixedUserName(char *); char *getDefaultUserName(int); +char *getTimestampFromEpoch(time_t); +char *getCurrentTimestamp(void); + time_t getFileTimestampEpochSeconds(char *); char *getBasePath(char *); @@ -153,25 +168,28 @@ char *getBaseName(char *); char *getBaseNamePtr(char *); char *getBaseNameNoSuffix(char *); -char *getStringCat2WithSeparator(char *, char *, char *); -char *getStringCat3WithSeparator(char *, char *, char *, char *); -char *getStringCat2(char *, char *); -char *getStringCat3(char *, char *, char *); -char *getPath2(char *, char *); -char *getPath3(char *, char *, char*); -char *getImg2(char *, char *); -char *getImg3(char *, char *, char*); +char *getStringCat2WithSeparator(const char *, const char *, const char *); +char *getStringCat3WithSeparator(const char *, const char *, const char *, const char *); +char *getStringCat2(const char *, const char *); +char *getStringCat3(const char *, const char *, const char *); +char *getPath2(const char *, const char *); +char *getPath3(const char *, const char *, const char *); +char *getImg2(const char *, const char *); +char *getImg3(const char *, const char *, const char *); char *getStringCopy(const char *); char *getStringCopyN(const char *, int); char *getStringCopyNStatic(const char *, int); char *getStringToLower(const char *); -void setString(char **, char *); -boolean strEqual(char *, char *); -boolean strEqualN(char *, char *, int); -boolean strPrefix(char *, char *); -boolean strSuffix(char *, char *); -boolean strPrefixLower(char *, char *); -boolean strSuffixLower(char *, char *); +void setString(char **, const char *); +boolean strEqual(const char *, const char *); +boolean strEqualN(const char *, const char *, int); +boolean strEqualCase(const char *, const char *); +boolean strEqualCaseN(const char *, const char *, int); +boolean strPrefix(const char *, const char *); +boolean strSuffix(const char *, const char *); +boolean strPrefixLower(const char *, const char *); +boolean strSuffixLower(const char *, const char *); +boolean isURL(const char *); void GetOptions(int, char **, void (*print_usage_function)(void), @@ -185,6 +203,7 @@ void clear_mem(void *, unsigned int); void swap_numbers(int *, int *); void swap_number_pairs(int *, int *, int *, int *); +int get_number_of_bits(int); int getFile8BitInteger(File *); int putFile8BitInteger(FILE *, int); @@ -220,6 +239,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 *); @@ -247,14 +272,16 @@ 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 *); DirectoryEntry *readDirectory(Directory *); void freeDirectoryEntry(DirectoryEntry *); -boolean directoryExists(char *); -boolean fileExists(char *); +boolean directoryExists(const char *); +boolean fileExists(const char *); + boolean FileIsGraphic(char *); boolean FileIsSound(char *); boolean FileIsMusic(char *); @@ -269,10 +296,11 @@ void LoadArtworkConfig(struct ArtworkListInfo *); void ReloadCustomArtworkList(struct ArtworkListInfo *); void FreeCustomArtworkLists(struct ArtworkListInfo *); +char *getLogBasename(char *); char *getLogFilename(char *); -void OpenLogFiles(void); -void CloseLogFiles(void); -void DumpLogFile(int); +void OpenLogFile(void); +void CloseLogFile(void); +void DumpLogFile(void); void NotifyUserAboutErrorFile(void);