__declspec(dllexport) int StartOpenRCT(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { print_launch_information(); // Begin RCT2 RCT2_GLOBAL(RCT2_ADDRESS_HINSTANCE, HINSTANCE) = hInstance; RCT2_GLOBAL(RCT2_ADDRESS_CMDLINE, LPSTR) = lpCmdLine; get_system_info(); audio_init(); audio_get_devices(); RCT2_CALLPROC(0x0040502E); // get_dsound_devices() config_init(); language_open(gGeneral_config.language); rct2_init(); rct2_loop(); osinterface_free(); exit(0); return 0; }
/** * * rct2: 0x0066FA38 */ void window_editor_top_toolbar_dropdown() { short widgetIndex, dropdownIndex; rct_window* w; window_dropdown_get_registers(w, widgetIndex, dropdownIndex); if (widgetIndex == WIDX_FILE_MENU) { if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)) { if (dropdownIndex == DDIDX_TD_ABOUT) { window_about_open(); } else if (dropdownIndex == DDIDX_TD_OPTIONS) { window_options_open(); } else if (dropdownIndex == DDIDX_TD_SCREENSHOT) { RCT2_GLOBAL(RCT2_ADDRESS_SCREENSHOT_COUNTDOWN, sint8) = 10; } else if (dropdownIndex == DDIDX_TD_QUIT_GAME) { window_close_by_number(WC_47, w->number); window_close_by_number(WC_48, w->number); game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 1, 0); } } else { if (dropdownIndex == DDIDX_SE_LOAD_LANDSCAPE) { game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 0, 0); } else if (dropdownIndex == DDIDX_SE_SAVE_LANDSCAPE) { RCT2_CALLPROC(0x0066FE2A); } else if (dropdownIndex == DDIDX_SE_ABOUT) { window_about_open(); } else if (dropdownIndex == DDIDX_SE_OPTIONS) { window_options_open(); } else if (dropdownIndex == DDIDX_SE_SCREENSHOT) { RCT2_GLOBAL(RCT2_ADDRESS_SCREENSHOT_COUNTDOWN, sint8) = 10; } else if (dropdownIndex == DDIDX_SE_QUIT_GAME) { window_close_by_number(WC_47, w->number); window_close_by_number(WC_48, w->number); game_do_command(0, 1, 0, 0, GAME_COMMAND_LOAD_OR_QUIT, 1, 0); } } } else if (widgetIndex == WIDX_VIEW_MENU) { top_toolbar_view_menu_dropdown(dropdownIndex); } }