-/***********************************************************
-* Artsoft Retro-Game Library *
-*----------------------------------------------------------*
-* (c) 1994-2006 Artsoft Entertainment *
-* Holger Schemel *
-* Detmolder Strasse 189 *
-* 33604 Bielefeld *
-* Germany *
-* e-mail: info@artsoft.org *
-*----------------------------------------------------------*
-* misc.h *
-***********************************************************/
+// ============================================================================
+// Artsoft Retro-Game Library
+// ----------------------------------------------------------------------------
+// (c) 1995-2014 by Artsoft Entertainment
+// Holger Schemel
+// info@artsoft.org
+// http://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// misc.h
+// ============================================================================
#ifndef MISC_H
#define MISC_H
#define ERR_EXIT_SOUND_SERVER (ERR_EXIT | ERR_SOUND_SERVER)
#define ERR_EXIT_NETWORK_SERVER (ERR_EXIT | ERR_NETWORK_SERVER)
#define ERR_EXIT_NETWORK_CLIENT (ERR_EXIT | ERR_NETWORK_CLIENT)
-#if 0
-#define ERR_ERROR (ERR_UNKNOWN)
-#define ERR_FATAL (ERR_EXIT)
-#define ERR_VERBOSE (ERR_INFO)
-#endif
/* values for getFile...() and putFile...() */
#define BYTE_ORDER_BIG_ENDIAN 0
/* function definitions */
void fprintf_line(FILE *, char *, int);
+void fprintf_line_with_prefix(FILE *, char *, char *, int);
void printf_line(char *, int);
void printf_line_with_prefix(char *, char *, int);
+
+void Print(char *, ...);
+void PrintLine(char *, int);
+void PrintLineWithPrefix(char *, char *, int);
+
char *int2str(int, int);
char *i_to_a(unsigned int);
int log_2(unsigned int);
void InitCounter(void);
unsigned int Counter(void);
void Delay(unsigned int);
+boolean DelayReachedExt(unsigned int *, unsigned int, unsigned int);
boolean FrameReached(unsigned int *, unsigned int);
boolean DelayReached(unsigned int *, unsigned int);
-void WaitUntilDelayReached(unsigned int *, unsigned int);
+void ResetDelayCounterExt(unsigned int *, unsigned int);
+void ResetFrameCounter(unsigned int *);
+void ResetDelayCounter(unsigned int *);
+int WaitUntilDelayReached(unsigned int *, unsigned int);
+void SkipUntilDelayReached(unsigned int *, unsigned int, int *, int);
unsigned int init_random_number(int, int);
unsigned int get_random_number(int, int);
char *getBasePath(char *);
char *getBaseName(char *);
char *getBaseNamePtr(char *);
+char *getBaseNameNoSuffix(char *);
char *getStringCat2WithSeparator(char *, char *, char *);
char *getStringCat3WithSeparator(char *, char *, char *, char *);
char *getStringCat3(char *, char *, char *);
char *getPath2(char *, char *);
char *getPath3(char *, char *, char*);
+char *getImg2(char *, char *);
+char *getImg3(char *, char *, char*);
char *getStringCopy(const char *);
char *getStringCopyN(const char *, int);
char *getStringCopyNStatic(const char *, int);
boolean strPrefixLower(char *, char *);
boolean strSuffixLower(char *, char *);
-void GetOptions(char **,
+void GetOptions(int, char **,
void (*print_usage_function)(void),
void (*print_version_function)(void));
void swap_numbers(int *, int *);
void swap_number_pairs(int *, int *, int *, int *);
-#if 1
-
int getFile8BitInteger(File *);
int putFile8BitInteger(FILE *, int);
int getFile16BitInteger(File *, int);
void ReadUnusedBytesFromFile(File *, unsigned int);
void WriteUnusedBytesToFile(FILE *, unsigned int);
-#else
-
-int getFile8BitInteger(FILE *);
-int putFile8BitInteger(FILE *, int);
-int getFile16BitInteger(FILE *, int);
-int putFile16BitInteger(FILE *, int, int);
-int getFile32BitInteger(FILE *, int);
-int putFile32BitInteger(FILE *, int, int);
-
-boolean getFileChunk(FILE *, char *, int *, int);
-int putFileChunk(FILE *, char *, int, int);
-int getFileVersion(FILE *);
-int putFileVersion(FILE *, int);
-
-void ReadBytesFromFile(FILE *, byte *, unsigned int);
-void WriteBytesToFile(FILE *, byte *, unsigned int);
-
-void ReadUnusedBytesFromFile(FILE *, unsigned int);
-void WriteUnusedBytesToFile(FILE *, unsigned int);
-
-#endif
-
#define getFile8Bit(f) getFile8BitInteger(f)
#define putFile8Bit(f,x) putFile8BitInteger(f,x)
#define getFile16BitBE(f) getFile16BitInteger(f,BYTE_ORDER_BIG_ENDIAN)
int get_parameter_value(char *, char *, int);
-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 *,
char **, int);
void ReloadCustomArtworkList(struct ArtworkListInfo *);
void FreeCustomArtworkLists(struct ArtworkListInfo *);
-char *getErrorFilename(char *);
-void openErrorFile();
-void closeErrorFile();
-void dumpErrorFile();
+char *getLogFilename(char *);
+void OpenLogFiles();
+void CloseLogFiles();
+void DumpLogFile(int);
+
void NotifyUserAboutErrorFile();
#if DEBUG