X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fclient%2Fclientlauncher.h;h=d1fd9a258367b2d3c46c3006dea7fdcc8f601e2f;hb=a049e8267fabd101cb5c6528b3270214cb0647f0;hp=4ff77bc03e650c6b9670549458a6bcd5f2927a3c;hpb=b662a4577d692329b9ca83525e6039f2ddcd1ac1;p=dragonfireclient.git diff --git a/src/client/clientlauncher.h b/src/client/clientlauncher.h index 4ff77bc03..d1fd9a258 100644 --- a/src/client/clientlauncher.h +++ b/src/client/clientlauncher.h @@ -17,78 +17,39 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef __CLIENT_LAUNCHER_H__ -#define __CLIENT_LAUNCHER_H__ +#pragma once #include "irrlichttypes_extrabloated.h" #include "client/inputhandler.h" #include "gameparams.h" +class RenderingEngine; class ClientLauncher { public: - ClientLauncher() : - list_video_modes(false), - skip_main_menu(false), - use_freetype(false), - random_input(false), - address(""), - playername(""), - password(""), - device(NULL), - input(NULL), - receiver(NULL), - skin(NULL), - font(NULL), - simple_singleplayer_mode(false), - current_playername("inv£lid"), - current_password(""), - current_address("does-not-exist"), - current_port(0) - {} + ClientLauncher() = default; ~ClientLauncher(); - bool run(GameParams &game_params, const Settings &cmd_args); + bool run(GameStartData &start_data, const Settings &cmd_args); -protected: - void init_args(GameParams &game_params, const Settings &cmd_args); +private: + void init_args(GameStartData &start_data, const Settings &cmd_args); bool init_engine(); void init_input(); bool launch_game(std::string &error_message, bool reconnect_requested, - GameParams &game_params, const Settings &cmd_args); + GameStartData &start_data, const Settings &cmd_args); void main_menu(MainMenuData *menudata); - bool create_engine_device(); void speed_tests(); - bool print_video_modes(); - bool list_video_modes; - bool skip_main_menu; - bool use_freetype; - bool random_input; - std::string address; - std::string playername; - std::string password; - IrrlichtDevice *device; - InputHandler *input; - MyEventReceiver *receiver; - gui::IGUISkin *skin; - gui::IGUIFont *font; - scene::ISceneManager *smgr; - SubgameSpec gamespec; - WorldSpec worldspec; - bool simple_singleplayer_mode; - - // These are set up based on the menu and other things - // TODO: Are these required since there's already playername, password, etc - std::string current_playername; - std::string current_password; - std::string current_address; - int current_port; + bool skip_main_menu = false; + bool random_input = false; + RenderingEngine *m_rendering_engine = nullptr; + InputHandler *input = nullptr; + MyEventReceiver *receiver = nullptr; + gui::IGUISkin *skin = nullptr; }; - -#endif