X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.h;h=caa57ea3d3bb799f995b094bc41da99bbb9739dc;hb=dce12aedb7f597d85daf4ae5dfc4e058ae2f7b5c;hp=db836823007b5d242b35a7886c1bd304589d90ee;hpb=51dcb2097c619c5f9ba924a7edb4a3bdd6a6986e;p=rocksndiamonds.git diff --git a/src/libgame/misc.h b/src/libgame/misc.h index db836823..caa57ea3 100644 --- a/src/libgame/misc.h +++ b/src/libgame/misc.h @@ -94,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 *); @@ -115,19 +118,26 @@ void checked_free(void *); inline void swap_numbers(int *, int *); inline void swap_number_pairs(int *, int *, int *, int *); +int getFile8BitInteger(FILE *); +int putFile8BitInteger(FILE *, int); int getFile16BitInteger(FILE *, int); -void putFile16BitInteger(FILE *, int, 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) @@ -136,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)