Rename Peep::pathfind_history to PathfindHistory

This commit is contained in:
Tulio Leao 2020-05-31 17:38:18 -03:00 committed by Gymnasiast
parent f2808eecbe
commit cad809275e
No known key found for this signature in database
GPG Key ID: DBFFF47AB2CA3EDD
8 changed files with 32 additions and 32 deletions

View File

@ -2123,7 +2123,7 @@ void window_guest_debug_paint(rct_window* w, rct_drawpixelinfo* dpi)
screenCoords.y += LIST_ROW_HEIGHT;
screenCoords.x += 10;
for (auto& point : peep->pathfind_history)
for (auto& point : peep->PathfindHistory)
{
int32_t args[] = { point.x, point.y, point.z, point.direction };
gfx_draw_string_left(dpi, STR_PEEP_DEBUG_PATHFIND_HISTORY_ITEM, args, 0, screenCoords.x, screenCoords.y);

View File

@ -288,7 +288,7 @@ struct GameStateSnapshots final : public IGameStateSnapshots
COMPARE_FIELD(Peep, pathfind_goal);
for (int i = 0; i < 4; i++)
{
COMPARE_FIELD(Peep, pathfind_history[i]);
COMPARE_FIELD(Peep, PathfindHistory[i]);
}
COMPARE_FIELD(Peep, NoActionFrameNum);
COMPARE_FIELD(Peep, LitterCount);

View File

@ -975,14 +975,14 @@ static void peep_pathfind_heuristic_search(
/* First check if going through the junction would be
* a loop. If so, the current search path ends here.
* Path finding loop detection can take advantage of both the
* peep->pathfind_history - loops through remembered junctions
* peep->PathfindHistory - loops through remembered junctions
* the peep has already passed through getting to its
* current position while on the way to its current goal;
* _peepPathFindHistory - loops in the current search path. */
bool pathLoop = false;
/* Check the peep->pathfind_history to see if this junction has
/* Check the peep->PathfindHistory to see if this junction has
* already been visited by the peep while heading for this goal. */
for (auto& pathfindHistory : peep->pathfind_history)
for (auto& pathfindHistory : peep->PathfindHistory)
{
if (pathfindHistory.x == loc.x && pathfindHistory.y == loc.y && pathfindHistory.z == loc.z)
{
@ -1221,7 +1221,7 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep)
}
/* Check if this path element is a thin junction.
* Only 'thin' junctions are remembered in peep->pathfind_history.
* Only 'thin' junctions are remembered in peep->PathfindHistory.
* NO attempt is made to merge the overlaid path elements and
* check if the combination is 'thin'!
* The junction is considered 'thin' simply if any of the
@ -1239,8 +1239,8 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep)
uint8_t edges = permitted_edges;
if (isThin && peep->pathfind_goal.x == goal.x && peep->pathfind_goal.y == goal.y && peep->pathfind_goal.z == goal.z)
{
/* Use of peep->pathfind_history[]:
* When walking to a goal, the peep pathfind_history stores
/* Use of peep->PathfindHistory[]:
* When walking to a goal, the peep PathfindHistory stores
* the last 4 thin junctions that the peep walked through.
* For each of these 4 thin junctions the peep remembers
* those edges it has not yet taken.
@ -1254,11 +1254,11 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep)
/* If the peep remembers walking through this junction
* previously while heading for its goal, retrieve the
* directions it has not yet tried. */
for (auto& pathfindHistory : peep->pathfind_history)
for (auto& pathfindHistory : peep->PathfindHistory)
{
if (pathfindHistory.x == loc.x && pathfindHistory.y == loc.y && pathfindHistory.z == loc.z)
{
/* Fix broken pathfind_history[i].direction
/* Fix broken PathfindHistory[i].direction
* which have untried directions that are not
* currently possible - could be due to pathing
* changes or in earlier code .directions was
@ -1303,7 +1303,7 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep)
}
/* If this is a new goal for the peep. Store it and reset the peep's
* pathfind_history. */
* PathfindHistory. */
if (!direction_valid(peep->pathfind_goal.direction) || peep->pathfind_goal.x != goal.x || peep->pathfind_goal.y != goal.y
|| peep->pathfind_goal.z != goal.z)
{
@ -1313,7 +1313,7 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep)
peep->pathfind_goal.direction = 0;
// Clear pathfinding history
std::fill_n(reinterpret_cast<uint8_t*>(peep->pathfind_history), sizeof(peep->pathfind_history), 0xFF);
std::fill_n(reinterpret_cast<uint8_t*>(peep->PathfindHistory), sizeof(peep->PathfindHistory), 0xFF);
#if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1
if (gPathFindDebug)
{
@ -1488,15 +1488,15 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep)
{
for (int32_t i = 0; i < 4; ++i)
{
if (peep->pathfind_history[i].x == loc.x && peep->pathfind_history[i].y == loc.y
&& peep->pathfind_history[i].z == loc.z)
if (peep->PathfindHistory[i].x == loc.x && peep->PathfindHistory[i].y == loc.y
&& peep->PathfindHistory[i].z == loc.z)
{
/* Peep remembers this junction, so remove the
* chosen_edge from those left to try. */
peep->pathfind_history[i].direction &= ~(1 << chosen_edge);
peep->PathfindHistory[i].direction &= ~(1 << chosen_edge);
/* Also remove the edge through which the peep
* entered the junction from those left to try. */
peep->pathfind_history[i].direction &= ~(1 << direction_reverse(peep->direction));
peep->PathfindHistory[i].direction &= ~(1 << direction_reverse(peep->direction));
#if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1
if (gPathFindDebug)
{
@ -1513,15 +1513,15 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep)
* and remember this junction. */
int32_t i = peep->pathfind_goal.direction++;
peep->pathfind_goal.direction &= 3;
peep->pathfind_history[i].x = static_cast<uint8_t>(loc.x);
peep->pathfind_history[i].y = static_cast<uint8_t>(loc.y);
peep->pathfind_history[i].z = loc.z;
peep->pathfind_history[i].direction = permitted_edges;
peep->PathfindHistory[i].x = static_cast<uint8_t>(loc.x);
peep->PathfindHistory[i].y = static_cast<uint8_t>(loc.y);
peep->PathfindHistory[i].z = loc.z;
peep->PathfindHistory[i].direction = permitted_edges;
/* Remove the chosen_edge from those left to try. */
peep->pathfind_history[i].direction &= ~(1 << chosen_edge);
peep->PathfindHistory[i].direction &= ~(1 << chosen_edge);
/* Also remove the edge through which the peep
* entered the junction from those left to try. */
peep->pathfind_history[i].direction &= ~(1 << direction_reverse(peep->direction));
peep->PathfindHistory[i].direction &= ~(1 << direction_reverse(peep->direction));
#if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1
if (gPathFindDebug)
{
@ -2147,7 +2147,7 @@ int32_t guest_path_finding(Guest* peep)
if (direction == INVALID_DIRECTION)
{
/* Heuristic search failed for all directions.
* Reset the pathfind_goal - this means that the pathfind_history
* Reset the pathfind_goal - this means that the PathfindHistory
* will be reset in the next call to peep_pathfind_choose_direction().
* This lets the heuristic search "try again" in case the player has
* edited the path layout or the mechanic was already stuck in the

View File

@ -699,7 +699,7 @@ struct Peep : SpriteBase
uint8_t photo1_ride_ref;
uint32_t peep_flags;
rct12_xyzd8 pathfind_goal;
rct12_xyzd8 pathfind_history[4];
rct12_xyzd8 PathfindHistory[4];
uint8_t NoActionFrameNum;
// 0x3F Litter Count split into lots of 3 with time, 0xC0 Time since last recalc
uint8_t LitterCount;

View File

@ -875,7 +875,7 @@ static uint8_t staff_mechanic_direction_path(Peep* peep, uint8_t validDirections
if (pathfindDirection == INVALID_DIRECTION)
{
/* Heuristic search failed for all directions.
* Reset the pathfind_goal - this means that the pathfind_history
* Reset the pathfind_goal - this means that the PathfindHistory
* will be reset in the next call to peep_pathfind_choose_direction().
* This lets the heuristic search "try again" in case the player has
* edited the path layout or the mechanic was already stuck in the

View File

@ -1213,9 +1213,9 @@ void S6Exporter::ExportSpritePeep(RCT2SpritePeep* dst, const Peep* src)
dst->photo1_ride_ref = src->photo1_ride_ref;
dst->peep_flags = src->peep_flags;
dst->pathfind_goal = src->pathfind_goal;
for (size_t i = 0; i < std::size(src->pathfind_history); i++)
for (size_t i = 0; i < std::size(src->PathfindHistory); i++)
{
dst->pathfind_history[i] = src->pathfind_history[i];
dst->pathfind_history[i] = src->PathfindHistory[i];
}
dst->no_action_frame_num = src->NoActionFrameNum;
dst->litter_count = src->LitterCount;

View File

@ -1480,7 +1480,7 @@ public:
dst->pathfind_goal = src->pathfind_goal;
for (size_t i = 0; i < std::size(src->pathfind_history); i++)
{
dst->pathfind_history[i] = src->pathfind_history[i];
dst->PathfindHistory[i] = src->pathfind_history[i];
}
dst->NoActionFrameNum = src->no_action_frame_num;
dst->LitterCount = src->litter_count;

View File

@ -238,10 +238,10 @@ static void CompareSpriteDataPeep(const Peep& left, const Peep& right)
COMPARE_FIELD(pathfind_goal.direction);
for (int i = 0; i < 4; i++)
{
COMPARE_FIELD(pathfind_history[i].x);
COMPARE_FIELD(pathfind_history[i].y);
COMPARE_FIELD(pathfind_history[i].z);
COMPARE_FIELD(pathfind_history[i].direction);
COMPARE_FIELD(PathfindHistory[i].x);
COMPARE_FIELD(PathfindHistory[i].y);
COMPARE_FIELD(PathfindHistory[i].z);
COMPARE_FIELD(PathfindHistory[i].direction);
}
COMPARE_FIELD(NoActionFrameNum);
COMPARE_FIELD(LitterCount);