]> git.lizzy.rs Git - dragonfireclient.git/blob - src/client/clientlauncher.h
Revert "Make Lint Happy"
[dragonfireclient.git] / src / client / clientlauncher.h
1 /*
2 Minetest
3 Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation; either version 2.1 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #pragma once
21
22 #include "irrlichttypes_extrabloated.h"
23 #include "client/inputhandler.h"
24 #include "gameparams.h"
25
26 class RenderingEngine;
27
28 class ClientLauncher
29 {
30 public:
31         ClientLauncher() = default;
32
33         ~ClientLauncher();
34
35         bool run(GameStartData &start_data, const Settings &cmd_args);
36
37 private:
38         void init_args(GameStartData &start_data, const Settings &cmd_args);
39         bool init_engine();
40         void init_input();
41
42         bool launch_game(std::string &error_message, bool reconnect_requested,
43                 GameStartData &start_data, const Settings &cmd_args);
44
45         void main_menu(MainMenuData *menudata);
46
47         void speed_tests();
48
49         bool list_video_modes = false;
50         bool skip_main_menu = false;
51         bool random_input = false;
52         InputHandler *input = nullptr;
53         MyEventReceiver *receiver = nullptr;
54         gui::IGUISkin *skin = nullptr;
55 };