mirror of https://github.com/OpenRCT2/OpenRCT2.git
Rework flags
This commit is contained in:
parent
06645f6a0d
commit
356a0e5e91
|
@ -365,7 +365,7 @@ static void window_land_rights_tool_update_land_rights(int16_t x, int16_t y)
|
|||
return;
|
||||
|
||||
_landRightsCost = game_do_command(
|
||||
gMapSelectPositionA.x, GAME_COMMAND_FLAG_2, gMapSelectPositionA.y,
|
||||
gMapSelectPositionA.x, GAME_COMMAND_FLAG_NO_SPEND, gMapSelectPositionA.y,
|
||||
(_landRightsMode == LAND_RIGHTS_MODE_BUY_LAND) ? BUY_LAND_RIGHTS_FLAG_BUY_LAND
|
||||
: BUY_LAND_RIGHTS_FLAG_BUY_CONSTRUCTION_RIGHTS,
|
||||
GAME_COMMAND_BUY_LAND_RIGHTS, gMapSelectPositionB.x, gMapSelectPositionB.y);
|
||||
|
|
|
@ -283,7 +283,7 @@ static void window_track_place_toolupdate(rct_window* w, rct_widgetindex widgetI
|
|||
for (int32_t i = 0; i < 7; i++)
|
||||
{
|
||||
ride_id_t rideIndex;
|
||||
uint16_t flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_5 | GAME_COMMAND_FLAG_GHOST;
|
||||
uint16_t flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST;
|
||||
window_track_place_attempt_placement(_trackDesign, mapX, mapY, mapZ, flags, &cost, &rideIndex);
|
||||
if (cost != MONEY32_UNDEFINED)
|
||||
{
|
||||
|
|
|
@ -445,7 +445,7 @@ int32_t game_do_command_p(
|
|||
{
|
||||
// Check funds
|
||||
int32_t insufficientFunds = 0;
|
||||
if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_2) && !(flags & GAME_COMMAND_FLAG_5) && cost != 0)
|
||||
if (gGameCommandNestLevel == 1 && !(flags & GAME_COMMAND_FLAG_NO_SPEND) && cost != 0)
|
||||
insufficientFunds = game_check_affordability(cost, flags);
|
||||
|
||||
if (insufficientFunds != MONEY32_UNDEFINED)
|
||||
|
@ -464,7 +464,7 @@ int32_t game_do_command_p(
|
|||
}
|
||||
|
||||
if (network_get_mode() != NETWORK_MODE_NONE && !(flags & GAME_COMMAND_FLAG_NETWORKED)
|
||||
&& !(flags & GAME_COMMAND_FLAG_GHOST) && !(flags & GAME_COMMAND_FLAG_5)
|
||||
&& !(flags & GAME_COMMAND_FLAG_GHOST) && !(flags & GAME_COMMAND_FLAG_NO_SPEND)
|
||||
&& gGameCommandNestLevel == 1) /* Send only top-level commands */
|
||||
{
|
||||
network_send_gamecmd(
|
||||
|
@ -487,7 +487,7 @@ int32_t game_do_command_p(
|
|||
{
|
||||
bool recordCommand = false;
|
||||
bool commandExecutes = (flags & GAME_COMMAND_FLAG_APPLY) && (flags & GAME_COMMAND_FLAG_GHOST) == 0
|
||||
&& (flags & GAME_COMMAND_FLAG_5) == 0;
|
||||
&& (flags & GAME_COMMAND_FLAG_NO_SPEND) == 0;
|
||||
|
||||
if (replayManager->IsRecording() && commandExecutes)
|
||||
recordCommand = true;
|
||||
|
|
|
@ -103,13 +103,13 @@ enum GAME_COMMAND
|
|||
|
||||
enum : uint32_t
|
||||
{
|
||||
GAME_COMMAND_FLAG_APPLY = (1 << 0), // If this flag is set, the command is applied, otherwise only the cost is retrieved
|
||||
GAME_COMMAND_FLAG_REPLAY = (1 << 1), // Command was issued from replay manager.
|
||||
GAME_COMMAND_FLAG_2 = (1 << 2),
|
||||
GAME_COMMAND_FLAG_APPLY = (1 << 0), // If this flag is set, the command is applied, otherwise only the cost is retrieved
|
||||
GAME_COMMAND_FLAG_REPLAY = (1 << 1), // Command was issued from replay manager.
|
||||
GAME_COMMAND_FLAG_2 = (1 << 2), // Unused
|
||||
GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED = (1 << 3), // Allow while paused
|
||||
GAME_COMMAND_FLAG_4 = (1 << 4),
|
||||
GAME_COMMAND_FLAG_5 = (1 << 5),
|
||||
GAME_COMMAND_FLAG_GHOST = (1 << 6),
|
||||
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_NETWORKED = (1u << 31) // Game command is coming from network
|
||||
};
|
||||
|
|
|
@ -87,9 +87,6 @@ public:
|
|||
if (!(GetFlags() & GAME_COMMAND_FLAG_GHOST) && pathElement->GetAddition() == _pathItemType
|
||||
&& !(pathElement->IsBroken()))
|
||||
{
|
||||
if (GetFlags() & GAME_COMMAND_FLAG_4)
|
||||
return MakeResult(GA_ERROR::UNKNOWN, STR_CANT_POSITION_THIS_HERE);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -129,9 +126,6 @@ public:
|
|||
res->Cost = sceneryEntry->path_bit.price;
|
||||
}
|
||||
|
||||
if (GetFlags() & GAME_COMMAND_FLAG_4)
|
||||
return MakeResult(GA_ERROR::UNKNOWN, STR_CANT_POSITION_THIS_HERE);
|
||||
|
||||
// Should place a ghost?
|
||||
if (GetFlags() & GAME_COMMAND_FLAG_GHOST)
|
||||
{
|
||||
|
|
|
@ -326,7 +326,7 @@ namespace GameActions
|
|||
}
|
||||
else if (network_get_mode() == NETWORK_MODE_NONE)
|
||||
{
|
||||
bool commandExecutes = (flags & GAME_COMMAND_FLAG_GHOST) == 0 && (flags & GAME_COMMAND_FLAG_5) == 0;
|
||||
bool commandExecutes = (flags & GAME_COMMAND_FLAG_GHOST) == 0 && (flags & GAME_COMMAND_FLAG_NO_SPEND) == 0;
|
||||
|
||||
bool recordAction = false;
|
||||
if (replayManager)
|
||||
|
@ -358,7 +358,7 @@ namespace GameActions
|
|||
}
|
||||
|
||||
// Only show errors when its not a ghost and not a preview and also top level action.
|
||||
bool shouldShowError = !(flags & GAME_COMMAND_FLAG_GHOST) && !(flags & GAME_COMMAND_FLAG_5) && topLevel == true;
|
||||
bool shouldShowError = !(flags & GAME_COMMAND_FLAG_GHOST) && !(flags & GAME_COMMAND_FLAG_NO_SPEND) && topLevel == true;
|
||||
|
||||
// In network mode the error should be only shown to the issuer of the action.
|
||||
if (network_get_mode() != NETWORK_MODE_NONE)
|
||||
|
|
|
@ -126,7 +126,7 @@ public:
|
|||
// Make sure we execute some things only on the client.
|
||||
uint16_t flags = 0;
|
||||
|
||||
if ((GetFlags() & GAME_COMMAND_FLAG_GHOST) != 0 || (GetFlags() & GAME_COMMAND_FLAG_5) != 0)
|
||||
if ((GetFlags() & GAME_COMMAND_FLAG_GHOST) != 0 || (GetFlags() & GAME_COMMAND_FLAG_NO_SPEND) != 0)
|
||||
{
|
||||
flags |= GA_FLAGS::CLIENT_ONLY;
|
||||
}
|
||||
|
|
|
@ -202,7 +202,7 @@ public:
|
|||
}
|
||||
|
||||
uint32_t flags = GetFlags();
|
||||
if (!(flags & GAME_COMMAND_FLAG_GHOST) && !(flags & GAME_COMMAND_FLAG_2))
|
||||
if (!(flags & GAME_COMMAND_FLAG_GHOST))
|
||||
{
|
||||
footpath_remove_litter(_x, _y, _z);
|
||||
wall_remove_at(floor2(_x, 32), floor2(_y, 32), _z, _z + 32);
|
||||
|
|
|
@ -308,7 +308,7 @@ private:
|
|||
{
|
||||
auto trackRemoveAction = TrackRemoveAction(
|
||||
type, it.element->AsTrack()->GetSequenceIndex(), { x, y, z, rotation });
|
||||
trackRemoveAction.SetFlags(GAME_COMMAND_FLAG_5);
|
||||
trackRemoveAction.SetFlags(GAME_COMMAND_FLAG_NO_SPEND);
|
||||
|
||||
auto removRes = GameActions::ExecuteNested(&trackRemoveAction);
|
||||
|
||||
|
|
|
@ -566,7 +566,7 @@ public:
|
|||
int32_t entranceDirections = 0;
|
||||
if (ride->overall_view.xy != RCT_XY8_UNDEFINED)
|
||||
{
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_5))
|
||||
if (!(GetFlags() & GAME_COMMAND_FLAG_NO_SPEND))
|
||||
{
|
||||
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE))
|
||||
{
|
||||
|
|
|
@ -75,7 +75,7 @@ bool finance_check_money_required(uint32_t flags)
|
|||
return false;
|
||||
if (gScreenFlags & SCREEN_FLAGS_EDITOR)
|
||||
return false;
|
||||
if (flags & GAME_COMMAND_FLAG_5)
|
||||
if (flags & GAME_COMMAND_FLAG_NO_SPEND)
|
||||
return false;
|
||||
if (flags & GAME_COMMAND_FLAG_GHOST)
|
||||
return false;
|
||||
|
|
|
@ -2778,7 +2778,7 @@ private:
|
|||
auto wallPlaceAction = WallPlaceAction(
|
||||
type, { x * 32, y * 32, 0 }, edge, colourA, colourB, colourC);
|
||||
wallPlaceAction.SetFlags(
|
||||
GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_PATH_SCENERY);
|
||||
GameActions::Execute(&wallPlaceAction);
|
||||
}
|
||||
|
|
|
@ -1451,7 +1451,7 @@ void ride_remove_provisional_track_piece()
|
|||
ride = get_ride(rideIndex);
|
||||
if (ride->type == RIDE_TYPE_MAZE)
|
||||
{
|
||||
int32_t flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
int32_t flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST;
|
||||
maze_set_track(x, y, z, flags, false, 0, rideIndex, GC_SET_MAZE_TRACK_FILL);
|
||||
maze_set_track(x, y + 16, z, flags, false, 1, rideIndex, GC_SET_MAZE_TRACK_FILL);
|
||||
|
@ -1474,7 +1474,7 @@ void ride_remove_provisional_track_piece()
|
|||
auto trackRemoveAction = TrackRemoveAction{ trackType,
|
||||
trackSequence,
|
||||
{ next_track.x, next_track.y, z, static_cast<Direction>(direction) } };
|
||||
trackRemoveAction.SetFlags(GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5 | GAME_COMMAND_FLAG_GHOST);
|
||||
trackRemoveAction.SetFlags(GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
GameActions::Execute(&trackRemoveAction);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -749,7 +749,7 @@ static bool TrackDesignPlaceSceneryElementRemoveGhost(
|
|||
|
||||
int32_t z = (scenery->z * 8 + originZ) / 8;
|
||||
uint8_t sceneryRotation = (rotation + scenery->flags) & TILE_ELEMENT_DIRECTION_MASK;
|
||||
const uint32_t flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
const uint32_t flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST;
|
||||
std::unique_ptr<GameAction> ga;
|
||||
switch (entry_type)
|
||||
|
@ -859,12 +859,12 @@ static bool TrackDesignPlaceSceneryElement(
|
|||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_5;
|
||||
| GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_5;
|
||||
| GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_QUERY)
|
||||
{
|
||||
|
@ -903,12 +903,12 @@ static bool TrackDesignPlaceSceneryElement(
|
|||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_5;
|
||||
| GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_5;
|
||||
| GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_QUERY)
|
||||
{
|
||||
|
@ -943,11 +943,11 @@ static bool TrackDesignPlaceSceneryElement(
|
|||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_PATH_SCENERY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_5;
|
||||
| GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_QUERY)
|
||||
|
@ -990,11 +990,11 @@ static bool TrackDesignPlaceSceneryElement(
|
|||
flags = GAME_COMMAND_FLAG_APPLY;
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5;
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST;
|
||||
}
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_QUERY)
|
||||
|
@ -1032,11 +1032,11 @@ static bool TrackDesignPlaceSceneryElement(
|
|||
flags = GAME_COMMAND_FLAG_APPLY;
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5;
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST;
|
||||
}
|
||||
|
||||
|
@ -1183,11 +1183,11 @@ static int32_t track_design_place_maze(rct_track_td6* td6, int16_t x, int16_t y,
|
|||
{
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5;
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST;
|
||||
}
|
||||
auto rideEntranceExitPlaceAction = RideEntranceExitPlaceAction(mapCoord, rotation, ride->id, 0, false);
|
||||
|
@ -1217,11 +1217,11 @@ static int32_t track_design_place_maze(rct_track_td6* td6, int16_t x, int16_t y,
|
|||
{
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5;
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST;
|
||||
}
|
||||
auto rideEntranceExitPlaceAction = RideEntranceExitPlaceAction(mapCoord, rotation, ride->id, 0, true);
|
||||
|
@ -1239,11 +1239,11 @@ static int32_t track_design_place_maze(rct_track_td6* td6, int16_t x, int16_t y,
|
|||
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5;
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_QUERY)
|
||||
|
@ -1324,7 +1324,7 @@ static int32_t track_design_place_maze(rct_track_td6* td6, int16_t x, int16_t y,
|
|||
{
|
||||
ride_action_modify(
|
||||
ride, RIDE_MODIFY_DEMOLISH,
|
||||
GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5 | GAME_COMMAND_FLAG_GHOST);
|
||||
GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
}
|
||||
|
||||
gTrackPreviewOrigin.x = x;
|
||||
|
@ -1384,7 +1384,7 @@ static bool track_design_place_ride(rct_track_td6* td6, int16_t x, int16_t y, in
|
|||
int32_t tempZ = z - trackCoordinates->z_begin + trackBlock->z;
|
||||
auto trackRemoveAction = TrackRemoveAction(trackType, 0, { x, y, tempZ, static_cast<Direction>(rotation & 3) });
|
||||
trackRemoveAction.SetFlags(
|
||||
GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5 | GAME_COMMAND_FLAG_GHOST);
|
||||
GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
GameActions::ExecuteNested(&trackRemoveAction);
|
||||
break;
|
||||
}
|
||||
|
@ -1415,12 +1415,12 @@ static bool track_design_place_ride(rct_track_td6* td6, int16_t x, int16_t y, in
|
|||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags |= GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED;
|
||||
flags |= GAME_COMMAND_FLAG_5;
|
||||
flags |= GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags |= GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED;
|
||||
flags |= GAME_COMMAND_FLAG_5;
|
||||
flags |= GAME_COMMAND_FLAG_NO_SPEND;
|
||||
flags |= GAME_COMMAND_FLAG_GHOST;
|
||||
}
|
||||
else if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_QUERY)
|
||||
|
@ -1563,11 +1563,11 @@ static bool track_design_place_ride(rct_track_td6* td6, int16_t x, int16_t y, in
|
|||
uint8_t flags = GAME_COMMAND_FLAG_APPLY;
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_TRACK_PREVIEW)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5;
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
}
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_GHOST)
|
||||
{
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST;
|
||||
}
|
||||
if (_trackDesignPlaceOperation == PTD_OPERATION_PLACE_QUERY)
|
||||
|
@ -1718,7 +1718,7 @@ static bool track_design_place_preview(rct_track_td6* td6, money32* cost, Ride**
|
|||
|
||||
ride_id_t rideIndex;
|
||||
uint8_t colour;
|
||||
uint8_t rideCreateFlags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5;
|
||||
uint8_t rideCreateFlags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND;
|
||||
if (ride_create_command(td6->type, entry_index, rideCreateFlags, &rideIndex, &colour) == MONEY32_UNDEFINED)
|
||||
{
|
||||
return false;
|
||||
|
|
|
@ -104,7 +104,7 @@ money32 place_provisional_track_piece(
|
|||
ride = get_ride(rideIndex);
|
||||
if (ride->type == RIDE_TYPE_MAZE)
|
||||
{
|
||||
int32_t flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5
|
||||
int32_t flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND
|
||||
| GAME_COMMAND_FLAG_GHOST; // 105
|
||||
result = maze_set_track(x, y, z, flags, true, 0, rideIndex, GC_SET_MAZE_TRACK_BUILD);
|
||||
if (result == MONEY32_UNDEFINED)
|
||||
|
@ -134,7 +134,7 @@ money32 place_provisional_track_piece(
|
|||
{
|
||||
auto trackPlaceAction = TrackPlaceAction(
|
||||
rideIndex, trackType, { x, y, z, static_cast<uint8_t>(trackDirection) }, 0, 0, 0, liftHillAndAlternativeState);
|
||||
trackPlaceAction.SetFlags(GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5 | GAME_COMMAND_FLAG_GHOST);
|
||||
trackPlaceAction.SetFlags(GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
// This command must not be sent over the network
|
||||
auto res = GameActions::Execute(&trackPlaceAction);
|
||||
result = res->Error == GA_ERROR::OK ? res->Cost : MONEY32_UNDEFINED;
|
||||
|
|
|
@ -229,7 +229,7 @@ void footpath_provisional_remove()
|
|||
|
||||
footpath_remove(
|
||||
gFootpathProvisionalPosition.x, gFootpathProvisionalPosition.y, gFootpathProvisionalPosition.z,
|
||||
GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5 | GAME_COMMAND_FLAG_GHOST);
|
||||
GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -189,7 +189,7 @@ void scenery_remove_ghost_tool_placement()
|
|||
gSceneryGhostType &= ~SCENERY_GHOST_FLAG_0;
|
||||
|
||||
auto removeSceneryAction = SmallSceneryRemoveAction(x, y, z, gSceneryQuadrant, gSceneryPlaceObject);
|
||||
removeSceneryAction.SetFlags(GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5 | GAME_COMMAND_FLAG_GHOST);
|
||||
removeSceneryAction.SetFlags(GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND | GAME_COMMAND_FLAG_GHOST);
|
||||
removeSceneryAction.Execute();
|
||||
}
|
||||
|
||||
|
@ -229,7 +229,7 @@ void scenery_remove_ghost_tool_placement()
|
|||
|
||||
auto removeSceneryAction = LargeSceneryRemoveAction(x, y, z, gSceneryPlaceRotation, 0);
|
||||
removeSceneryAction.SetFlags(
|
||||
GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_5);
|
||||
GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_NO_SPEND);
|
||||
removeSceneryAction.Execute();
|
||||
}
|
||||
|
||||
|
@ -237,7 +237,7 @@ void scenery_remove_ghost_tool_placement()
|
|||
{
|
||||
gSceneryGhostType &= ~SCENERY_GHOST_FLAG_4;
|
||||
constexpr uint32_t flags = GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_GHOST | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED
|
||||
| GAME_COMMAND_FLAG_5;
|
||||
| GAME_COMMAND_FLAG_NO_SPEND;
|
||||
game_do_command(x, flags, y, z | (gSceneryPlaceRotation << 8), GAME_COMMAND_REMOVE_BANNER, 0, 0);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue