gcc_const static const UISettings &GetUISettings() { return blackboard.GetUISettings(); }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, #ifdef _WIN32_WCE LPWSTR lpCmdLine, #else LPSTR lpCmdLine2, #endif int nCmdShow) #endif { #ifdef WIN32 Args args(GetCommandLine(), "DRIVER FILE"); #else Args args(argc, argv, "DRIVER FILE"); #endif DebugReplay *replay = CreateDebugReplay(args); if (replay == NULL) return EXIT_FAILURE; args.ExpectEnd(); InitialiseDataPath(); Profile::SetFiles(_T("")); Profile::Load(); const Waypoints way_points; InterfaceBlackboard blackboard; blackboard.SetComputerSettings().SetDefaults(); GlideComputerTaskEvents task_events; TaskManager task_manager(way_points); task_manager.SetTaskEvents(task_events); Airspaces airspace_database; AirspaceWarningManager airspace_warning(airspace_database); ProtectedTaskManager protected_task_manager(task_manager, blackboard.GetComputerSettings().task); LoadFiles(airspace_database); GlideComputer glide_computer(way_points, airspace_database, protected_task_manager, task_events); glide_computer.SetTerrain(terrain); glide_computer.Initialise(); glide_computer.ReadComputerSettings(blackboard.GetComputerSettings()); ScreenGlobalInit screen_init; LoadReplay(replay, glide_computer, blackboard); delete replay; #ifdef WIN32 ResourceLoader::Init(hInstance); #endif Layout::Initialize(640, 480); SingleWindow main_window; main_window.set(_T("STATIC"), _T("RunAnalysis"), PixelRect{0, 0, 640, 480}); Fonts::Initialize(); dialog_settings.SetDefaults(); Look *look = new Look(); look->Initialise(); look->InitialiseConfigured(blackboard.GetUISettings()); SetXMLDialogLook(look->dialog); dialog_look = &look->dialog; main_window.show(); dlgAnalysisShowModal(main_window, *look, blackboard, glide_computer, &protected_task_manager, &airspace_database, terrain); delete look; Fonts::Deinitialize(); delete terrain; DeinitialiseDataPath(); return 0; }