mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-15 11:03:00 +01:00
Rename flag and reorg ghost remove flags (#16734)
This commit is contained in:
@@ -112,7 +112,7 @@ enum : uint32_t
|
||||
GAME_COMMAND_FLAG_4 = (1 << 4), // Unused
|
||||
GAME_COMMAND_FLAG_NO_SPEND = (1 << 5), // Game command is not networked
|
||||
GAME_COMMAND_FLAG_GHOST = (1 << 6), // Game command is not networked
|
||||
GAME_COMMAND_FLAG_PATH_SCENERY = (1 << 7),
|
||||
GAME_COMMAND_FLAG_TRACK_DESIGN = (1 << 7),
|
||||
GAME_COMMAND_FLAG_NETWORKED = (1u << 31) // Game command is coming from network
|
||||
};
|
||||
|
||||
|
||||
@@ -183,7 +183,7 @@ money32 ClearAction::ClearSceneryFromTile(const CoordsXY& tilePos, bool executin
|
||||
auto removeSceneryAction = LargeSceneryRemoveAction(
|
||||
{ tilePos, tileElement->GetBaseZ(), tileElement->GetDirection() },
|
||||
tileElement->AsLargeScenery()->GetSequenceIndex());
|
||||
removeSceneryAction.SetFlags(GetFlags() | GAME_COMMAND_FLAG_PATH_SCENERY);
|
||||
removeSceneryAction.SetFlags(GetFlags() | GAME_COMMAND_FLAG_TRACK_DESIGN);
|
||||
|
||||
auto res = executing ? GameActions::ExecuteNested(&removeSceneryAction)
|
||||
: GameActions::QueryNested(&removeSceneryAction);
|
||||
|
||||
@@ -220,7 +220,7 @@ GameActions::Result FootpathPlaceAction::ElementUpdateExecute(PathElement* pathE
|
||||
|
||||
footpath_queue_chain_reset();
|
||||
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_PATH_SCENERY))
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_TRACK_DESIGN))
|
||||
{
|
||||
footpath_remove_edges_at(_loc, reinterpret_cast<TileElement*>(pathElement));
|
||||
}
|
||||
@@ -431,7 +431,7 @@ GameActions::Result FootpathPlaceAction::ElementInsertExecute(GameActions::Resul
|
||||
|
||||
footpath_queue_chain_reset();
|
||||
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_PATH_SCENERY))
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_TRACK_DESIGN))
|
||||
{
|
||||
footpath_remove_edges_at(_loc, pathElement->as<TileElement>());
|
||||
}
|
||||
@@ -502,7 +502,7 @@ void FootpathPlaceAction::RemoveIntersectingWalls(PathElement* pathElement) cons
|
||||
pathElement = tileElement->AsPath();
|
||||
}
|
||||
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_PATH_SCENERY))
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_TRACK_DESIGN))
|
||||
footpath_connect_edges(_loc, reinterpret_cast<TileElement*>(pathElement), GetFlags());
|
||||
|
||||
footpath_update_queue_chains();
|
||||
|
||||
@@ -105,7 +105,7 @@ GameActions::Result LargeSceneryRemoveAction::Query() const
|
||||
}
|
||||
// Prevent duplicate costs when using the clear scenery tool that overlaps multiple large
|
||||
// scenery tile elements.
|
||||
if (flags & GAME_COMMAND_FLAG_PATH_SCENERY)
|
||||
if (flags & GAME_COMMAND_FLAG_TRACK_DESIGN)
|
||||
{
|
||||
if (tileElement->AsLargeScenery()->IsAccounted())
|
||||
calculate_cost = false;
|
||||
|
||||
@@ -79,7 +79,7 @@ GameActions::Result WallPlaceAction::Query() const
|
||||
}
|
||||
|
||||
auto mapSizeMax = GetMapSizeMaxXY();
|
||||
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !(GetFlags() & GAME_COMMAND_FLAG_PATH_SCENERY) && !gCheatsSandboxMode)
|
||||
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !(GetFlags() & GAME_COMMAND_FLAG_TRACK_DESIGN) && !gCheatsSandboxMode)
|
||||
{
|
||||
if (_loc.z == 0)
|
||||
{
|
||||
@@ -246,7 +246,7 @@ GameActions::Result WallPlaceAction::Query() const
|
||||
clearanceHeight += wallEntry->height;
|
||||
|
||||
bool wallAcrossTrack = false;
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_PATH_SCENERY) && !gCheatsDisableClearanceChecks)
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_TRACK_DESIGN) && !gCheatsDisableClearanceChecks)
|
||||
{
|
||||
auto result = WallCheckObstruction(wallEntry, targetHeight / 8, clearanceHeight, &wallAcrossTrack);
|
||||
if (result.Error != GameActions::Status::Ok)
|
||||
@@ -321,7 +321,7 @@ GameActions::Result WallPlaceAction::Execute() const
|
||||
clearanceHeight += wallEntry->height;
|
||||
|
||||
bool wallAcrossTrack = false;
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_PATH_SCENERY) && !gCheatsDisableClearanceChecks)
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_TRACK_DESIGN) && !gCheatsDisableClearanceChecks)
|
||||
{
|
||||
auto result = WallCheckObstruction(wallEntry, targetHeight / COORDS_Z_STEP, clearanceHeight, &wallAcrossTrack);
|
||||
if (result.Error != GameActions::Status::Ok)
|
||||
|
||||
@@ -1064,20 +1064,20 @@ static GameActions::Result TrackDesignPlaceSceneryElement(
|
||||
z = scenery.loc.z + originZ;
|
||||
quadrant = ((scenery.flags >> 2) + _currentTrackPieceDirection) & 3;
|
||||
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY;
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_TRACK_DESIGN;
|
||||
if (tds.PlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_TRACK_DESIGN | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (tds.PlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_TRACK_DESIGN | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (tds.PlaceOperation == PTD_OPERATION_PLACE_QUERY)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_PATH_SCENERY;
|
||||
flags = GAME_COMMAND_FLAG_TRACK_DESIGN;
|
||||
}
|
||||
if (tds.IsReplay)
|
||||
{
|
||||
@@ -1107,20 +1107,20 @@ static GameActions::Result TrackDesignPlaceSceneryElement(
|
||||
|
||||
z = scenery.loc.z + originZ;
|
||||
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY;
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_TRACK_DESIGN;
|
||||
if (tds.PlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_TRACK_DESIGN | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (tds.PlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_TRACK_DESIGN | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (tds.PlaceOperation == PTD_OPERATION_PLACE_QUERY)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_PATH_SCENERY;
|
||||
flags = GAME_COMMAND_FLAG_TRACK_DESIGN;
|
||||
}
|
||||
if (tds.IsReplay)
|
||||
{
|
||||
@@ -1149,7 +1149,7 @@ static GameActions::Result TrackDesignPlaceSceneryElement(
|
||||
flags = GAME_COMMAND_FLAG_APPLY;
|
||||
if (tds.PlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_TRACK_DESIGN | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (tds.PlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
|
||||
@@ -25,7 +25,7 @@ static int32_t map_place_clear_func(
|
||||
if ((*tile_element)->GetType() != TileElementType::SmallScenery)
|
||||
return 1;
|
||||
|
||||
if (is_scenery && !(flags & GAME_COMMAND_FLAG_PATH_SCENERY))
|
||||
if (is_scenery && !(flags & GAME_COMMAND_FLAG_TRACK_DESIGN))
|
||||
return 1;
|
||||
|
||||
auto* scenery = (*tile_element)->AsSmallScenery()->GetEntry();
|
||||
|
||||
@@ -257,7 +257,8 @@ void scenery_remove_ghost_tool_placement()
|
||||
continue;
|
||||
|
||||
auto footpathAdditionRemoveAction = FootpathAdditionRemoveAction(gSceneryGhostPosition);
|
||||
footpathAdditionRemoveAction.SetFlags(GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_GHOST);
|
||||
footpathAdditionRemoveAction.SetFlags(
|
||||
GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
GameActions::Execute(&footpathAdditionRemoveAction);
|
||||
break;
|
||||
} while (!(tileElement++)->IsLastForTile());
|
||||
@@ -269,7 +270,7 @@ void scenery_remove_ghost_tool_placement()
|
||||
|
||||
CoordsXYZD wallLocation = { gSceneryGhostPosition, gSceneryGhostWallRotation };
|
||||
auto wallRemoveAction = WallRemoveAction(wallLocation);
|
||||
wallRemoveAction.SetFlags(GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_PATH_SCENERY);
|
||||
wallRemoveAction.SetFlags(GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
wallRemoveAction.Execute();
|
||||
}
|
||||
|
||||
@@ -279,8 +280,7 @@ void scenery_remove_ghost_tool_placement()
|
||||
|
||||
auto removeSceneryAction = LargeSceneryRemoveAction({ gSceneryGhostPosition, gSceneryPlaceRotation }, 0);
|
||||
removeSceneryAction.SetFlags(
|
||||
GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_NO_SPEND);
|
||||
GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
removeSceneryAction.Execute();
|
||||
}
|
||||
|
||||
@@ -290,7 +290,7 @@ void scenery_remove_ghost_tool_placement()
|
||||
|
||||
auto removeSceneryAction = BannerRemoveAction({ gSceneryGhostPosition, gSceneryPlaceRotation });
|
||||
removeSceneryAction.SetFlags(
|
||||
GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND);
|
||||
GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
GameActions::Execute(&removeSceneryAction);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user