mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-02-03 18:07:53 +01:00
* Refactor to result GameActions::Result as copy instead of unique_ptr * Remove alias GameActions::Result::Ptr * Remove MakeResult wrapper * Remove type forwarder in TileInspector
This commit is contained in:
@@ -33,11 +33,11 @@ void SurfaceSetStyleAction::Serialise(DataSerialiser& stream)
|
||||
stream << DS_TAG(_range) << DS_TAG(_surfaceStyle) << DS_TAG(_edgeStyle);
|
||||
}
|
||||
|
||||
GameActions::Result::Ptr SurfaceSetStyleAction::Query() const
|
||||
GameActions::Result SurfaceSetStyleAction::Query() const
|
||||
{
|
||||
auto res = MakeResult();
|
||||
res->ErrorTitle = STR_CANT_CHANGE_LAND_TYPE;
|
||||
res->Expenditure = ExpenditureType::Landscaping;
|
||||
auto res = GameActions::Result();
|
||||
res.ErrorTitle = STR_CANT_CHANGE_LAND_TYPE;
|
||||
res.Expenditure = ExpenditureType::Landscaping;
|
||||
|
||||
auto normRange = _range.Normalise();
|
||||
auto x0 = std::max(normRange.GetLeft(), 32);
|
||||
@@ -53,7 +53,7 @@ GameActions::Result::Ptr SurfaceSetStyleAction::Query() const
|
||||
if (_surfaceStyle > 0x1F)
|
||||
{
|
||||
log_error("Invalid surface style.");
|
||||
return MakeResult(GameActions::Status::InvalidParameters, STR_CANT_CHANGE_LAND_TYPE, STR_NONE);
|
||||
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_CHANGE_LAND_TYPE, STR_NONE);
|
||||
}
|
||||
|
||||
const auto surfaceObj = static_cast<TerrainSurfaceObject*>(
|
||||
@@ -62,7 +62,7 @@ GameActions::Result::Ptr SurfaceSetStyleAction::Query() const
|
||||
if (surfaceObj == nullptr)
|
||||
{
|
||||
log_error("Invalid surface style.");
|
||||
return MakeResult(GameActions::Status::InvalidParameters, STR_CANT_CHANGE_LAND_TYPE, STR_NONE);
|
||||
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_CHANGE_LAND_TYPE, STR_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ GameActions::Result::Ptr SurfaceSetStyleAction::Query() const
|
||||
if (_edgeStyle > 0xF)
|
||||
{
|
||||
log_error("Invalid edge style.");
|
||||
return MakeResult(GameActions::Status::InvalidParameters, STR_CANT_CHANGE_LAND_TYPE, STR_NONE);
|
||||
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_CHANGE_LAND_TYPE, STR_NONE);
|
||||
}
|
||||
|
||||
const auto edgeObj = static_cast<TerrainEdgeObject*>(objManager.GetLoadedObject(ObjectType::TerrainEdge, _edgeStyle));
|
||||
@@ -79,7 +79,7 @@ GameActions::Result::Ptr SurfaceSetStyleAction::Query() const
|
||||
if (edgeObj == nullptr)
|
||||
{
|
||||
log_error("Invalid edge style.");
|
||||
return MakeResult(GameActions::Status::InvalidParameters, STR_CANT_CHANGE_LAND_TYPE, STR_NONE);
|
||||
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_CHANGE_LAND_TYPE, STR_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,15 +87,16 @@ GameActions::Result::Ptr SurfaceSetStyleAction::Query() const
|
||||
auto yMid = (validRange.GetTop() + validRange.GetBottom()) / 2 + 16;
|
||||
auto heightMid = tile_element_height({ xMid, yMid });
|
||||
|
||||
res->Position.x = xMid;
|
||||
res->Position.y = yMid;
|
||||
res->Position.z = heightMid;
|
||||
res.Position.x = xMid;
|
||||
res.Position.y = yMid;
|
||||
res.Position.z = heightMid;
|
||||
|
||||
// Do nothing if not in editor, sandbox mode or landscaping is forbidden
|
||||
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode
|
||||
&& (gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES))
|
||||
{
|
||||
return MakeResult(GameActions::Status::Disallowed, STR_CANT_CHANGE_LAND_TYPE, STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY);
|
||||
return GameActions::Result(
|
||||
GameActions::Status::Disallowed, STR_CANT_CHANGE_LAND_TYPE, STR_FORBIDDEN_BY_THE_LOCAL_AUTHORITY);
|
||||
}
|
||||
|
||||
money32 surfaceCost = 0;
|
||||
@@ -146,16 +147,16 @@ GameActions::Result::Ptr SurfaceSetStyleAction::Query() const
|
||||
}
|
||||
}
|
||||
}
|
||||
res->Cost = surfaceCost + edgeCost;
|
||||
res.Cost = surfaceCost + edgeCost;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
GameActions::Result::Ptr SurfaceSetStyleAction::Execute() const
|
||||
GameActions::Result SurfaceSetStyleAction::Execute() const
|
||||
{
|
||||
auto res = MakeResult();
|
||||
res->ErrorTitle = STR_CANT_CHANGE_LAND_TYPE;
|
||||
res->Expenditure = ExpenditureType::Landscaping;
|
||||
auto res = GameActions::Result();
|
||||
res.ErrorTitle = STR_CANT_CHANGE_LAND_TYPE;
|
||||
res.Expenditure = ExpenditureType::Landscaping;
|
||||
|
||||
auto normRange = _range.Normalise();
|
||||
auto x0 = std::max(normRange.GetLeft(), 32);
|
||||
@@ -169,9 +170,9 @@ GameActions::Result::Ptr SurfaceSetStyleAction::Execute() const
|
||||
auto yMid = (validRange.GetTop() + validRange.GetBottom()) / 2 + 16;
|
||||
auto heightMid = tile_element_height({ xMid, yMid });
|
||||
|
||||
res->Position.x = xMid;
|
||||
res->Position.y = yMid;
|
||||
res->Position.z = heightMid;
|
||||
res.Position.x = xMid;
|
||||
res.Position.y = yMid;
|
||||
res.Position.z = heightMid;
|
||||
|
||||
money32 surfaceCost = 0;
|
||||
money32 edgeCost = 0;
|
||||
@@ -236,7 +237,7 @@ GameActions::Result::Ptr SurfaceSetStyleAction::Execute() const
|
||||
}
|
||||
}
|
||||
}
|
||||
res->Cost = surfaceCost + edgeCost;
|
||||
res.Cost = surfaceCost + edgeCost;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user