Sun, 08 Sep 2013 16:14:58 +0300
Use the cfg:: namespace system I made up a while ago instead of using QSettings directly, it's unsafe
13
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
1 | /* |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
2 | * ZanDemo: Zandronum demo launcher |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
3 | * Copyright (C) 2013 Santeri Piippo |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
4 | * |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
5 | * This program is free software: you can redistribute it and/or modify |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
6 | * it under the terms of the GNU General Public License as published by |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
7 | * the Free Software Foundation, either version 3 of the License, or |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
8 | * (at your option) any later version. |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
9 | * |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
10 | * This program is distributed in the hope that it will be useful, |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
13 | * GNU General Public License for more details. |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
14 | * |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
15 | * You should have received a copy of the GNU General Public License |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
17 | */ |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
11
diff
changeset
|
18 | |
1 | 19 | #include <QApplication> |
20
a5457405cc9b
Use the cfg:: namespace system I made up a while ago instead of using QSettings directly, it's unsafe
Teemu Piippo <crimsondusk64@gmail.com>
parents:
13
diff
changeset
|
20 | #include "config.h" |
0 | 21 | #include "types.h" |
6
67b6ef6917ba
Now capable of actually launching demos
Teemu Piippo <crimsondusk64@gmail.com>
parents:
5
diff
changeset
|
22 | #include "demo.h" |
0 | 23 | |
1 | 24 | // ============================================================================= |
25 | // ----------------------------------------------------------------------------- | |
11
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
26 | int main (int argc, char* argv[]) { |
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
27 | QApplication app (argc, argv); |
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
28 | app.setApplicationName (UNIXNAME); |
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
29 | app.setOrganizationName (UNIXNAME); |
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
30 | app.setApplicationVersion (versionString()); |
3
d0b278fd29d5
Implemented wad path list
Teemu Piippo <crimsondusk64@gmail.com>
parents:
2
diff
changeset
|
31 | |
20
a5457405cc9b
Use the cfg:: namespace system I made up a while ago instead of using QSettings directly, it's unsafe
Teemu Piippo <crimsondusk64@gmail.com>
parents:
13
diff
changeset
|
32 | cfg::load(); |
a5457405cc9b
Use the cfg:: namespace system I made up a while ago instead of using QSettings directly, it's unsafe
Teemu Piippo <crimsondusk64@gmail.com>
parents:
13
diff
changeset
|
33 | |
11
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
34 | for (int i = 1; i < argc; ++i) { |
1 | 35 | str arg = argv[i]; |
36 | ||
11
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
37 | if (arg == "--config") { |
5
3c04e05ab24f
Added configs for Zandronum binary paths
Teemu Piippo <crimsondusk64@gmail.com>
parents:
3
diff
changeset
|
38 | ConfigBox dlg; |
3c04e05ab24f
Added configs for Zandronum binary paths
Teemu Piippo <crimsondusk64@gmail.com>
parents:
3
diff
changeset
|
39 | return dlg.exec(); |
1 | 40 | } |
41 | } | |
42 | ||
11
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
43 | if (argc != 2) { |
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
44 | fprint (stderr, "Usage: %1 <demo> - Launch a demo file\n", argv[0]); |
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
45 | fprint (stderr, " %1 --config - Configure " APPNAME "\n", argv[0]); |
6
67b6ef6917ba
Now capable of actually launching demos
Teemu Piippo <crimsondusk64@gmail.com>
parents:
5
diff
changeset
|
46 | return 255; |
67b6ef6917ba
Now capable of actually launching demos
Teemu Piippo <crimsondusk64@gmail.com>
parents:
5
diff
changeset
|
47 | } |
67b6ef6917ba
Now capable of actually launching demos
Teemu Piippo <crimsondusk64@gmail.com>
parents:
5
diff
changeset
|
48 | |
11
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
49 | return launchDemo (argv[1]); |
0 | 50 | } |
51 | ||
1 | 52 | // ============================================================================= |
53 | // ----------------------------------------------------------------------------- | |
5
3c04e05ab24f
Added configs for Zandronum binary paths
Teemu Piippo <crimsondusk64@gmail.com>
parents:
3
diff
changeset
|
54 | str versionString() { |
11
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
55 | str text = fmt ("v%1.%2", VERSION_MAJOR, VERSION_MINOR); |
0 | 56 | #if VERSION_PATCH != 0 |
11
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
57 | text += fmt (".%1", VERSION_PATCH); |
0 | 58 | #endif |
59 | ||
60 | #if BUILD_ID == BUILD_INTERNAL | |
61 | text += "-intern"; | |
62 | #elif BUILD_ID == BUILD_ALPHA | |
63 | text += "-alpha"; | |
64 | #elif BUILD_ID == BUILD_BETA | |
65 | text += "-beta"; | |
66 | #elif BUILD_ID == BUILD_RC | |
11
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
67 | text += fmt ("-rc%1", RC_ID); |
0 | 68 | #elif BUILD_ID == BUILD_RELEASE |
69 | text += "-rel"; | |
70 | #else | |
71 | # error Invalid build code! | |
72 | #endif // BUILD_ID | |
73 | ||
74 | return text; | |
11
3ddebf76105e
made style more consistent
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
75 | } |