added custom version string to default program configuration settings
[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 *getSourceDateString()
19 {
20   return SOURCE_DATE_STRING;
21 }
22
23 char *getProgramTitleString()
24 {
25   return program.program_title;
26 }
27
28 char *getProgramRealVersionString()
29 {
30   static char program_version_string[32];
31
32   sprintf(program_version_string, "%d.%d.%d.%d%s",
33           PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, PROGRAM_VERSION_PATCH,
34           PROGRAM_VERSION_BUILD, PROGRAM_VERSION_EXTRA);
35
36   return program_version_string;
37 }
38
39 char *getProgramVersionString()
40 {
41   return program.version_string;
42 }
43
44 char *getProgramInitString()
45 {
46   static char *program_init_string = NULL;
47
48   if (program_init_string == NULL)
49   {
50     program_init_string = checked_malloc(strlen(getProgramTitleString()) + 1 +
51                                          strlen(getProgramVersionString()) + 1);
52
53     sprintf(program_init_string, "%s %s",
54             getProgramTitleString(), getProgramVersionString());
55   }
56
57   return program_init_string;
58 }
59
60 char *getWindowTitleString()
61 {
62   static char *window_title_string = NULL;
63
64   checked_free(window_title_string);
65
66 #if defined(TARGET_SDL2)
67
68 #ifdef DEBUG
69   window_title_string = checked_malloc(strlen(getProgramInitString()) + 20 +
70                                        strlen(getSourceDateString()) + 2 + 1);
71
72   sprintf(window_title_string, "%s (%d %%) [%s]",
73           getProgramInitString(), video.window_scaling_percent,
74           getSourceDateString());
75 #else
76   window_title_string = checked_malloc(strlen(getProgramInitString()) + 20);
77
78   sprintf(window_title_string, "%s (%d %%)",
79           getProgramInitString(), video.window_scaling_percent);
80 #endif
81
82 #else
83
84 #ifdef DEBUG
85   window_title_string = checked_malloc(strlen(getProgramInitString()) + 1 +
86                                        strlen(getSourceDateString()) + 2 + 1);
87
88   sprintf(window_title_string, "%s [%s]",
89           getProgramInitString(), getSourceDateString());
90 #else
91   window_title_string = checked_malloc(strlen(getProgramInitString()) + 1);
92
93   sprintf(window_title_string, "%s",
94           getProgramInitString());
95 #endif
96
97 #endif
98
99   return window_title_string;
100 }