diff --git a/src/openrct2/rct2/S6Exporter.cpp b/src/openrct2/rct2/S6Exporter.cpp index 9dce0691a8..e68df1fd71 100644 --- a/src/openrct2/rct2/S6Exporter.cpp +++ b/src/openrct2/rct2/S6Exporter.cpp @@ -82,12 +82,12 @@ void S6Exporter::SaveScenario(IStream * stream) void S6Exporter::Save(IStream * stream, bool isScenario) { - _s6.header.type = isScenario ? S6_TYPE_SCENARIO : S6_TYPE_SAVEDGAME; - _s6.header.classic_flag = 0; + _s6.header.type = isScenario ? S6_TYPE_SCENARIO : S6_TYPE_SAVEDGAME; + _s6.header.classic_flag = 0; _s6.header.num_packed_objects = uint16(ExportObjectsList.size()); - _s6.header.version = S6_RCT2_VERSION; - _s6.header.magic_number = S6_MAGIC_NUMBER; - _s6.game_version_number = 201028; + _s6.header.version = S6_RCT2_VERSION; + _s6.header.magic_number = S6_MAGIC_NUMBER; + _s6.game_version_number = 201028; auto chunkWriter = SawyerChunkWriter(stream); @@ -139,7 +139,7 @@ void S6Exporter::Save(IStream * stream, bool isScenario) // Read all written bytes back into a single buffer stream->SetPosition(0); - auto data = std::unique_ptr>(stream->ReadArray(fileSize), Memory::Free); + auto data = std::unique_ptr>(stream->ReadArray(fileSize), Memory::Free); uint32 checksum = sawyercoding_calculate_checksum(data.get(), fileSize); // Write the checksum on the end @@ -153,21 +153,21 @@ void S6Exporter::Export() for (sint32 i = 0; i < OBJECT_ENTRY_COUNT; i++) { - const rct_object_entry * entry = get_loaded_object_entry(i); - void * entryData = get_loaded_object_chunk(i); + const rct_object_entry * entry = get_loaded_object_entry(i); + void * entryData = get_loaded_object_chunk(i); if (entryData == (void *)-1) { Memory::Set(&_s6.objects[i], 0xFF, sizeof(rct_object_entry)); } else { - _s6.objects[i] = *((rct_object_entry*)entry); + _s6.objects[i] = *((rct_object_entry *)entry); } } - _s6.elapsed_months = gDateMonthsElapsed; - _s6.current_day = gDateMonthTicks; - _s6.scenario_ticks = gScenarioTicks; + _s6.elapsed_months = gDateMonthsElapsed; + _s6.current_day = gDateMonthTicks; + _s6.scenario_ticks = gScenarioTicks; _s6.scenario_srand_0 = gScenarioSrand0; _s6.scenario_srand_1 = gScenarioSrand1; @@ -181,15 +181,15 @@ void S6Exporter::Export() for (sint32 i = 0; i < NUM_SPRITE_LISTS; i++) { - _s6.sprite_lists_head[i] = gSpriteListHead[i]; + _s6.sprite_lists_head[i] = gSpriteListHead[i]; _s6.sprite_lists_count[i] = gSpriteListCount[i]; } _s6.park_name = gParkName; // pad_013573D6 - _s6.park_name_args = gParkNameArgs; - _s6.initial_cash = gInitialCash; - _s6.current_loan = gBankLoan; - _s6.park_flags = gParkFlags; + _s6.park_name_args = gParkNameArgs; + _s6.initial_cash = gInitialCash; + _s6.current_loan = gBankLoan; + _s6.park_flags = gParkFlags; _s6.park_entrance_fee = gParkEntranceFee; // rct1_park_entrance_x // rct1_park_entrance_y @@ -197,14 +197,14 @@ void S6Exporter::Export() // rct1_park_entrance_z memcpy(_s6.peep_spawns, gPeepSpawns, sizeof(_s6.peep_spawns)); _s6.guest_count_change_modifier = gGuestChangeModifier; - _s6.current_research_level = gResearchFundingLevel; + _s6.current_research_level = gResearchFundingLevel; // pad_01357400 memcpy(_s6.researched_ride_types, gResearchedRideTypes, sizeof(_s6.researched_ride_types)); memcpy(_s6.researched_ride_entries, gResearchedRideEntries, sizeof(_s6.researched_ride_entries)); memcpy(_s6.researched_track_types_a, gResearchedTrackTypesA, sizeof(_s6.researched_track_types_a)); memcpy(_s6.researched_track_types_b, gResearchedTrackTypesB, sizeof(_s6.researched_track_types_b)); - _s6.guests_in_park = gNumGuestsInPark; + _s6.guests_in_park = gNumGuestsInPark; _s6.guests_heading_for_park = gNumGuestsHeadingForPark; memcpy(_s6.expenditure_table, gExpenditureTable, sizeof(_s6.expenditure_table)); @@ -222,37 +222,37 @@ void S6Exporter::Export() memcpy(_s6.park_rating_history, gParkRatingHistory, sizeof(_s6.park_rating_history)); memcpy(_s6.guests_in_park_history, gGuestsInParkHistory, sizeof(_s6.guests_in_park_history)); - _s6.active_research_types = gResearchPriorities; - _s6.research_progress_stage = gResearchProgressStage; + _s6.active_research_types = gResearchPriorities; + _s6.research_progress_stage = gResearchProgressStage; _s6.last_researched_item_subject = gResearchLastItemSubject; // pad_01357CF8 - _s6.next_research_item = gResearchNextItem; - _s6.research_progress = gResearchProgress; - _s6.next_research_category = gResearchNextCategory; - _s6.next_research_expected_day = gResearchExpectedDay; + _s6.next_research_item = gResearchNextItem; + _s6.research_progress = gResearchProgress; + _s6.next_research_category = gResearchNextCategory; + _s6.next_research_expected_day = gResearchExpectedDay; _s6.next_research_expected_month = gResearchExpectedMonth; - _s6.guest_initial_happiness = gGuestInitialHappiness; - _s6.park_size = gParkSize; + _s6.guest_initial_happiness = gGuestInitialHappiness; + _s6.park_size = gParkSize; _s6.guest_generation_probability = _guestGenerationProbability; - _s6.total_ride_value = gTotalRideValue; - _s6.maximum_loan = gMaxBankLoan; - _s6.guest_initial_cash = gGuestInitialCash; - _s6.guest_initial_hunger = gGuestInitialHunger; - _s6.guest_initial_thirst = gGuestInitialThirst; - _s6.objective_type = gScenarioObjectiveType; - _s6.objective_year = gScenarioObjectiveYear; + _s6.total_ride_value = gTotalRideValue; + _s6.maximum_loan = gMaxBankLoan; + _s6.guest_initial_cash = gGuestInitialCash; + _s6.guest_initial_hunger = gGuestInitialHunger; + _s6.guest_initial_thirst = gGuestInitialThirst; + _s6.objective_type = gScenarioObjectiveType; + _s6.objective_year = gScenarioObjectiveYear; // pad_013580FA _s6.objective_currency = gScenarioObjectiveCurrency; - _s6.objective_guests = gScenarioObjectiveNumGuests; + _s6.objective_guests = gScenarioObjectiveNumGuests; memcpy(_s6.campaign_weeks_left, gMarketingCampaignDaysLeft, sizeof(_s6.campaign_weeks_left)); memcpy(_s6.campaign_ride_index, gMarketingCampaignRideIndex, sizeof(_s6.campaign_ride_index)); memcpy(_s6.balance_history, gCashHistory, sizeof(_s6.balance_history)); - _s6.current_expenditure = gCurrentExpenditure; - _s6.current_profit = gCurrentProfit; + _s6.current_expenditure = gCurrentExpenditure; + _s6.current_profit = gCurrentProfit; _s6.weekly_profit_average_dividend = gWeeklyProfitAverageDividend; - _s6.weekly_profit_average_divisor = gWeeklyProfitAverageDivisor; + _s6.weekly_profit_average_divisor = gWeeklyProfitAverageDivisor; // pad_0135833A memcpy(_s6.weekly_profit_history, gWeeklyProfitHistory, sizeof(_s6.weekly_profit_history)); @@ -262,29 +262,29 @@ void S6Exporter::Export() memcpy(_s6.park_value_history, gParkValueHistory, sizeof(_s6.park_value_history)); _s6.completed_company_value = gScenarioCompletedCompanyValue; - _s6.total_admissions = gTotalAdmissions; - _s6.income_from_admissions = gTotalIncomeFromAdmissions; - _s6.company_value = gCompanyValue; + _s6.total_admissions = gTotalAdmissions; + _s6.income_from_admissions = gTotalIncomeFromAdmissions; + _s6.company_value = gCompanyValue; memcpy(_s6.peep_warning_throttle, gPeepWarningThrottle, sizeof(_s6.peep_warning_throttle)); // Awards for (sint32 i = 0; i < RCT12_MAX_AWARDS; i++) { - Award * src = &gCurrentAwards[i]; + Award * src = &gCurrentAwards[i]; rct12_award * dst = &_s6.awards[i]; - dst->time = src->Time; - dst->type = src->Type; + dst->time = src->Time; + dst->type = src->Type; } - _s6.land_price = gLandPrice; + _s6.land_price = gLandPrice; _s6.construction_rights_price = gConstructionRightsPrice; // unk_01358774 // pad_01358776 // _s6.cd_key // _s6.game_version_number _s6.completed_company_value_record = gScenarioCompanyValueRecord; - _s6.loan_hash = GetLoanHash(gInitialCash, gBankLoan, gMaxBankLoan); - _s6.ride_count = gRideCount; + _s6.loan_hash = GetLoanHash(gInitialCash, gBankLoan, gMaxBankLoan); + _s6.ride_count = gRideCount; // pad_013587CA _s6.historical_profit = gHistoricalProfit; // pad_013587D4 @@ -292,14 +292,14 @@ void S6Exporter::Export() _s6.cash = gCashEncrypted; // pad_013587FC _s6.park_rating_casualty_penalty = gParkRatingCasualtyPenalty; - _s6.map_size_units = gMapSizeUnits; - _s6.map_size_minus_2 = gMapSizeMinus2; - _s6.map_size = gMapSize; - _s6.map_max_xy = gMapSizeMaxXY; - _s6.same_price_throughout = gSamePriceThroughoutParkA; - _s6.suggested_max_guests = _suggestedGuestMaximum; - _s6.park_rating_warning_days = gScenarioParkRatingWarningDays; - _s6.last_entrance_style = gLastEntranceStyle; + _s6.map_size_units = gMapSizeUnits; + _s6.map_size_minus_2 = gMapSizeMinus2; + _s6.map_size = gMapSize; + _s6.map_max_xy = gMapSizeMaxXY; + _s6.same_price_throughout = gSamePriceThroughoutParkA; + _s6.suggested_max_guests = _suggestedGuestMaximum; + _s6.park_rating_warning_days = gScenarioParkRatingWarningDays; + _s6.last_entrance_style = gLastEntranceStyle; // rct1_water_colour // pad_01358842 memcpy(_s6.research_items, gResearchItems, sizeof(_s6.research_items)); @@ -312,9 +312,9 @@ void S6Exporter::Export() // Preserve compatibility with vanilla RCT2's save format. for (uint8 i = 0; i < RCT12_MAX_PARK_ENTRANCES; i++) { - _s6.park_entrance_x[i] = gParkEntrances[i].x; - _s6.park_entrance_y[i] = gParkEntrances[i].y; - _s6.park_entrance_z[i] = gParkEntrances[i].z; + _s6.park_entrance_x[i] = gParkEntrances[i].x; + _s6.park_entrance_y[i] = gParkEntrances[i].y; + _s6.park_entrance_z[i] = gParkEntrances[i].z; _s6.park_entrance_direction[i] = gParkEntrances[i].direction; } safe_strcpy(_s6.scenario_filename, _scenarioFileName, sizeof(_s6.scenario_filename)); @@ -323,10 +323,10 @@ void S6Exporter::Export() memcpy(_s6.custom_strings, gUserStrings, sizeof(_s6.custom_strings)); _s6.game_ticks_1 = gCurrentTicks; memcpy(_s6.rides, gRideList, sizeof(_s6.rides)); - _s6.saved_age = gSavedAge; - _s6.saved_view_x = gSavedViewX; - _s6.saved_view_y = gSavedViewY; - _s6.saved_view_zoom = gSavedViewZoom; + _s6.saved_age = gSavedAge; + _s6.saved_view_x = gSavedViewX; + _s6.saved_view_y = gSavedViewY; + _s6.saved_view_zoom = gSavedViewZoom; _s6.saved_view_rotation = gSavedViewRotation; memcpy(_s6.map_animations, gAnimatedObjects, sizeof(_s6.map_animations)); _s6.num_map_animations = gNumMapAnimations; @@ -334,41 +334,41 @@ void S6Exporter::Export() _s6.ride_ratings_calc_data = gRideRatingsCalcData; memcpy(_s6.ride_measurements, gRideMeasurements, sizeof(_s6.ride_measurements)); - _s6.next_guest_index = gNextGuestNumber; + _s6.next_guest_index = gNextGuestNumber; _s6.grass_and_scenery_tilepos = gGrassSceneryTileLoopPosition; memcpy(_s6.patrol_areas, gStaffPatrolAreas, sizeof(_s6.patrol_areas)); memcpy(_s6.staff_modes, gStaffModes, sizeof(_s6.staff_modes)); // unk_13CA73E // pad_13CA73F _s6.byte_13CA740 = gUnk13CA740; - _s6.climate = gClimate; + _s6.climate = gClimate; // pad_13CA741; // byte_13CA742 // pad_013CA747 - _s6.climate_update_timer = gClimateUpdateTimer; - _s6.current_weather = gClimateCurrentWeather; - _s6.next_weather = gClimateNextWeather; - _s6.temperature = gClimateCurrentTemperature; - _s6.next_temperature = gClimateNextTemperature; + _s6.climate_update_timer = gClimateUpdateTimer; + _s6.current_weather = gClimateCurrentWeather; + _s6.next_weather = gClimateNextWeather; + _s6.temperature = gClimateCurrentTemperature; + _s6.next_temperature = gClimateNextTemperature; _s6.current_weather_effect = gClimateCurrentWeatherEffect; - _s6.next_weather_effect = gClimateNextWeatherEffect; - _s6.current_weather_gloom = gClimateCurrentWeatherGloom; - _s6.next_weather_gloom = gClimateNextWeatherGloom; - _s6.current_rain_level = gClimateCurrentRainLevel; - _s6.next_rain_level = gClimateNextRainLevel; + _s6.next_weather_effect = gClimateNextWeatherEffect; + _s6.current_weather_gloom = gClimateCurrentWeatherGloom; + _s6.next_weather_gloom = gClimateNextWeatherGloom; + _s6.current_rain_level = gClimateCurrentRainLevel; + _s6.next_rain_level = gClimateNextRainLevel; // News items for (size_t i = 0; i < RCT12_MAX_NEWS_ITEMS; i++) { - const NewsItem * src = &gNewsItems[i]; + const NewsItem * src = &gNewsItems[i]; rct12_news_item * dst = &_s6.news_items[i]; - dst->Type = src->Type; - dst->Flags = src->Flags; - dst->Assoc = src->Assoc; - dst->Ticks = src->Ticks; + dst->Type = src->Type; + dst->Flags = src->Flags; + dst->Assoc = src->Assoc; + dst->Ticks = src->Ticks; dst->MonthYear = src->MonthYear; - dst->Day = src->Day; + dst->Day = src->Day; memcpy(dst->Text, src->Text, sizeof(dst->Text)); } @@ -435,13 +435,13 @@ extern "C" viewport_set_saved_view(); - bool result = false; + bool result = false; auto s6exporter = new S6Exporter(); try { if (flags & S6_SAVE_FLAG_EXPORT) { - IObjectManager * objManager = GetObjectManager(); + IObjectManager * objManager = GetObjectManager(); s6exporter->ExportObjectsList = objManager->GetPackableObjects(); } s6exporter->RemoveTracklessRides = true;