1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-10 09:32:29 +01:00

Handle peep state directly in the update switch

This commit is contained in:
ζeh Matt
2025-05-21 17:32:35 +03:00
parent 04c75f6f8b
commit 5a98133c1d
4 changed files with 64 additions and 86 deletions

View File

@@ -5324,57 +5324,47 @@ void Guest::Update()
case PeepState::Picked:
UpdatePicked();
break;
case PeepState::QueuingFront:
UpdateRide();
break;
case PeepState::LeavingRide:
UpdateRide();
break;
case PeepState::Walking:
UpdateWalking();
break;
case PeepState::Queuing:
UpdateQueuing();
break;
case PeepState::EnteringRide:
UpdateRide();
break;
case PeepState::Sitting:
UpdateSitting();
break;
case PeepState::EnteringPark:
UpdateEnteringPark();
break;
case PeepState::LeavingPark:
UpdateLeavingPark();
break;
case PeepState::Buying:
UpdateBuying();
break;
case PeepState::Watching:
UpdateWatching();
break;
case PeepState::UsingBin:
UpdateUsingBin();
break;
default:
UpdateGuest();
// TODO reset to default state
assert(false);
break;
}
}
}
void Guest::UpdateGuest()
{
switch (State)
{
case PeepState::QueuingFront:
UpdateRide();
break;
case PeepState::LeavingRide:
UpdateRide();
break;
case PeepState::Walking:
UpdateWalking();
break;
case PeepState::Queuing:
UpdateQueuing();
break;
case PeepState::EnteringRide:
UpdateRide();
break;
case PeepState::Sitting:
UpdateSitting();
break;
case PeepState::EnteringPark:
UpdateEnteringPark();
break;
case PeepState::LeavingPark:
UpdateLeavingPark();
break;
case PeepState::Buying:
UpdateBuying();
break;
case PeepState::Watching:
UpdateWatching();
break;
case PeepState::UsingBin:
UpdateUsingBin();
break;
default:
// TODO reset to default state
assert(false);
break;
}
}
/**
*
* rct2: 0x691A30

View File

@@ -321,7 +321,6 @@ public:
uint64_t ItemFlags;
void Update();
void UpdateGuest();
void Tick128UpdateGuest(uint32_t index);
uint64_t GetFoodOrDrinkFlags() const;
uint64_t GetEmptyContainerFlags() const;

View File

@@ -1732,51 +1732,41 @@ void Staff::Update()
case PeepState::Picked:
UpdatePicked();
break;
case PeepState::Patrolling:
UpdatePatrolling();
break;
case PeepState::Mowing:
UpdateMowing();
break;
case PeepState::Sweeping:
UpdateSweeping();
break;
case PeepState::Answering:
UpdateAnswering();
break;
case PeepState::Fixing:
UpdateFixing(stepsToTake);
break;
case PeepState::Inspecting:
UpdateFixing(stepsToTake);
break;
case PeepState::EmptyingBin:
UpdateEmptyingBin();
break;
case PeepState::Watering:
UpdateWatering();
break;
case PeepState::HeadingToInspection:
UpdateHeadingToInspect();
break;
default:
UpdateStaff(stepsToTake);
// TODO reset to default state
assert(false);
break;
}
}
}
void Staff::UpdateStaff(uint32_t stepsToTake)
{
switch (State)
{
case PeepState::Patrolling:
UpdatePatrolling();
break;
case PeepState::Mowing:
UpdateMowing();
break;
case PeepState::Sweeping:
UpdateSweeping();
break;
case PeepState::Answering:
UpdateAnswering();
break;
case PeepState::Fixing:
UpdateFixing(stepsToTake);
break;
case PeepState::Inspecting:
UpdateFixing(stepsToTake);
break;
case PeepState::EmptyingBin:
UpdateEmptyingBin();
break;
case PeepState::Watering:
UpdateWatering();
break;
case PeepState::HeadingToInspection:
UpdateHeadingToInspect();
break;
default:
// TODO reset to default state
assert(false);
break;
}
}
/**
*
* rct2: 0x006BF1FD

View File

@@ -60,7 +60,6 @@ public:
uint32_t StaffBinsEmptied;
void Update();
void UpdateStaff(uint32_t stepsToTake);
void Tick128UpdateStaff();
bool IsMechanic() const;
bool IsPatrolAreaSet(const CoordsXY& coords) const;