X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fmisc.h;h=c69d5f5c2f01c24b41cb49593d52fb6b0d4bc8e1;hp=b89be4e87d6382ef19d4305f876d28364a97692f;hb=37a06df577bbfd00f4b361f92cacb0d97036ba93;hpb=ea6e4698905d7440a265e323d03cf13fc323c44b diff --git a/src/libgame/misc.h b/src/libgame/misc.h index b89be4e8..c69d5f5c 100644 --- a/src/libgame/misc.h +++ b/src/libgame/misc.h @@ -69,6 +69,7 @@ void fprintf_line(FILE *, char *, int); void printf_line(char *, int); +void printf_line_with_prefix(char *, char *, int); char *int2str(int, int); char *i_to_a(unsigned int); int log_2(unsigned int); @@ -118,19 +119,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) @@ -139,6 +147,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)