X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.h;h=5d6084f13e04b33f1792ad23700e21cdb4927e48;hb=466240bdd432835656962afbc3ab9ed9f9d5797a;hp=98cc3fe12670a6a60d67fc18b063d9b976e8ab4f;hpb=8bee1f8bc2232bd6775c402f9f630e92d901593f;p=rocksndiamonds.git diff --git a/src/libgame/misc.h b/src/libgame/misc.h index 98cc3fe1..5d6084f1 100644 --- a/src/libgame/misc.h +++ b/src/libgame/misc.h @@ -1,15 +1,13 @@ -/*********************************************************** -* 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 +// https://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// misc.h +// ============================================================================ #ifndef MISC_H #define MISC_H @@ -21,11 +19,11 @@ #include "system.h" -/* values for InitCounter() and Counter() */ +// values for InitCounter() and Counter() #define INIT_COUNTER 0 #define READ_COUNTER 1 -/* values for InitRND() */ +// values for InitRND() #define NEW_RANDOMIZE 0 #define RANDOM_ENGINE 0 @@ -36,54 +34,32 @@ #define GetEngineRandom(max) get_random_number(RANDOM_ENGINE, max) #define GetSimpleRandom(max) get_random_number(RANDOM_SIMPLE, max) -/* values for Error() */ -#define ERR_UNKNOWN 0 -#define ERR_DEBUG (1 << 0) -#define ERR_INFO (1 << 1) -#define ERR_INFO_LINE (1 << 2) -#define ERR_WARN (1 << 3) -#define ERR_EXIT (1 << 4) -#define ERR_HELP (1 << 5) -#define ERR_SOUND_SERVER (1 << 6) -#define ERR_NETWORK_SERVER (1 << 7) -#define ERR_NETWORK_CLIENT (1 << 8) -#define ERR_FROM_SERVER (ERR_SOUND_SERVER | ERR_NETWORK_SERVER) -#define ERR_EXIT_HELP (ERR_EXIT | ERR_HELP) -#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...() */ +// values for getFile...() and putFile...() #define BYTE_ORDER_BIG_ENDIAN 0 #define BYTE_ORDER_LITTLE_ENDIAN 1 -/* values for cursor bitmap creation */ +// values for cursor bitmap creation #define BIT_ORDER_MSB 0 #define BIT_ORDER_LSB 1 -/* values for createDirectory() */ +// values for createDirectory() #define PERMS_PRIVATE 0 #define PERMS_PUBLIC 1 -/* values for general file handling stuff */ +// values for general file handling stuff #define MAX_FILENAME_LEN 256 #define MAX_LINE_LEN 1024 -/* values for general username handling stuff */ +// values for general username handling stuff #define MAX_USERNAME_LEN 1024 #if defined(PLATFORM_ANDROID) -/* values for Android asset handling */ +// values for Android asset handling #define ASSET_TOC_BASENAME ".toc" #endif -/* structure definitions */ +// structure definitions typedef struct { @@ -118,11 +94,26 @@ typedef struct } Directory; -/* function definitions */ +// 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 PrintNoLog(char *, ...); +void PrintLine(char *, int); +void PrintLineWithPrefix(char *, char *, int); + +void DebugContinued(char *, char *, ...); +void Debug(char *, char *, ...); +void Info(char *, ...); +void Warn(char *, ...); +void Error(char *, ...); +void Fail(char *, ...); +void FailWithHelp(char *, ...); + char *int2str(int, int); char *i_to_a(unsigned int); int log_2(unsigned int); @@ -132,13 +123,24 @@ boolean getTokenValueFromString(char *, char **, char **); 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); +#if defined(PLATFORM_UNIX) +char *getUnixLoginName(void); +char *getUnixRealName(void); +char *getUnixHomeDir(void); +#endif + char *getLoginName(void); char *getRealName(void); @@ -147,6 +149,7 @@ time_t getFileTimestampEpochSeconds(char *); char *getBasePath(char *); char *getBaseName(char *); char *getBaseNamePtr(char *); +char *getBaseNameNoSuffix(char *); char *getStringCat2WithSeparator(char *, char *, char *); char *getStringCat3WithSeparator(char *, char *, char *, char *); @@ -154,6 +157,8 @@ char *getStringCat2(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); @@ -166,11 +171,9 @@ boolean strSuffix(char *, char *); boolean strPrefixLower(char *, char *); boolean strSuffixLower(char *, char *); -void GetOptions(char **, void (*print_usage_function)(void)); - -void SetError(char *, ...); -char *GetError(void); -void Error(int, char *, ...); +void GetOptions(int, char **, + void (*print_usage_function)(void), + void (*print_version_function)(void)); void *checked_malloc(unsigned int); void *checked_calloc(unsigned int); @@ -181,8 +184,6 @@ void clear_mem(void *, unsigned int); 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); @@ -201,28 +202,6 @@ void WriteBytesToFile(FILE *, byte *, unsigned 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) @@ -249,6 +228,7 @@ char getValidConfigValueChar(char); int get_integer_from_string(char *); boolean get_boolean_from_string(char *); int get_switch3_from_string(char *); +int get_player_nr_from_string(char *); ListNode *newListNode(void); void addNodeToList(ListNode **, char *, void *); @@ -260,9 +240,11 @@ File *openFile(char *, char *); int closeFile(File *); int checkEndOfFile(File *); size_t readFile(File *, void *, size_t, size_t); +size_t writeFile(File *, void *, size_t, size_t); int seekFile(File *, long, int); int getByteFromFile(File *); char *getStringFromFile(File *, char *, int); +int copyFile(char *, char *); Directory *openDirectory(char *); int closeDirectory(Directory *); @@ -278,11 +260,6 @@ boolean FileIsArtworkType(char *, int); char *get_mapped_token(char *); -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); @@ -290,11 +267,12 @@ void LoadArtworkConfig(struct ArtworkListInfo *); void ReloadCustomArtworkList(struct ArtworkListInfo *); void FreeCustomArtworkLists(struct ArtworkListInfo *); -char *getErrorFilename(char *); -void openErrorFile(); -void closeErrorFile(); -void dumpErrorFile(); -void NotifyUserAboutErrorFile(); +char *getLogFilename(char *); +void OpenLogFiles(void); +void CloseLogFiles(void); +void DumpLogFile(int); + +void NotifyUserAboutErrorFile(void); #if DEBUG void debug_print_timestamp(int, char *); @@ -304,4 +282,4 @@ void print_timestamp_time(char *); void print_timestamp_done(char *); -#endif /* MISC_H */ +#endif // MISC_H