X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.h;h=8732a8cddf0a5c8ec500b13c66a937913475709d;hb=b6847742a0713d8ed21bb6104476db54f8c1a4b9;hp=1e6692e24d3b8eee26114fe2b4cbace2d95f21d5;hpb=b124c56f1cf069a6c77802919b1a9cbbedb77029;p=rocksndiamonds.git diff --git a/src/libgame/misc.h b/src/libgame/misc.h index 1e6692e2..8732a8cd 100644 --- a/src/libgame/misc.h +++ b/src/libgame/misc.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2002 Artsoft Entertainment * +* (c) 1994-2006 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -25,16 +25,19 @@ #define READ_COUNTER 1 /* values for InitRND() */ -#define NEW_RANDOMIZE -1 +#define NEW_RANDOMIZE 0 -#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) +#define RANDOM_ENGINE 0 +#define RANDOM_SIMPLE 1 + +#define InitEngineRandom(seed) init_random_number(RANDOM_ENGINE, seed) +#define InitSimpleRandom(seed) init_random_number(RANDOM_SIMPLE, seed) +#define GetEngineRandom(max) get_random_number(RANDOM_ENGINE, max) +#define GetSimpleRandom(max) get_random_number(RANDOM_SIMPLE, max) /* values for Error() */ -#define ERR_RETURN 0 -#define ERR_RETURN_LINE (1 << 0) +#define ERR_INFO 0 +#define ERR_INFO_LINE (1 << 0) #define ERR_WARN (1 << 1) #define ERR_EXIT (1 << 2) #define ERR_HELP (1 << 3) @@ -74,6 +77,8 @@ char *int2str(int, int); char *i_to_a(unsigned int); int log_2(unsigned int); +boolean getTokenValueFromString(char *, char **, char **); + void InitCounter(void); unsigned long Counter(void); void Delay(unsigned long); @@ -81,32 +86,35 @@ 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 *getBaseNamePtr(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 *getStringCat2(char *, char *); char *getStringCopy(char *); +char *getStringCopyN(char *, int); char *getStringToLower(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 GetOptions(char **, void (*print_usage_function)(void)); +void GetOptions(char **, void (*print_usage_function)(void), + unsigned long (*get_cmd_switch_function)(char *)); void SetError(char *, ...); char *GetError(void); @@ -116,6 +124,7 @@ void *checked_malloc(unsigned long); void *checked_calloc(unsigned long); void *checked_realloc(void *, unsigned long); void checked_free(void *); +void clear_mem(void *, unsigned long); void swap_numbers(int *, int *); void swap_number_pairs(int *, int *, int *, int *); @@ -128,9 +137,9 @@ int getFile32BitInteger(FILE *, int); int putFile32BitInteger(FILE *, int, int); boolean getFileChunk(FILE *, char *, int *, int); -void putFileChunk(FILE *, char *, int, int); +int putFileChunk(FILE *, char *, int, int); int getFileVersion(FILE *); -void putFileVersion(FILE *, int); +int putFileVersion(FILE *, int); void ReadBytesFromFile(FILE *, byte *, unsigned long); void WriteBytesToFile(FILE *, byte *, unsigned long); @@ -159,9 +168,11 @@ char *getX11KeyNameFromKey(Key); Key getKeyFromKeyName(char *); Key getKeyFromX11KeyName(char *); char getCharFromKey(Key); +char getValidConfigValueChar(char); int get_integer_from_string(char *); boolean get_boolean_from_string(char *); +int get_switch3_from_string(char *); ListNode *newListNode(void); void addNodeToList(ListNode **, char *, void *); @@ -178,7 +189,9 @@ boolean FileIsArtworkType(char *, int); char *get_mapped_token(char *); int get_parameter_value(char *, char *, int); -int get_auto_parameter_value(char *, char *); + +struct ScreenModeInfo *get_screen_mode_from_string(char *); +void get_aspect_ratio_from_screen_mode(struct ScreenModeInfo *, int *x, int *y); struct FileInfo *getFileListFromConfigList(struct ConfigInfo *, struct ConfigTypeInfo *, @@ -187,11 +200,11 @@ void LoadArtworkConfig(struct ArtworkListInfo *); void ReloadCustomArtworkList(struct ArtworkListInfo *); void FreeCustomArtworkLists(struct ArtworkListInfo *); -#if !defined(PLATFORM_UNIX) -void initErrorFile(); -FILE *openErrorFile(); +char *getErrorFilename(char *); +void openErrorFile(); +void closeErrorFile(); void dumpErrorFile(); -#endif +void NotifyUserAboutErrorFile(); void debug_print_timestamp(int, char *);