major cleanup of preprocessor hell
[rocksndiamonds.git] / src / config.c
1 // ============================================================================
2 // Rocks'n'Diamonds - McDuffin Strikes Back!
3 // ----------------------------------------------------------------------------
4 // (c) 1995-2014 by Artsoft Entertainment
5 //                  Holger Schemel
6 //                  info@artsoft.org
7 //                  http://www.artsoft.org/
8 // ----------------------------------------------------------------------------
9 // config.c
10 // ============================================================================
11
12 #include "libgame/libgame.h"
13
14 #include "config.h"
15 #include "conftime.h"
16
17
18 char *getCompileDateString()
19 {
20   return COMPILE_DATE_STRING;
21 }
22
23 char *getProgramVersionString()
24 {
25   static char program_version_string[32];
26
27   sprintf(program_version_string, "%d.%d.%d.%d",
28           PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, PROGRAM_VERSION_PATCH,
29           PROGRAM_VERSION_BUILD);
30
31   return program_version_string;
32 }
33
34 char *getProgramInitString()
35 {
36   static char *program_init_string = NULL;
37
38   if (program_init_string == NULL)
39   {
40     program_init_string = checked_malloc(strlen(PROGRAM_TITLE_STRING) + 1 +
41                                          strlen(getProgramVersionString()) + 1);
42
43     sprintf(program_init_string, "%s %s",
44             PROGRAM_TITLE_STRING, getProgramVersionString());
45   }
46
47   return program_init_string;
48 }
49
50 char *getWindowTitleString()
51 {
52   static char *window_title_string = NULL;
53
54   checked_free(window_title_string);
55
56 #ifdef DEBUG
57   window_title_string = checked_malloc(strlen(getProgramInitString()) + 20 +
58                                        strlen(getCompileDateString()) + 2 + 1);
59
60   sprintf(window_title_string, "%s (%d %%) [%s]",
61           getProgramInitString(), setup.window_scaling_percent,
62           getCompileDateString());
63 #else
64   window_title_string = checked_malloc(strlen(getProgramInitString()) + 20);
65
66   sprintf(window_title_string, "%s (%d %%)",
67           getProgramInitString(), setup.window_scaling_percent);
68 #endif
69
70   return window_title_string;
71 }