fixed fading complete screen if playfield viewport has changed
[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   if (setup.internal.show_scaling_in_title)
73     sprintf(window_title_string, "%s (%d %%) [%s]",
74             getProgramInitString(), video.window_scaling_percent,
75             getSourceDateString());
76   else
77     sprintf(window_title_string, "%s [%s]",
78             getProgramInitString(),
79             getSourceDateString());
80 #else
81   window_title_string = checked_malloc(strlen(getProgramInitString()) + 20);
82
83   if (setup.internal.show_scaling_in_title)
84     sprintf(window_title_string, "%s (%d %%)",
85             getProgramInitString(), video.window_scaling_percent);
86   else
87     sprintf(window_title_string, "%s",
88             getProgramInitString());
89 #endif
90
91 #else
92
93 #ifdef DEBUG
94   window_title_string = checked_malloc(strlen(getProgramInitString()) + 1 +
95                                        strlen(getSourceDateString()) + 2 + 1);
96
97   sprintf(window_title_string, "%s [%s]",
98           getProgramInitString(), getSourceDateString());
99 #else
100   window_title_string = checked_malloc(strlen(getProgramInitString()) + 1);
101
102   sprintf(window_title_string, "%s",
103           getProgramInitString());
104 #endif
105
106 #endif
107
108   return window_title_string;
109 }