X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fconfig.c;h=e44e8348c25a946890cb6d291dad8ef9ba398a75;hb=abe44529b439ad39b4d8dbf19cbd67c9b9844279;hp=deea1f84983a704c3986ffd58dbfeda10ead15ca;hpb=90c3a49422dd88de77ffc7b8dd1d4f1d73d0d9a3;p=rocksndiamonds.git diff --git a/src/config.c b/src/config.c index deea1f84..e44e8348 100644 --- a/src/config.c +++ b/src/config.c @@ -1,15 +1,13 @@ -/*********************************************************** -* Rocks'n'Diamonds -- McDuffin Strikes Back! * -*----------------------------------------------------------* -* (c) 1995-2006 Artsoft Entertainment * -* Holger Schemel * -* Detmolder Strasse 189 * -* 33604 Bielefeld * -* Germany * -* e-mail: info@artsoft.org * -*----------------------------------------------------------* -* config.c * -***********************************************************/ +// ============================================================================ +// Rocks'n'Diamonds - McDuffin Strikes Back! +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// http://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// config.c +// ============================================================================ #include "libgame/libgame.h" @@ -17,12 +15,20 @@ #include "conftime.h" -char *getProgramVersionString() +#define USE_EXTENDED_VERSION 1 + + +char *getCompileDateString() +{ + return COMPILE_DATE_STRING; +} + +char *getProgramReleaseVersionString() { static char program_version_string[32]; -#ifdef DEBUG - sprintf(program_version_string, "%d.%d.%d-%d", +#if USE_EXTENDED_VERSION + sprintf(program_version_string, "%d.%d.%d.%d", PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, PROGRAM_VERSION_PATCH, PROGRAM_VERSION_BUILD); #else @@ -33,39 +39,102 @@ char *getProgramVersionString() return program_version_string; } +char *getProgramFullVersionString() +{ + static char program_version_string[32]; + +#if USE_EXTENDED_VERSION + sprintf(program_version_string, "%d.%d.%d.%d", + PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, PROGRAM_VERSION_PATCH, + PROGRAM_VERSION_BUILD); +#else + sprintf(program_version_string, "%d.%d.%d-%d", + PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, PROGRAM_VERSION_PATCH, + PROGRAM_VERSION_BUILD); +#endif + + return program_version_string; +} + +char *getProgramVersionString() +{ +#ifdef DEBUG + return getProgramFullVersionString(); +#else + return getProgramReleaseVersionString(); +#endif +} + char *getProgramInitString() { static char *program_init_string = NULL; +#if 1 + // do not display compile target anymore, as it is almost always "SDL" now if (program_init_string == NULL) { program_init_string = checked_malloc(strlen(PROGRAM_TITLE_STRING) + 1 + - strlen(getProgramVersionString()) +1 + + strlen(getProgramVersionString()) + 1); + + sprintf(program_init_string, "%s %s", + PROGRAM_TITLE_STRING, getProgramVersionString()); + } +#else + if (program_init_string == NULL) + { + program_init_string = checked_malloc(strlen(PROGRAM_TITLE_STRING) + 1 + + strlen(getProgramVersionString()) + 1 + strlen(TARGET_STRING) + 1); sprintf(program_init_string, "%s %s %s", PROGRAM_TITLE_STRING, getProgramVersionString(), TARGET_STRING); } +#endif return program_init_string; } char *getWindowTitleString() { +#if 1 + static char *window_title_string = NULL; + + checked_free(window_title_string); + +#ifdef DEBUG + window_title_string = checked_malloc(strlen(getProgramInitString()) + 20 + + strlen(getCompileDateString()) + 2 + 1); + + sprintf(window_title_string, "%s (%d %%) [%s]", + getProgramInitString(), setup.window_scaling_percent, + getCompileDateString()); +#else + window_title_string = checked_malloc(strlen(getProgramInitString()) + 20); + + sprintf(window_title_string, "%s (%d %%)", + getProgramInitString(), setup.window_scaling_percent); +#endif + + return window_title_string; + +#else + #ifdef DEBUG static char *window_title_string = NULL; if (window_title_string == NULL) { window_title_string = checked_malloc(strlen(getProgramInitString()) + 1 + - strlen(COMPILE_DATE_STRING) + 1); + strlen(getCompileDateString()) + 2 +1); - sprintf(window_title_string, "%s %s", - getProgramInitString(), COMPILE_DATE_STRING); + sprintf(window_title_string, "%s [%s]", + getProgramInitString(), getCompileDateString()); } return window_title_string; #else return getProgramInitString(); #endif + +#endif }