fixed window title for non-SDL2 target (window scaling info)
[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 #if defined(TARGET_SDL2)
57
58 #ifdef DEBUG
59   window_title_string = checked_malloc(strlen(getProgramInitString()) + 20 +
60                                        strlen(getCompileDateString()) + 2 + 1);
61
62   sprintf(window_title_string, "%s (%d %%) [%s]",
63           getProgramInitString(), setup.window_scaling_percent,
64           getCompileDateString());
65 #else
66   window_title_string = checked_malloc(strlen(getProgramInitString()) + 20);
67
68   sprintf(window_title_string, "%s (%d %%)",
69           getProgramInitString(), setup.window_scaling_percent);
70 #endif
71
72 #else
73
74 #ifdef DEBUG
75   window_title_string = checked_malloc(strlen(getProgramInitString()) + 1 +
76                                        strlen(getCompileDateString()) + 2 + 1);
77
78   sprintf(window_title_string, "%s [%s]",
79           getProgramInitString(), getCompileDateString());
80 #else
81   window_title_string = checked_malloc(strlen(getProgramInitString()) + 1);
82
83   sprintf(window_title_string, "%s",
84           getProgramInitString());
85 #endif
86
87 #endif
88
89   return window_title_string;
90 }