Пример #1
0
__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;
}
Пример #2
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);
	}
}