mirror of https://github.com/OpenRCT2/OpenRCT2.git
Move park initialisation to park class
This commit is contained in:
parent
8929e5533b
commit
5a7e34a267
|
@ -15,6 +15,7 @@
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
||||||
#include "../Cheats.h"
|
#include "../Cheats.h"
|
||||||
|
#include "../Context.h"
|
||||||
#include "../config/Config.h"
|
#include "../config/Config.h"
|
||||||
#include "../core/Math.hpp"
|
#include "../core/Math.hpp"
|
||||||
#include "../core/Memory.hpp"
|
#include "../core/Memory.hpp"
|
||||||
|
@ -36,13 +37,12 @@
|
||||||
#include "../ride/RideData.h"
|
#include "../ride/RideData.h"
|
||||||
#include "../ride/ShopItem.h"
|
#include "../ride/ShopItem.h"
|
||||||
#include "../scenario/Scenario.h"
|
#include "../scenario/Scenario.h"
|
||||||
|
#include "../windows/Intent.h"
|
||||||
#include "Entrance.h"
|
#include "Entrance.h"
|
||||||
#include "Map.h"
|
#include "Map.h"
|
||||||
#include "Park.h"
|
#include "Park.h"
|
||||||
#include "Sprite.h"
|
#include "Sprite.h"
|
||||||
#include "Surface.h"
|
#include "Surface.h"
|
||||||
#include "../windows/Intent.h"
|
|
||||||
#include "../Context.h"
|
|
||||||
|
|
||||||
rct_string_id gParkName;
|
rct_string_id gParkName;
|
||||||
uint32 gParkNameArgs;
|
uint32 gParkNameArgs;
|
||||||
|
@ -79,78 +79,6 @@ sint32 _suggestedGuestMaximum;
|
||||||
*/
|
*/
|
||||||
sint32 _guestGenerationProbability;
|
sint32 _guestGenerationProbability;
|
||||||
|
|
||||||
sint32 park_is_open()
|
|
||||||
{
|
|
||||||
return (gParkFlags & PARK_FLAGS_PARK_OPEN) != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* rct2: 0x00667132
|
|
||||||
*/
|
|
||||||
void park_init()
|
|
||||||
{
|
|
||||||
sint32 i;
|
|
||||||
|
|
||||||
gUnk13CA740 = 0;
|
|
||||||
gParkName = STR_UNNAMED_PARK;
|
|
||||||
gStaffHandymanColour = COLOUR_BRIGHT_RED;
|
|
||||||
gStaffMechanicColour = COLOUR_LIGHT_BLUE;
|
|
||||||
gStaffSecurityColour = COLOUR_YELLOW;
|
|
||||||
gNumGuestsInPark = 0;
|
|
||||||
gNumGuestsInParkLastWeek = 0;
|
|
||||||
gNumGuestsHeadingForPark = 0;
|
|
||||||
gGuestChangeModifier = 0;
|
|
||||||
gParkRating = 0;
|
|
||||||
_guestGenerationProbability = 0;
|
|
||||||
gTotalRideValueForMoney = 0;
|
|
||||||
gResearchLastItem.rawValue = RESEARCHED_ITEMS_SEPARATOR;
|
|
||||||
|
|
||||||
for (i = 0; i < 20; i++)
|
|
||||||
gMarketingCampaignDaysLeft[i] = 0;
|
|
||||||
|
|
||||||
research_reset_items();
|
|
||||||
finance_init();
|
|
||||||
|
|
||||||
set_every_ride_type_not_invented();
|
|
||||||
|
|
||||||
set_all_scenery_items_invented();
|
|
||||||
|
|
||||||
gParkEntranceFee = MONEY(10, 00);
|
|
||||||
|
|
||||||
for (auto &peepSpawn : gPeepSpawns)
|
|
||||||
{
|
|
||||||
peepSpawn.x = PEEP_SPAWN_UNDEFINED;
|
|
||||||
}
|
|
||||||
|
|
||||||
gResearchPriorities =
|
|
||||||
(1 << RESEARCH_CATEGORY_TRANSPORT) |
|
|
||||||
(1 << RESEARCH_CATEGORY_GENTLE) |
|
|
||||||
(1 << RESEARCH_CATEGORY_ROLLERCOASTER) |
|
|
||||||
(1 << RESEARCH_CATEGORY_THRILL) |
|
|
||||||
(1 << RESEARCH_CATEGORY_WATER) |
|
|
||||||
(1 << RESEARCH_CATEGORY_SHOP) |
|
|
||||||
(1 << RESEARCH_CATEGORY_SCENERY_GROUP);
|
|
||||||
gResearchFundingLevel = RESEARCH_FUNDING_NORMAL;
|
|
||||||
|
|
||||||
gGuestInitialCash = MONEY(50,00); // Cash per guest (average)
|
|
||||||
gGuestInitialHappiness = calculate_guest_initial_happiness(50); // 50%
|
|
||||||
gGuestInitialHunger = 200;
|
|
||||||
gGuestInitialThirst = 200;
|
|
||||||
gScenarioObjectiveType = OBJECTIVE_GUESTS_BY;
|
|
||||||
gScenarioObjectiveYear = 4;
|
|
||||||
gScenarioObjectiveNumGuests = 1000;
|
|
||||||
gLandPrice = MONEY(90, 00);
|
|
||||||
gConstructionRightsPrice = MONEY(40,00);
|
|
||||||
gParkFlags = PARK_FLAGS_NO_MONEY | PARK_FLAGS_SHOW_REAL_GUEST_NAMES;
|
|
||||||
park_reset_history();
|
|
||||||
finance_reset_history();
|
|
||||||
award_reset();
|
|
||||||
|
|
||||||
gS6Info.name[0] = '\0';
|
|
||||||
format_string(gS6Info.details, 256, STR_NO_DETAILS_YET, nullptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* rct2: 0x00667104
|
* rct2: 0x00667104
|
||||||
|
@ -580,6 +508,11 @@ Park::~Park()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Park::IsOpen() const
|
||||||
|
{
|
||||||
|
return (gParkFlags & PARK_FLAGS_PARK_OPEN) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
uint16 Park::GetParkRating() const
|
uint16 Park::GetParkRating() const
|
||||||
{
|
{
|
||||||
return gParkRating;
|
return gParkRating;
|
||||||
|
@ -595,6 +528,69 @@ money32 Park::GetCompanyValue() const
|
||||||
return gCompanyValue;
|
return gCompanyValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Park::Initialise()
|
||||||
|
{
|
||||||
|
gUnk13CA740 = 0;
|
||||||
|
gParkName = STR_UNNAMED_PARK;
|
||||||
|
gStaffHandymanColour = COLOUR_BRIGHT_RED;
|
||||||
|
gStaffMechanicColour = COLOUR_LIGHT_BLUE;
|
||||||
|
gStaffSecurityColour = COLOUR_YELLOW;
|
||||||
|
gNumGuestsInPark = 0;
|
||||||
|
gNumGuestsInParkLastWeek = 0;
|
||||||
|
gNumGuestsHeadingForPark = 0;
|
||||||
|
gGuestChangeModifier = 0;
|
||||||
|
gParkRating = 0;
|
||||||
|
_guestGenerationProbability = 0;
|
||||||
|
gTotalRideValueForMoney = 0;
|
||||||
|
gResearchLastItem.rawValue = RESEARCHED_ITEMS_SEPARATOR;
|
||||||
|
|
||||||
|
for (size_t i = 0; i < 20; i++)
|
||||||
|
{
|
||||||
|
gMarketingCampaignDaysLeft[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
research_reset_items();
|
||||||
|
finance_init();
|
||||||
|
|
||||||
|
set_every_ride_type_not_invented();
|
||||||
|
|
||||||
|
set_all_scenery_items_invented();
|
||||||
|
|
||||||
|
gParkEntranceFee = MONEY(10, 00);
|
||||||
|
|
||||||
|
for (auto &peepSpawn : gPeepSpawns)
|
||||||
|
{
|
||||||
|
peepSpawn.x = PEEP_SPAWN_UNDEFINED;
|
||||||
|
}
|
||||||
|
|
||||||
|
gResearchPriorities =
|
||||||
|
(1 << RESEARCH_CATEGORY_TRANSPORT) |
|
||||||
|
(1 << RESEARCH_CATEGORY_GENTLE) |
|
||||||
|
(1 << RESEARCH_CATEGORY_ROLLERCOASTER) |
|
||||||
|
(1 << RESEARCH_CATEGORY_THRILL) |
|
||||||
|
(1 << RESEARCH_CATEGORY_WATER) |
|
||||||
|
(1 << RESEARCH_CATEGORY_SHOP) |
|
||||||
|
(1 << RESEARCH_CATEGORY_SCENERY_GROUP);
|
||||||
|
gResearchFundingLevel = RESEARCH_FUNDING_NORMAL;
|
||||||
|
|
||||||
|
gGuestInitialCash = MONEY(50,00);
|
||||||
|
gGuestInitialHappiness = CalculateGuestInitialHappiness(50);
|
||||||
|
gGuestInitialHunger = 200;
|
||||||
|
gGuestInitialThirst = 200;
|
||||||
|
gScenarioObjectiveType = OBJECTIVE_GUESTS_BY;
|
||||||
|
gScenarioObjectiveYear = 4;
|
||||||
|
gScenarioObjectiveNumGuests = 1000;
|
||||||
|
gLandPrice = MONEY(90,00);
|
||||||
|
gConstructionRightsPrice = MONEY(40,00);
|
||||||
|
gParkFlags = PARK_FLAGS_NO_MONEY | PARK_FLAGS_SHOW_REAL_GUEST_NAMES;
|
||||||
|
ResetHistories();
|
||||||
|
finance_reset_history();
|
||||||
|
award_reset();
|
||||||
|
|
||||||
|
gS6Info.name[0] = '\0';
|
||||||
|
format_string(gS6Info.details, 256, STR_NO_DETAILS_YET, nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
void Park::Update()
|
void Park::Update()
|
||||||
{
|
{
|
||||||
// Every 5 seconds approximately
|
// Every 5 seconds approximately
|
||||||
|
@ -1062,6 +1058,16 @@ void Park::UpdateHistories()
|
||||||
window_invalidate_by_class(WC_FINANCES);
|
window_invalidate_by_class(WC_FINANCES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sint32 park_is_open()
|
||||||
|
{
|
||||||
|
return _singleton->IsOpen();
|
||||||
|
}
|
||||||
|
|
||||||
|
void park_init()
|
||||||
|
{
|
||||||
|
_singleton->Initialise();
|
||||||
|
}
|
||||||
|
|
||||||
sint32 park_calculate_size()
|
sint32 park_calculate_size()
|
||||||
{
|
{
|
||||||
auto tiles = _singleton->CalculateParkSize();
|
auto tiles = _singleton->CalculateParkSize();
|
||||||
|
|
|
@ -61,10 +61,13 @@ namespace OpenRCT2
|
||||||
Park();
|
Park();
|
||||||
~Park();
|
~Park();
|
||||||
|
|
||||||
|
bool IsOpen() const;
|
||||||
|
|
||||||
uint16 GetParkRating() const;
|
uint16 GetParkRating() const;
|
||||||
money32 GetParkValue() const;
|
money32 GetParkValue() const;
|
||||||
money32 GetCompanyValue() const;
|
money32 GetCompanyValue() const;
|
||||||
|
|
||||||
|
void Initialise();
|
||||||
void Update();
|
void Update();
|
||||||
|
|
||||||
sint32 CalculateParkSize() const;
|
sint32 CalculateParkSize() const;
|
||||||
|
|
Loading…
Reference in New Issue