X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.h;h=caa57ea3d3bb799f995b094bc41da99bbb9739dc;hb=dce12aedb7f597d85daf4ae5dfc4e058ae2f7b5c;hp=0e771902b7dc156e31ef29342f44b5e08cb3438c;hpb=8c3a8e72f2bebc6a732f11cac24a4f3ca21dd730;p=rocksndiamonds.git diff --git a/src/libgame/misc.h b/src/libgame/misc.h index 0e771902..caa57ea3 100644 --- a/src/libgame/misc.h +++ b/src/libgame/misc.h @@ -27,7 +27,7 @@ /* values for InitRND() */ #define NEW_RANDOMIZE -1 -#define InitRND(seed) init_random_number(0, seed) +#define InitEngineRND(seed) init_random_number(0, seed) #define InitSimpleRND(seed) init_random_number(1, seed) #define RND(max) get_random_number(0, max) #define SimpleRND(max) get_random_number(1, max) @@ -71,6 +71,7 @@ void fprintf_line(FILE *, char *, int); void printf_line(char *, int); char *int2str(int, int); char *i_to_a(unsigned int); +int log_2(unsigned int); void InitCounter(void); unsigned long Counter(void); @@ -93,6 +94,9 @@ char *getLoginName(void); char *getRealName(void); char *getHomeDir(void); +char *getBasePath(char *); +char *getBaseName(char *); + char *getPath2(char *, char *); char *getPath3(char *, char *, char*); char *getStringCat2(char *, char *); @@ -109,23 +113,31 @@ void Error(int, char *, ...); void *checked_malloc(unsigned long); void *checked_calloc(unsigned long); void *checked_realloc(void *, unsigned long); +void checked_free(void *); inline void swap_numbers(int *, int *); inline void swap_number_pairs(int *, int *, int *, int *); -short getFile16BitInteger(FILE *, int); -void putFile16BitInteger(FILE *, short, int); +int getFile8BitInteger(FILE *); +int putFile8BitInteger(FILE *, int); +int getFile16BitInteger(FILE *, int); +int putFile16BitInteger(FILE *, int, int); int getFile32BitInteger(FILE *, int); -void putFile32BitInteger(FILE *, int, int); +int putFile32BitInteger(FILE *, int, int); + boolean getFileChunk(FILE *, char *, int *, int); void putFileChunk(FILE *, char *, int, int); int getFileVersion(FILE *); void putFileVersion(FILE *, int); + +void ReadBytesFromFile(FILE *, byte *, unsigned long); +void WriteBytesToFile(FILE *, byte *, unsigned long); + void ReadUnusedBytesFromFile(FILE *, unsigned long); void WriteUnusedBytesToFile(FILE *, unsigned long); -#define getFile8Bit(f) fgetc(f) -#define putFile8Bit(f,x) fputc(x, f) +#define getFile8Bit(f) getFile8BitInteger(f) +#define putFile8Bit(f,x) putFile8BitInteger(f,x) #define getFile16BitBE(f) getFile16BitInteger(f,BYTE_ORDER_BIG_ENDIAN) #define getFile16BitLE(f) getFile16BitInteger(f,BYTE_ORDER_LITTLE_ENDIAN) #define putFile16BitBE(f,x) putFile16BitInteger(f,x,BYTE_ORDER_BIG_ENDIAN) @@ -134,6 +146,7 @@ void WriteUnusedBytesToFile(FILE *, unsigned long); #define getFile32BitLE(f) getFile32BitInteger(f,BYTE_ORDER_LITTLE_ENDIAN) #define putFile32BitBE(f,x) putFile32BitInteger(f,x,BYTE_ORDER_BIG_ENDIAN) #define putFile32BitLE(f,x) putFile32BitInteger(f,x,BYTE_ORDER_LITTLE_ENDIAN) + #define getFileChunkBE(f,s,x) getFileChunk(f,s,x,BYTE_ORDER_BIG_ENDIAN) #define getFileChunkLE(f,s,x) getFileChunk(f,s,x,BYTE_ORDER_LITTLE_ENDIAN) #define putFileChunkBE(f,s,x) putFileChunk(f,s,x,BYTE_ORDER_BIG_ENDIAN) @@ -160,11 +173,14 @@ boolean FileIsSound(char *); boolean FileIsMusic(char *); boolean FileIsArtworkType(char *, int); +char *get_mapped_token(char *); + int get_parameter_value(char *, char *, int); int get_auto_parameter_value(char *, char *); struct FileInfo *getFileListFromConfigList(struct ConfigInfo *, - struct ConfigInfo *, char **, int); + struct ConfigTypeInfo *, + char **, int); void LoadArtworkConfig(struct ArtworkListInfo *); void ReloadCustomArtworkList(struct ArtworkListInfo *); void FreeCustomArtworkLists(struct ArtworkListInfo *);