X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fconfig.c;h=8c4f1b5a8602e10069126e582d721b170f419b8a;hp=5e8add2a31620885c21728b482c33e2abd724493;hb=f37c86753d5005bf7ae341d0cbcc15ef75393567;hpb=dff0e0c8702770fe23992f07964ebe9ed54e9f7c diff --git a/src/config.c b/src/config.c index 5e8add2a..8c4f1b5a 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,74 +15,112 @@ #include "conftime.h" -char *getCompileDateString() +char *getSourceDateString(void) { - return COMPILE_DATE_STRING; + return SOURCE_DATE_STRING; } -char *getProgramReleaseVersionString() +char *getProgramTitleString(void) { - static char program_version_string[32]; - - sprintf(program_version_string, "%d.%d.%d", - PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, PROGRAM_VERSION_PATCH); - - return program_version_string; + return program.program_title; } -char *getProgramFullVersionString() +char *getProgramRealVersionString(void) { static char program_version_string[32]; - sprintf(program_version_string, "%d.%d.%d-%d", - PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, PROGRAM_VERSION_PATCH, - PROGRAM_VERSION_BUILD); + sprintf(program_version_string, "%d.%d.%d.%d%s", + PROGRAM_VERSION_SUPER, PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, + PROGRAM_VERSION_PATCH, PROGRAM_VERSION_EXTRA); return program_version_string; } -char *getProgramVersionString() +char *getProgramVersionString(void) { -#ifdef DEBUG - return getProgramFullVersionString(); -#else - return getProgramReleaseVersionString(); -#endif + return program.version_string; } -char *getProgramInitString() +char *getProgramInitString(void) { static char *program_init_string = NULL; if (program_init_string == NULL) { - program_init_string = checked_malloc(strlen(PROGRAM_TITLE_STRING) + 1 + - strlen(getProgramVersionString()) +1 + - strlen(TARGET_STRING) + 1); + program_init_string = checked_malloc(strlen(getProgramTitleString()) + 1 + + strlen(getProgramVersionString()) + 1); - sprintf(program_init_string, "%s %s %s", - PROGRAM_TITLE_STRING, getProgramVersionString(), TARGET_STRING); + sprintf(program_init_string, "%s %s", + getProgramTitleString(), getProgramVersionString()); } return program_init_string; } -char *getWindowTitleString() +char *getConfigProgramTitleString(void) +{ + TreeInfo *graphics_current = + getArtworkTreeInfoForUserLevelSet(ARTWORK_TYPE_GRAPHICS); + + return (leveldir_current->program_title ? + leveldir_current->program_title : + graphics_current->program_title ? + graphics_current->program_title : + setup.internal.program_title); +} + +char *getConfigProgramCopyrightString(void) +{ + TreeInfo *graphics_current = + getArtworkTreeInfoForUserLevelSet(ARTWORK_TYPE_GRAPHICS); + + return (leveldir_current->program_copyright ? + leveldir_current->program_copyright : + graphics_current->program_copyright ? + graphics_current->program_copyright : + setup.internal.program_copyright); +} + +char *getConfigProgramCompanyString(void) +{ + TreeInfo *graphics_current = + getArtworkTreeInfoForUserLevelSet(ARTWORK_TYPE_GRAPHICS); + + return (leveldir_current->program_company ? + leveldir_current->program_company : + graphics_current->program_company ? + graphics_current->program_company : + setup.internal.program_company); +} + +char *getWindowTitleString(void) { -#ifdef DEBUG static char *window_title_string = NULL; - if (window_title_string == NULL) - { - window_title_string = checked_malloc(strlen(getProgramInitString()) + 1 + - strlen(getCompileDateString()) + 2 +1); + checked_free(window_title_string); +#ifdef DEBUG + window_title_string = checked_malloc(strlen(getProgramInitString()) + 20 + + strlen(getSourceDateString()) + 2 + 1); + + if (setup.internal.show_scaling_in_title) + sprintf(window_title_string, "%s (%d %%) [%s]", + getProgramInitString(), video.window_scaling_percent, + getSourceDateString()); + else sprintf(window_title_string, "%s [%s]", - getProgramInitString(), getCompileDateString()); - } - - return window_title_string; + getProgramInitString(), + getSourceDateString()); #else - return getProgramInitString(); + window_title_string = checked_malloc(strlen(getProgramInitString()) + 20); + + if (setup.internal.show_scaling_in_title) + sprintf(window_title_string, "%s (%d %%)", + getProgramInitString(), video.window_scaling_percent); + else + sprintf(window_title_string, "%s", + getProgramInitString()); #endif + + return window_title_string; }