X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fconfig.c;h=608b066ed64f89aa3ed42b81a0e9a24a8965de0f;hp=9c6ff21e791752bad96c49c10f1429d244c0ba40;hb=0d214d4e314f6f42df24be140bb433e980319767;hpb=b59a0eedca464cba38e8a6bcfae54db32ac6b15e diff --git a/src/config.c b/src/config.c index 9c6ff21e..608b066e 100644 --- a/src/config.c +++ b/src/config.c @@ -1,30 +1,95 @@ -/*********************************************************** -* Rocks'n'Diamonds -- McDuffin Strikes Back! * -*----------------------------------------------------------* -* (c) 1995-2002 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" #include "config.h" -#include "timestamp.h" +#include "conftime.h" -/* use timestamp created at compile-time */ -#define PROGRAM_BUILD_STRING PROGRAM_IDENT_STRING " " COMPILE_DATE_STRING -#ifdef DEBUG -#undef WINDOW_TITLE_STRING -#define WINDOW_TITLE_STRING PROGRAM_TITLE_STRING " " PROGRAM_BUILD_STRING -#endif +char *getSourceDateString() +{ + return SOURCE_DATE_STRING; +} + +char *getProgramTitleString() +{ + return program.program_title; +} + +char *getProgramVersionString() +{ + static char program_version_string[32]; + + sprintf(program_version_string, "%d.%d.%d.%d%s", + PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, PROGRAM_VERSION_PATCH, + PROGRAM_VERSION_BUILD, PROGRAM_VERSION_EXTRA); + + return program_version_string; +} + +char *getProgramInitString() +{ + static char *program_init_string = NULL; + + if (program_init_string == NULL) + { + program_init_string = checked_malloc(strlen(getProgramTitleString()) + 1 + + strlen(getProgramVersionString()) + 1); + + sprintf(program_init_string, "%s %s", + getProgramTitleString(), getProgramVersionString()); + } + + return program_init_string; +} char *getWindowTitleString() { - return WINDOW_TITLE_STRING; + static char *window_title_string = NULL; + + checked_free(window_title_string); + +#if defined(TARGET_SDL2) + +#ifdef DEBUG + window_title_string = checked_malloc(strlen(getProgramInitString()) + 20 + + strlen(getSourceDateString()) + 2 + 1); + + sprintf(window_title_string, "%s (%d %%) [%s]", + getProgramInitString(), video.window_scaling_percent, + getSourceDateString()); +#else + window_title_string = checked_malloc(strlen(getProgramInitString()) + 20); + + sprintf(window_title_string, "%s (%d %%)", + getProgramInitString(), video.window_scaling_percent); +#endif + +#else + +#ifdef DEBUG + window_title_string = checked_malloc(strlen(getProgramInitString()) + 1 + + strlen(getSourceDateString()) + 2 + 1); + + sprintf(window_title_string, "%s [%s]", + getProgramInitString(), getSourceDateString()); +#else + window_title_string = checked_malloc(strlen(getProgramInitString()) + 1); + + sprintf(window_title_string, "%s", + getProgramInitString()); +#endif + +#endif + + return window_title_string; }