X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.h;h=b89be4e87d6382ef19d4305f876d28364a97692f;hb=ea6e4698905d7440a265e323d03cf13fc323c44b;hp=21c184df59c689475e25ee45e9f2b658947a4e5d;hpb=c5ee7e4524f10322894b2547337e4c973a80a552;p=rocksndiamonds.git diff --git a/src/libgame/misc.h b/src/libgame/misc.h index 21c184df..b89be4e8 100644 --- a/src/libgame/misc.h +++ b/src/libgame/misc.h @@ -27,6 +27,11 @@ /* values for InitRND() */ #define NEW_RANDOMIZE -1 +#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) + /* values for Error() */ #define ERR_RETURN 0 #define ERR_RETURN_LINE (1 << 0) @@ -46,17 +51,27 @@ #define BYTE_ORDER_BIG_ENDIAN 0 #define BYTE_ORDER_LITTLE_ENDIAN 1 +/* values for cursor bitmap creation */ +#define BIT_ORDER_MSB 0 +#define BIT_ORDER_LSB 1 + /* values for createDirectory() */ #define PERMS_PRIVATE 0 #define PERMS_PUBLIC 1 /* values for general file handling stuff */ #define MAX_FILENAME_LEN 256 -#define MAX_LINE_LEN 1000 +#define MAX_LINE_LEN 1024 + +/* values for general username handling stuff */ +#define MAX_USERNAME_LEN 1024 + 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); @@ -65,21 +80,31 @@ boolean FrameReached(unsigned long *, unsigned long); boolean DelayReached(unsigned long *, unsigned long); void WaitUntilDelayReached(unsigned long *, unsigned long); +#if 0 unsigned int SimpleRND(unsigned int); +unsigned int InitSimpleRND(long); unsigned int RND(unsigned int); unsigned int InitRND(long); +#endif + +unsigned int init_random_number(int, long); +unsigned int get_random_number(int, int); 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 *); char *getStringCopy(char *); char *getStringToLower(char *); +void setString(char **, char *); -void GetOptions(char **); +void GetOptions(char **, void (*print_usage_function)(void)); void SetError(char *, ...); char *GetError(void); @@ -88,12 +113,13 @@ 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 getFile16BitInteger(FILE *, int); +void putFile16BitInteger(FILE *, int, int); int getFile32BitInteger(FILE *, int); void putFile32BitInteger(FILE *, int, int); boolean getFileChunk(FILE *, char *, int *, int); @@ -103,6 +129,8 @@ void putFileVersion(FILE *, int); void ReadUnusedBytesFromFile(FILE *, unsigned long); void WriteUnusedBytesToFile(FILE *, unsigned long); +#define getFile8Bit(f) fgetc(f) +#define putFile8Bit(f,x) fputc(x, f) #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) @@ -131,13 +159,20 @@ void deleteNodeFromList(ListNode **, char *, void (*function)(void *)); ListNode *getNodeFromKey(ListNode *, char *); int getNumNodes(ListNode *); +boolean fileExists(char *); boolean FileIsGraphic(char *); 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 *, int); + struct ConfigTypeInfo *, + char **, int); void LoadArtworkConfig(struct ArtworkListInfo *); void ReloadCustomArtworkList(struct ArtworkListInfo *); void FreeCustomArtworkLists(struct ArtworkListInfo *);