/** * * rct2: 0x006D33E2 */ static void window_editor_object_selection_manage_tracks() { RCT2_GLOBAL(0x1357404, sint32) = -1; RCT2_GLOBAL(0x1357408, sint32) = -1; RCT2_GLOBAL(0x135740C, sint32) = -1; RCT2_GLOBAL(0x1357410, sint32) = -1; for (int i = 0; i < 128; ++i){ RCT2_ADDRESS(0x1357444, uint32)[i] = RCT2_ADDRESS(0x97C468, uint32)[i]; RCT2_ADDRESS(0x1357644, uint32)[i] = RCT2_ADDRESS(0x97C5D4, uint32)[i]; } for (int i = 0; i < 8; ++i){ RCT2_ADDRESS(0x1357424, sint32)[i] = -1; } RCT2_GLOBAL(0x141F570, uint8) = 7; int entry_index = 0; for (; ((int)object_entry_groups[0].chunks[entry_index]) == -1; ++entry_index); RCT2_GLOBAL(0xF44157, uint8) = entry_index; rct_ride_type* ride_entry = GET_RIDE_ENTRY(entry_index); uint8* ride_type_array = &ride_entry->ride_type[0]; int ride_type; for (int i = 0; (ride_type = ride_type_array[i]) == 0xFF; i++); RCT2_GLOBAL(0xF44158, uint8) = ride_type; ride_list_item item = { ride_type, entry_index }; track_load_list(item); window_track_list_open(item); }
int rct2_init() { log_verbose("initialising game"); RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_TICKS, uint32) = 0; RCT2_GLOBAL(0x009AC310, char*) = RCT2_GLOBAL(RCT2_ADDRESS_CMDLINE, char*); get_system_time(); util_srand((unsigned int)time(0)); RCT2_GLOBAL(0x009DEA69, short) = RCT2_GLOBAL(RCT2_ADDRESS_OS_TIME_DAY, short); RCT2_GLOBAL(0x009DEA6B, short) = RCT2_GLOBAL(RCT2_ADDRESS_OS_TIME_MONTH, short); if (!rct2_init_directories()) return 0; if (!rct2_startup_checks()) return 0; config_reset_shortcut_keys(); config_shortcut_keys_load(); RCT2_GLOBAL(RCT2_ADDRESS_PLACE_OBJECT_MODIFIER, uint8) = 0; // config_load(); object_list_load(); scenario_load_list(); ride_list_item item = { 253, 0 }; track_load_list(item); gfx_load_g1(); gfx_load_g2(); font_sprite_initialise_characters(); if (!gOpenRCT2Headless) { platform_init(); audio_init_ride_sounds_and_info(); } viewport_init_all(); news_item_init_queue(); get_local_time(); reset_park_entrances(); user_string_clear_all(); reset_sprite_list(); ride_init_all(); window_guest_list_init_vars_a(); staff_reset_modes(); map_init(150); park_init(); if (!gOpenRCT2Headless) window_title_menu_open(); date_reset(); climate_reset(CLIMATE_COOL_AND_WET); scenery_set_default_placement_configuration(); window_new_ride_init_vars(); window_guest_list_init_vars_b(); window_staff_list_init_vars(); if (!gOpenRCT2Headless) { title_load(); gfx_clear(RCT2_ADDRESS(RCT2_ADDRESS_SCREEN_DPI, rct_drawpixelinfo), 10); } log_verbose("initialising game finished"); return 1; }