1 /***************************************************************************** 2 * Copyright (c) 2014-2020 OpenRCT2 developers 3 * 4 * For a complete list of all authors, please refer to contributors.md 5 * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2 6 * 7 * OpenRCT2 is licensed under the GNU General Public License version 3. 8 *****************************************************************************/ 9 10 #pragma once 11 12 #include "common.h" 13 14 #include <string> 15 16 enum class PromptMode : uint8_t; 17 18 enum class StartupAction 19 { 20 None, 21 Intro, 22 Title, 23 Open, 24 Edit 25 }; 26 27 enum 28 { 29 // Although this is labeled a flag it actually means when 30 // zero the screen is in playing mode. 31 SCREEN_FLAGS_PLAYING = 0, 32 SCREEN_FLAGS_TITLE_DEMO = 1, 33 SCREEN_FLAGS_SCENARIO_EDITOR = 2, 34 SCREEN_FLAGS_TRACK_DESIGNER = 4, 35 SCREEN_FLAGS_TRACK_MANAGER = 8, 36 SCREEN_FLAGS_EDITOR = (SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER), 37 }; 38 39 extern StartupAction gOpenRCT2StartupAction; 40 extern utf8 gOpenRCT2StartupActionPath[512]; 41 extern utf8 gCustomUserDataPath[MAX_PATH]; 42 extern utf8 gCustomOpenRCT2DataPath[MAX_PATH]; 43 extern utf8 gCustomRCT1DataPath[MAX_PATH]; 44 extern utf8 gCustomRCT2DataPath[MAX_PATH]; 45 extern utf8 gCustomPassword[MAX_PATH]; 46 extern bool gOpenRCT2Headless; 47 extern bool gOpenRCT2NoGraphics; 48 extern bool gOpenRCT2ShowChangelog; 49 extern bool gOpenRCT2SilentBreakpad; 50 extern utf8 gSilentRecordingName[MAX_PATH]; 51 52 #ifndef DISABLE_NETWORK 53 extern int32_t gNetworkStart; 54 extern std::string gNetworkStartHost; 55 extern int32_t gNetworkStartPort; 56 extern std::string gNetworkStartAddress; 57 #endif 58 59 extern uint32_t gCurrentDrawCount; 60 extern uint8_t gScreenFlags; 61 extern uint32_t gScreenAge; 62 extern PromptMode gSavePromptMode; 63 64 void openrct2_write_full_version_info(utf8* buffer, size_t bufferSize); 65 void openrct2_finish(); 66 67 int32_t cmdline_run(const char** argv, int32_t argc); 68