mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-16 11:33:03 +01:00
Move remaining game actions logic from header to source (#13573)
* Moving all definitions from R...Actions to source * Moving all definitions from S...Actions to source * Moving all definitions from T...Actions to source * Moving all definitions from W...Actions to source
This commit is contained in:
@@ -25,6 +25,24 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
RideCreateGameActionResult::RideCreateGameActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_NONE)
|
||||
{
|
||||
}
|
||||
|
||||
RideCreateGameActionResult::RideCreateGameActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_CANT_CREATE_NEW_RIDE_ATTRACTION, message)
|
||||
{
|
||||
}
|
||||
|
||||
RideCreateAction::RideCreateAction(int32_t rideType, ObjectEntryIndex subType, int32_t colour1, int32_t colour2)
|
||||
: _rideType(rideType)
|
||||
, _subType(subType)
|
||||
, _colour1(colour1)
|
||||
, _colour2(colour2)
|
||||
{
|
||||
}
|
||||
|
||||
void RideCreateAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("rideType", _rideType);
|
||||
@@ -33,6 +51,21 @@ void RideCreateAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
visitor.Visit("colour2", _colour2);
|
||||
}
|
||||
|
||||
int32_t RideCreateAction::GetRideType() const
|
||||
{
|
||||
return _rideType;
|
||||
}
|
||||
|
||||
int32_t RideCreateAction::GetRideObject() const
|
||||
{
|
||||
return _subType;
|
||||
}
|
||||
|
||||
uint16_t RideCreateAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void RideCreateAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
@@ -267,4 +300,4 @@ GameActions::Result::Ptr RideCreateAction::Execute() const
|
||||
res->Expenditure = ExpenditureType::RideConstruction;
|
||||
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,8 @@
|
||||
class RideCreateGameActionResult final : public GameActions::Result
|
||||
{
|
||||
public:
|
||||
RideCreateGameActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_NONE)
|
||||
{
|
||||
}
|
||||
RideCreateGameActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_CANT_CREATE_NEW_RIDE_ATTRACTION, message)
|
||||
{
|
||||
}
|
||||
RideCreateGameActionResult();
|
||||
RideCreateGameActionResult(GameActions::Status error, rct_string_id message);
|
||||
|
||||
ride_id_t rideIndex = RIDE_ID_NULL;
|
||||
};
|
||||
@@ -36,31 +30,13 @@ private:
|
||||
|
||||
public:
|
||||
RideCreateAction() = default;
|
||||
|
||||
RideCreateAction(int32_t rideType, ObjectEntryIndex subType, int32_t colour1, int32_t colour2)
|
||||
: _rideType(rideType)
|
||||
, _subType(subType)
|
||||
, _colour1(colour1)
|
||||
, _colour2(colour2)
|
||||
{
|
||||
}
|
||||
RideCreateAction(int32_t rideType, ObjectEntryIndex subType, int32_t colour1, int32_t colour2);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
int32_t GetRideType() const
|
||||
{
|
||||
return _rideType;
|
||||
}
|
||||
|
||||
int32_t GetRideObject() const
|
||||
{
|
||||
return _subType;
|
||||
}
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
int32_t GetRideType() const;
|
||||
int32_t GetRideObject() const;
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -29,12 +29,23 @@
|
||||
|
||||
using namespace OpenRCT2;
|
||||
|
||||
RideDemolishAction::RideDemolishAction(ride_id_t rideIndex, uint8_t modifyType)
|
||||
: _rideIndex(rideIndex)
|
||||
, _modifyType(modifyType)
|
||||
{
|
||||
}
|
||||
|
||||
void RideDemolishAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("ride", _rideIndex);
|
||||
visitor.Visit("modifyType", _modifyType);
|
||||
}
|
||||
|
||||
uint32_t RideDemolishAction::GetCooldownTime() const
|
||||
{
|
||||
return 1000;
|
||||
}
|
||||
|
||||
void RideDemolishAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -19,18 +19,11 @@ private:
|
||||
|
||||
public:
|
||||
RideDemolishAction() = default;
|
||||
RideDemolishAction(ride_id_t rideIndex, uint8_t modifyType)
|
||||
: _rideIndex(rideIndex)
|
||||
, _modifyType(modifyType)
|
||||
{
|
||||
}
|
||||
RideDemolishAction(ride_id_t rideIndex, uint8_t modifyType);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint32_t GetCooldownTime() const override
|
||||
{
|
||||
return 1000;
|
||||
}
|
||||
uint32_t GetCooldownTime() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -16,6 +16,16 @@
|
||||
#include "../world/MapAnimation.h"
|
||||
#include "../world/Sprite.h"
|
||||
|
||||
RideEntranceExitPlaceAction::RideEntranceExitPlaceAction(
|
||||
const CoordsXY& loc, Direction direction, ride_id_t rideIndex, StationIndex stationNum, bool isExit)
|
||||
: _loc(loc)
|
||||
, _direction(direction)
|
||||
, _rideIndex(rideIndex)
|
||||
, _stationNum(stationNum)
|
||||
, _isExit(isExit)
|
||||
{
|
||||
}
|
||||
|
||||
void RideEntranceExitPlaceAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
@@ -25,6 +35,11 @@ void RideEntranceExitPlaceAction::AcceptParameters(GameActionParameterVisitor& v
|
||||
visitor.Visit("isExit", _isExit);
|
||||
}
|
||||
|
||||
uint16_t RideEntranceExitPlaceAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void RideEntranceExitPlaceAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
@@ -202,3 +217,41 @@ GameActions::Result::Ptr RideEntranceExitPlaceAction::Execute() const
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
GameActions::Result::Ptr RideEntranceExitPlaceAction::TrackPlaceQuery(const CoordsXYZ& loc, const bool isExit)
|
||||
{
|
||||
auto errorTitle = isExit ? STR_CANT_BUILD_MOVE_EXIT_FOR_THIS_RIDE_ATTRACTION
|
||||
: STR_CANT_BUILD_MOVE_ENTRANCE_FOR_THIS_RIDE_ATTRACTION;
|
||||
if (!map_check_free_elements_and_reorganise(1))
|
||||
{
|
||||
return MakeResult(GameActions::Status::NoFreeElements, errorTitle);
|
||||
}
|
||||
|
||||
if (!gCheatsSandboxMode && !map_is_location_owned(loc))
|
||||
{
|
||||
return MakeResult(GameActions::Status::NotOwned, errorTitle);
|
||||
}
|
||||
|
||||
int16_t baseZ = loc.z;
|
||||
int16_t clearZ = baseZ + (isExit ? RideExitHeight : RideEntranceHeight);
|
||||
auto cost = MONEY32_UNDEFINED;
|
||||
if (!map_can_construct_with_clear_at(
|
||||
{ loc, baseZ, clearZ }, &map_place_non_scenery_clear_func, { 0b1111, 0 }, 0, &cost, CREATE_CROSSING_MODE_NONE))
|
||||
{
|
||||
return MakeResult(GameActions::Status::NoClearance, errorTitle, gGameCommandErrorText, gCommonFormatArgs);
|
||||
}
|
||||
|
||||
if (gMapGroundFlags & ELEMENT_IS_UNDERWATER)
|
||||
{
|
||||
return MakeResult(GameActions::Status::Disallowed, errorTitle, STR_RIDE_CANT_BUILD_THIS_UNDERWATER);
|
||||
}
|
||||
|
||||
if (baseZ > MaxRideEntranceOrExitHeight)
|
||||
{
|
||||
return MakeResult(GameActions::Status::Disallowed, errorTitle, STR_TOO_HIGH);
|
||||
}
|
||||
auto res = MakeResult();
|
||||
res->Position = { loc.ToTileCentre(), tile_element_height(loc) };
|
||||
res->Expenditure = ExpenditureType::RideConstruction;
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -23,63 +23,16 @@ private:
|
||||
|
||||
public:
|
||||
RideEntranceExitPlaceAction() = default;
|
||||
|
||||
RideEntranceExitPlaceAction(
|
||||
const CoordsXY& loc, Direction direction, ride_id_t rideIndex, StationIndex stationNum, bool isExit)
|
||||
: _loc(loc)
|
||||
, _direction(direction)
|
||||
, _rideIndex(rideIndex)
|
||||
, _stationNum(stationNum)
|
||||
, _isExit(isExit)
|
||||
{
|
||||
}
|
||||
const CoordsXY& loc, Direction direction, ride_id_t rideIndex, StationIndex stationNum, bool isExit);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
GameActions::Result::Ptr Execute() const override;
|
||||
|
||||
static GameActions::Result::Ptr TrackPlaceQuery(const CoordsXYZ& loc, const bool isExit)
|
||||
{
|
||||
auto errorTitle = isExit ? STR_CANT_BUILD_MOVE_EXIT_FOR_THIS_RIDE_ATTRACTION
|
||||
: STR_CANT_BUILD_MOVE_ENTRANCE_FOR_THIS_RIDE_ATTRACTION;
|
||||
if (!map_check_free_elements_and_reorganise(1))
|
||||
{
|
||||
return MakeResult(GameActions::Status::NoFreeElements, errorTitle);
|
||||
}
|
||||
|
||||
if (!gCheatsSandboxMode && !map_is_location_owned(loc))
|
||||
{
|
||||
return MakeResult(GameActions::Status::NotOwned, errorTitle);
|
||||
}
|
||||
|
||||
int16_t baseZ = loc.z;
|
||||
int16_t clearZ = baseZ + (isExit ? RideExitHeight : RideEntranceHeight);
|
||||
auto cost = MONEY32_UNDEFINED;
|
||||
if (!map_can_construct_with_clear_at(
|
||||
{ loc, baseZ, clearZ }, &map_place_non_scenery_clear_func, { 0b1111, 0 }, 0, &cost, CREATE_CROSSING_MODE_NONE))
|
||||
{
|
||||
return MakeResult(GameActions::Status::NoClearance, errorTitle, gGameCommandErrorText, gCommonFormatArgs);
|
||||
}
|
||||
|
||||
if (gMapGroundFlags & ELEMENT_IS_UNDERWATER)
|
||||
{
|
||||
return MakeResult(GameActions::Status::Disallowed, errorTitle, STR_RIDE_CANT_BUILD_THIS_UNDERWATER);
|
||||
}
|
||||
|
||||
if (baseZ > MaxRideEntranceOrExitHeight)
|
||||
{
|
||||
return MakeResult(GameActions::Status::Disallowed, errorTitle, STR_TOO_HIGH);
|
||||
}
|
||||
auto res = MakeResult();
|
||||
res->Position = { loc.ToTileCentre(), tile_element_height(loc) };
|
||||
res->Expenditure = ExpenditureType::RideConstruction;
|
||||
return res;
|
||||
}
|
||||
static GameActions::Result::Ptr TrackPlaceQuery(const CoordsXYZ& loc, const bool isExit);
|
||||
};
|
||||
|
||||
@@ -13,6 +13,15 @@
|
||||
#include "../ride/Station.h"
|
||||
#include "../world/Entrance.h"
|
||||
|
||||
RideEntranceExitRemoveAction::RideEntranceExitRemoveAction(
|
||||
const CoordsXY& loc, ride_id_t rideIndex, StationIndex stationNum, bool isExit)
|
||||
: _loc(loc)
|
||||
, _rideIndex(rideIndex)
|
||||
, _stationNum(stationNum)
|
||||
, _isExit(isExit)
|
||||
{
|
||||
}
|
||||
|
||||
void RideEntranceExitRemoveAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
@@ -21,6 +30,11 @@ void RideEntranceExitRemoveAction::AcceptParameters(GameActionParameterVisitor&
|
||||
visitor.Visit("isExit", _isExit);
|
||||
}
|
||||
|
||||
uint16_t RideEntranceExitRemoveAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void RideEntranceExitRemoveAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -21,21 +21,11 @@ private:
|
||||
|
||||
public:
|
||||
RideEntranceExitRemoveAction() = default;
|
||||
|
||||
RideEntranceExitRemoveAction(const CoordsXY& loc, ride_id_t rideIndex, StationIndex stationNum, bool isExit)
|
||||
: _loc(loc)
|
||||
, _rideIndex(rideIndex)
|
||||
, _stationNum(stationNum)
|
||||
, _isExit(isExit)
|
||||
{
|
||||
}
|
||||
RideEntranceExitRemoveAction(const CoordsXY& loc, ride_id_t rideIndex, StationIndex stationNum, bool isExit);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -21,6 +21,14 @@
|
||||
#include "../ui/WindowManager.h"
|
||||
#include "../world/Park.h"
|
||||
|
||||
RideSetAppearanceAction::RideSetAppearanceAction(ride_id_t rideIndex, RideSetAppearanceType type, uint8_t value, uint32_t index)
|
||||
: _rideIndex(rideIndex)
|
||||
, _type(type)
|
||||
, _value(value)
|
||||
, _index(index)
|
||||
{
|
||||
}
|
||||
|
||||
void RideSetAppearanceAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("ride", _rideIndex);
|
||||
@@ -29,6 +37,11 @@ void RideSetAppearanceAction::AcceptParameters(GameActionParameterVisitor& visit
|
||||
visitor.Visit("index", _index);
|
||||
}
|
||||
|
||||
uint16_t RideSetAppearanceAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void RideSetAppearanceAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -34,20 +34,11 @@ private:
|
||||
|
||||
public:
|
||||
RideSetAppearanceAction() = default;
|
||||
RideSetAppearanceAction(ride_id_t rideIndex, RideSetAppearanceType type, uint8_t value, uint32_t index)
|
||||
: _rideIndex(rideIndex)
|
||||
, _type(type)
|
||||
, _value(value)
|
||||
, _index(index)
|
||||
{
|
||||
}
|
||||
RideSetAppearanceAction(ride_id_t rideIndex, RideSetAppearanceType type, uint8_t value, uint32_t index);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -20,6 +20,13 @@
|
||||
#include "../world/Park.h"
|
||||
#include "../world/Sprite.h"
|
||||
|
||||
RideSetColourSchemeAction::RideSetColourSchemeAction(const CoordsXYZD& location, int32_t trackType, uint16_t newColourScheme)
|
||||
: _loc(location)
|
||||
, _trackType(trackType)
|
||||
, _newColourScheme(newColourScheme)
|
||||
{
|
||||
}
|
||||
|
||||
void RideSetColourSchemeAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
@@ -27,6 +34,11 @@ void RideSetColourSchemeAction::AcceptParameters(GameActionParameterVisitor& vis
|
||||
visitor.Visit("colourScheme", _newColourScheme);
|
||||
}
|
||||
|
||||
uint16_t RideSetColourSchemeAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void RideSetColourSchemeAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -20,19 +20,11 @@ private:
|
||||
|
||||
public:
|
||||
RideSetColourSchemeAction() = default;
|
||||
RideSetColourSchemeAction(const CoordsXYZD& location, int32_t trackType, uint16_t newColourScheme)
|
||||
: _loc(location)
|
||||
, _trackType(trackType)
|
||||
, _newColourScheme(newColourScheme)
|
||||
{
|
||||
}
|
||||
RideSetColourSchemeAction(const CoordsXYZD& location, int32_t trackType, uint16_t newColourScheme);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -21,12 +21,23 @@
|
||||
#include "../ui/WindowManager.h"
|
||||
#include "../world/Park.h"
|
||||
|
||||
RideSetNameAction::RideSetNameAction(ride_id_t rideIndex, const std::string& name)
|
||||
: _rideIndex(rideIndex)
|
||||
, _name(name)
|
||||
{
|
||||
}
|
||||
|
||||
void RideSetNameAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("ride", _rideIndex);
|
||||
visitor.Visit("name", _name);
|
||||
}
|
||||
|
||||
uint16_t RideSetNameAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void RideSetNameAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -19,18 +19,11 @@ private:
|
||||
|
||||
public:
|
||||
RideSetNameAction() = default;
|
||||
RideSetNameAction(ride_id_t rideIndex, const std::string& name)
|
||||
: _rideIndex(rideIndex)
|
||||
, _name(name)
|
||||
{
|
||||
}
|
||||
RideSetNameAction(ride_id_t rideIndex, const std::string& name);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -22,6 +22,13 @@
|
||||
#include "../world/Park.h"
|
||||
#include "../world/Sprite.h"
|
||||
|
||||
RideSetPriceAction::RideSetPriceAction(ride_id_t rideIndex, money16 price, bool primaryPrice)
|
||||
: _rideIndex(rideIndex)
|
||||
, _price(price)
|
||||
, _primaryPrice(primaryPrice)
|
||||
{
|
||||
}
|
||||
|
||||
void RideSetPriceAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("ride", _rideIndex);
|
||||
@@ -29,6 +36,11 @@ void RideSetPriceAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
visitor.Visit("isPrimaryPrice", _primaryPrice);
|
||||
}
|
||||
|
||||
uint16_t RideSetPriceAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void RideSetPriceAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -20,19 +20,11 @@ private:
|
||||
|
||||
public:
|
||||
RideSetPriceAction() = default;
|
||||
RideSetPriceAction(ride_id_t rideIndex, money16 price, bool primaryPrice)
|
||||
: _rideIndex(rideIndex)
|
||||
, _price(price)
|
||||
, _primaryPrice(primaryPrice)
|
||||
{
|
||||
}
|
||||
RideSetPriceAction(ride_id_t rideIndex, money16 price, bool primaryPrice);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -12,6 +12,13 @@
|
||||
#include "../ride/Ride.h"
|
||||
#include "../ride/RideData.h"
|
||||
|
||||
RideSetSettingAction::RideSetSettingAction(ride_id_t rideIndex, RideSetSetting setting, uint8_t value)
|
||||
: _rideIndex(rideIndex)
|
||||
, _setting(setting)
|
||||
, _value(value)
|
||||
{
|
||||
}
|
||||
|
||||
void RideSetSettingAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("ride", _rideIndex);
|
||||
@@ -19,6 +26,11 @@ void RideSetSettingAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
visitor.Visit("value", _value);
|
||||
}
|
||||
|
||||
uint16_t RideSetSettingAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void RideSetSettingAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -35,19 +35,11 @@ private:
|
||||
|
||||
public:
|
||||
RideSetSettingAction() = default;
|
||||
RideSetSettingAction(ride_id_t rideIndex, RideSetSetting setting, uint8_t value)
|
||||
: _rideIndex(rideIndex)
|
||||
, _setting(setting)
|
||||
, _value(value)
|
||||
{
|
||||
}
|
||||
RideSetSettingAction(ride_id_t rideIndex, RideSetSetting setting, uint8_t value);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -29,12 +29,23 @@ static rct_string_id _StatusErrorTitles[] = {
|
||||
STR_CANT_SIMULATE,
|
||||
};
|
||||
|
||||
RideSetStatusAction::RideSetStatusAction(ride_id_t rideIndex, uint8_t status)
|
||||
: _rideIndex(rideIndex)
|
||||
, _status(status)
|
||||
{
|
||||
}
|
||||
|
||||
void RideSetStatusAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("ride", _rideIndex);
|
||||
visitor.Visit("status", _status);
|
||||
}
|
||||
|
||||
uint16_t RideSetStatusAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void RideSetStatusAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -19,18 +19,11 @@ private:
|
||||
|
||||
public:
|
||||
RideSetStatusAction() = default;
|
||||
RideSetStatusAction(ride_id_t rideIndex, uint8_t status)
|
||||
: _rideIndex(rideIndex)
|
||||
, _status(status)
|
||||
{
|
||||
}
|
||||
RideSetStatusAction(ride_id_t rideIndex, uint8_t status);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -25,6 +25,18 @@
|
||||
#include "../util/Util.h"
|
||||
#include "../world/Park.h"
|
||||
|
||||
constexpr static rct_string_id SetVehicleTypeErrorTitle[] = { STR_RIDE_SET_VEHICLE_SET_NUM_TRAINS_FAIL,
|
||||
STR_RIDE_SET_VEHICLE_SET_NUM_CARS_PER_TRAIN_FAIL,
|
||||
STR_RIDE_SET_VEHICLE_TYPE_FAIL };
|
||||
|
||||
RideSetVehicleAction::RideSetVehicleAction(ride_id_t rideIndex, RideSetVehicleType type, uint8_t value, uint8_t colour)
|
||||
: _rideIndex(rideIndex)
|
||||
, _type(type)
|
||||
, _value(value)
|
||||
, _colour(colour)
|
||||
{
|
||||
}
|
||||
|
||||
void RideSetVehicleAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("ride", _rideIndex);
|
||||
@@ -33,6 +45,11 @@ void RideSetVehicleAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
visitor.Visit("colour", _colour);
|
||||
}
|
||||
|
||||
uint16_t RideSetVehicleAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void RideSetVehicleAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -27,26 +27,13 @@ private:
|
||||
uint8_t _value{};
|
||||
uint8_t _colour{};
|
||||
|
||||
constexpr static rct_string_id SetVehicleTypeErrorTitle[] = { STR_RIDE_SET_VEHICLE_SET_NUM_TRAINS_FAIL,
|
||||
STR_RIDE_SET_VEHICLE_SET_NUM_CARS_PER_TRAIN_FAIL,
|
||||
STR_RIDE_SET_VEHICLE_TYPE_FAIL };
|
||||
|
||||
public:
|
||||
RideSetVehicleAction() = default;
|
||||
RideSetVehicleAction(ride_id_t rideIndex, RideSetVehicleType type, uint8_t value, uint8_t colour = 0)
|
||||
: _rideIndex(rideIndex)
|
||||
, _type(type)
|
||||
, _value(value)
|
||||
, _colour(colour)
|
||||
{
|
||||
}
|
||||
RideSetVehicleAction(ride_id_t rideIndex, RideSetVehicleType type, uint8_t value, uint8_t colour = 0);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -37,6 +37,13 @@
|
||||
|
||||
using ParametersRange = std::pair<std::pair<int32_t, int32_t>, std::pair<int32_t, int32_t>>;
|
||||
|
||||
SetCheatAction::SetCheatAction(CheatType cheatType, int32_t param1, int32_t param2)
|
||||
: _cheatType(static_cast<int32_t>(cheatType))
|
||||
, _param1(param1)
|
||||
, _param2(param2)
|
||||
{
|
||||
}
|
||||
|
||||
void SetCheatAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("type", _cheatType);
|
||||
@@ -44,6 +51,11 @@ void SetCheatAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
visitor.Visit("param2", _param2);
|
||||
}
|
||||
|
||||
uint16_t SetCheatAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void SetCheatAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -22,19 +22,11 @@ private:
|
||||
|
||||
public:
|
||||
SetCheatAction() = default;
|
||||
SetCheatAction(CheatType cheatType, int32_t param1 = 0, int32_t param2 = 0)
|
||||
: _cheatType(static_cast<int32_t>(cheatType))
|
||||
, _param1(param1)
|
||||
, _param2(param2)
|
||||
{
|
||||
}
|
||||
SetCheatAction(CheatType cheatType, int32_t param1 = 0, int32_t param2 = 0);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -15,6 +15,16 @@
|
||||
#include "../localisation/StringIds.h"
|
||||
#include "../world/Park.h"
|
||||
|
||||
SetParkEntranceFeeAction::SetParkEntranceFeeAction(money16 fee)
|
||||
: _fee(fee)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t SetParkEntranceFeeAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void SetParkEntranceFeeAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -18,15 +18,9 @@ private:
|
||||
|
||||
public:
|
||||
SetParkEntranceFeeAction() = default;
|
||||
SetParkEntranceFeeAction(money16 fee)
|
||||
: _fee(fee)
|
||||
{
|
||||
}
|
||||
SetParkEntranceFeeAction(money16 fee);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -20,6 +20,17 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
SignSetNameAction::SignSetNameAction(BannerIndex bannerIndex, const std::string& name)
|
||||
: _bannerIndex(bannerIndex)
|
||||
, _name(name)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t SignSetNameAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void SignSetNameAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -19,16 +19,9 @@ private:
|
||||
|
||||
public:
|
||||
SignSetNameAction() = default;
|
||||
SignSetNameAction(BannerIndex bannerIndex, const std::string& name)
|
||||
: _bannerIndex(bannerIndex)
|
||||
, _name(name)
|
||||
{
|
||||
}
|
||||
SignSetNameAction(BannerIndex bannerIndex, const std::string& name);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -19,6 +19,19 @@
|
||||
#include "../world/Scenery.h"
|
||||
#include "../world/Sprite.h"
|
||||
|
||||
SignSetStyleAction::SignSetStyleAction(BannerIndex bannerIndex, uint8_t mainColour, uint8_t textColour, bool isLarge)
|
||||
: _bannerIndex(bannerIndex)
|
||||
, _mainColour(mainColour)
|
||||
, _textColour(textColour)
|
||||
, _isLarge(isLarge)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t SignSetStyleAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void SignSetStyleAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -21,18 +21,9 @@ private:
|
||||
|
||||
public:
|
||||
SignSetStyleAction() = default;
|
||||
SignSetStyleAction(BannerIndex bannerIndex, uint8_t mainColour, uint8_t textColour, bool isLarge)
|
||||
: _bannerIndex(bannerIndex)
|
||||
, _mainColour(mainColour)
|
||||
, _textColour(textColour)
|
||||
, _isLarge(isLarge)
|
||||
{
|
||||
}
|
||||
SignSetStyleAction(BannerIndex bannerIndex, uint8_t mainColour, uint8_t textColour, bool isLarge);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -28,6 +28,36 @@
|
||||
#include "GameAction.h"
|
||||
#include "SmallSceneryRemoveAction.h"
|
||||
|
||||
SmallSceneryPlaceActionResult::SmallSceneryPlaceActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_CANT_POSITION_THIS_HERE)
|
||||
{
|
||||
}
|
||||
|
||||
SmallSceneryPlaceActionResult::SmallSceneryPlaceActionResult(GameActions::Status error)
|
||||
: GameActions::Result(error, STR_CANT_POSITION_THIS_HERE)
|
||||
{
|
||||
}
|
||||
|
||||
SmallSceneryPlaceActionResult::SmallSceneryPlaceActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_CANT_POSITION_THIS_HERE, message)
|
||||
{
|
||||
}
|
||||
|
||||
SmallSceneryPlaceActionResult::SmallSceneryPlaceActionResult(GameActions::Status error, rct_string_id message, uint8_t* args)
|
||||
: GameActions::Result(error, STR_CANT_POSITION_THIS_HERE, message, args)
|
||||
{
|
||||
}
|
||||
|
||||
SmallSceneryPlaceAction::SmallSceneryPlaceAction(
|
||||
const CoordsXYZD& loc, uint8_t quadrant, ObjectEntryIndex sceneryType, uint8_t primaryColour, uint8_t secondaryColour)
|
||||
: _loc(loc)
|
||||
, _quadrant(quadrant)
|
||||
, _sceneryType(sceneryType)
|
||||
, _primaryColour(primaryColour)
|
||||
, _secondaryColour(secondaryColour)
|
||||
{
|
||||
}
|
||||
|
||||
void SmallSceneryPlaceAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
@@ -37,6 +67,16 @@ void SmallSceneryPlaceAction::AcceptParameters(GameActionParameterVisitor& visit
|
||||
visitor.Visit("secondaryColour", _secondaryColour);
|
||||
}
|
||||
|
||||
uint32_t SmallSceneryPlaceAction::GetCooldownTime() const
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
|
||||
uint16_t SmallSceneryPlaceAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void SmallSceneryPlaceAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -15,22 +15,10 @@
|
||||
class SmallSceneryPlaceActionResult final : public GameActions::Result
|
||||
{
|
||||
public:
|
||||
SmallSceneryPlaceActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_CANT_POSITION_THIS_HERE)
|
||||
{
|
||||
}
|
||||
SmallSceneryPlaceActionResult(GameActions::Status error)
|
||||
: GameActions::Result(error, STR_CANT_POSITION_THIS_HERE)
|
||||
{
|
||||
}
|
||||
SmallSceneryPlaceActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_CANT_POSITION_THIS_HERE, message)
|
||||
{
|
||||
}
|
||||
SmallSceneryPlaceActionResult(GameActions::Status error, rct_string_id message, uint8_t* args)
|
||||
: GameActions::Result(error, STR_CANT_POSITION_THIS_HERE, message, args)
|
||||
{
|
||||
}
|
||||
SmallSceneryPlaceActionResult();
|
||||
SmallSceneryPlaceActionResult(GameActions::Status error);
|
||||
SmallSceneryPlaceActionResult(GameActions::Status error, rct_string_id message);
|
||||
SmallSceneryPlaceActionResult(GameActions::Status error, rct_string_id message, uint8_t* args);
|
||||
|
||||
uint8_t GroundFlags{ 0 };
|
||||
TileElement* tileElement = nullptr;
|
||||
@@ -47,27 +35,13 @@ private:
|
||||
|
||||
public:
|
||||
SmallSceneryPlaceAction() = default;
|
||||
|
||||
SmallSceneryPlaceAction(
|
||||
const CoordsXYZD& loc, uint8_t quadrant, ObjectEntryIndex sceneryType, uint8_t primaryColour, uint8_t secondaryColour)
|
||||
: _loc(loc)
|
||||
, _quadrant(quadrant)
|
||||
, _sceneryType(sceneryType)
|
||||
, _primaryColour(primaryColour)
|
||||
, _secondaryColour(secondaryColour)
|
||||
{
|
||||
}
|
||||
const CoordsXYZD& loc, uint8_t quadrant, ObjectEntryIndex sceneryType, uint8_t primaryColour, uint8_t secondaryColour);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
uint32_t GetCooldownTime() const override
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint32_t GetCooldownTime() const override;
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -24,6 +24,13 @@
|
||||
#include "GameAction.h"
|
||||
#include "SmallSceneryPlaceAction.h"
|
||||
|
||||
SmallSceneryRemoveAction::SmallSceneryRemoveAction(const CoordsXYZ& location, uint8_t quadrant, ObjectEntryIndex sceneryType)
|
||||
: _loc(location)
|
||||
, _quadrant(quadrant)
|
||||
, _sceneryType(sceneryType)
|
||||
{
|
||||
}
|
||||
|
||||
void SmallSceneryRemoveAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
@@ -31,6 +38,11 @@ void SmallSceneryRemoveAction::AcceptParameters(GameActionParameterVisitor& visi
|
||||
visitor.Visit("quadrant", _quadrant);
|
||||
}
|
||||
|
||||
uint16_t SmallSceneryRemoveAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void SmallSceneryRemoveAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -21,20 +21,11 @@ private:
|
||||
|
||||
public:
|
||||
SmallSceneryRemoveAction() = default;
|
||||
|
||||
SmallSceneryRemoveAction(const CoordsXYZ& location, uint8_t quadrant, ObjectEntryIndex sceneryType)
|
||||
: _loc(location)
|
||||
, _quadrant(quadrant)
|
||||
, _sceneryType(sceneryType)
|
||||
{
|
||||
}
|
||||
SmallSceneryRemoveAction(const CoordsXYZ& location, uint8_t quadrant, ObjectEntryIndex sceneryType);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -26,6 +26,21 @@
|
||||
#include "../world/Surface.h"
|
||||
#include "../world/TileElement.h"
|
||||
|
||||
SmallScenerySetColourAction::SmallScenerySetColourAction(
|
||||
const CoordsXYZ& loc, uint8_t quadrant, ObjectEntryIndex sceneryType, uint8_t primaryColour, uint8_t secondaryColour)
|
||||
: _loc(loc)
|
||||
, _quadrant(quadrant)
|
||||
, _sceneryType(sceneryType)
|
||||
, _primaryColour(primaryColour)
|
||||
, _secondaryColour(secondaryColour)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t SmallScenerySetColourAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void SmallScenerySetColourAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -22,21 +22,10 @@ private:
|
||||
|
||||
public:
|
||||
SmallScenerySetColourAction() = default;
|
||||
|
||||
SmallScenerySetColourAction(
|
||||
const CoordsXYZ& loc, uint8_t quadrant, ObjectEntryIndex sceneryType, uint8_t primaryColour, uint8_t secondaryColour)
|
||||
: _loc(loc)
|
||||
, _quadrant(quadrant)
|
||||
, _sceneryType(sceneryType)
|
||||
, _primaryColour(primaryColour)
|
||||
, _secondaryColour(secondaryColour)
|
||||
{
|
||||
}
|
||||
const CoordsXYZ& loc, uint8_t quadrant, ObjectEntryIndex sceneryType, uint8_t primaryColour, uint8_t secondaryColour);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -12,6 +12,16 @@
|
||||
#include "../interface/Window.h"
|
||||
#include "../peep/Peep.h"
|
||||
|
||||
StaffFireAction::StaffFireAction(uint16_t spriteId)
|
||||
: _spriteId(spriteId)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t StaffFireAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void StaffFireAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -19,15 +19,9 @@ private:
|
||||
|
||||
public:
|
||||
StaffFireAction() = default;
|
||||
StaffFireAction(uint16_t spriteId)
|
||||
: _spriteId(spriteId)
|
||||
{
|
||||
}
|
||||
StaffFireAction(uint16_t spriteId);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -26,6 +26,25 @@
|
||||
#include "../world/Park.h"
|
||||
#include "../world/Sprite.h"
|
||||
|
||||
StaffHireNewActionResult::StaffHireNewActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_CANT_HIRE_NEW_STAFF)
|
||||
{
|
||||
}
|
||||
|
||||
StaffHireNewActionResult::StaffHireNewActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_CANT_HIRE_NEW_STAFF, message)
|
||||
{
|
||||
}
|
||||
|
||||
StaffHireNewAction::StaffHireNewAction(
|
||||
bool autoPosition, StaffType staffType, EntertainerCostume entertainerType, uint32_t staffOrders)
|
||||
: _autoPosition(autoPosition)
|
||||
, _staffType(static_cast<uint8_t>(staffType))
|
||||
, _entertainerType(entertainerType)
|
||||
, _staffOrders(staffOrders)
|
||||
{
|
||||
}
|
||||
|
||||
void StaffHireNewAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit("autoPosition", _autoPosition);
|
||||
@@ -34,6 +53,11 @@ void StaffHireNewAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
visitor.Visit("staffOrders", _staffOrders);
|
||||
}
|
||||
|
||||
uint16_t StaffHireNewAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void StaffHireNewAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -24,14 +24,8 @@ static constexpr const PeepSpriteType spriteTypes[] = {
|
||||
class StaffHireNewActionResult final : public GameActions::Result
|
||||
{
|
||||
public:
|
||||
StaffHireNewActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_CANT_HIRE_NEW_STAFF)
|
||||
{
|
||||
}
|
||||
StaffHireNewActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_CANT_HIRE_NEW_STAFF, message)
|
||||
{
|
||||
}
|
||||
StaffHireNewActionResult();
|
||||
StaffHireNewActionResult(GameActions::Status error, rct_string_id message);
|
||||
|
||||
uint32_t peepSriteIndex = SPRITE_INDEX_NULL;
|
||||
};
|
||||
@@ -46,20 +40,11 @@ private:
|
||||
|
||||
public:
|
||||
StaffHireNewAction() = default;
|
||||
StaffHireNewAction(bool autoPosition, StaffType staffType, EntertainerCostume entertainerType, uint32_t staffOrders)
|
||||
: _autoPosition(autoPosition)
|
||||
, _staffType(static_cast<uint8_t>(staffType))
|
||||
, _entertainerType(entertainerType)
|
||||
, _staffOrders(staffOrders)
|
||||
{
|
||||
}
|
||||
StaffHireNewAction(bool autoPosition, StaffType staffType, EntertainerCostume entertainerType, uint32_t staffOrders);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -19,6 +19,17 @@
|
||||
#include "../windows/Intent.h"
|
||||
#include "../world/Sprite.h"
|
||||
|
||||
StaffSetColourAction::StaffSetColourAction(StaffType staffType, uint8_t colour)
|
||||
: _staffType(static_cast<uint8_t>(staffType))
|
||||
, _colour(colour)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t StaffSetColourAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void StaffSetColourAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -19,16 +19,9 @@ private:
|
||||
|
||||
public:
|
||||
StaffSetColourAction() = default;
|
||||
StaffSetColourAction(StaffType staffType, uint8_t colour)
|
||||
: _staffType(static_cast<uint8_t>(staffType))
|
||||
, _colour(colour)
|
||||
{
|
||||
}
|
||||
StaffSetColourAction(StaffType staffType, uint8_t colour);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -15,6 +15,37 @@
|
||||
#include "../localisation/StringIds.h"
|
||||
#include "../windows/Intent.h"
|
||||
|
||||
/** rct2: 0x00982134 */
|
||||
constexpr const bool peep_slow_walking_types[] = {
|
||||
false, // PeepSpriteType::Normal
|
||||
false, // PeepSpriteType::Handyman
|
||||
false, // PeepSpriteType::Mechanic
|
||||
false, // PeepSpriteType::Security
|
||||
false, // PeepSpriteType::EntertainerPanda
|
||||
false, // PeepSpriteType::EntertainerTiger
|
||||
false, // PeepSpriteType::EntertainerElephant
|
||||
false, // PeepSpriteType::EntertainerRoman
|
||||
false, // PeepSpriteType::EntertainerGorilla
|
||||
false, // PeepSpriteType::EntertainerSnowman
|
||||
false, // PeepSpriteType::EntertainerKnight
|
||||
true, // PeepSpriteType::EntertainerAstronaut
|
||||
false, // PeepSpriteType::EntertainerBandit
|
||||
false, // PeepSpriteType::EntertainerSheriff
|
||||
true, // PeepSpriteType::EntertainerPirate
|
||||
true, // PeepSpriteType::Balloon
|
||||
};
|
||||
|
||||
StaffSetCostumeAction::StaffSetCostumeAction(uint16_t spriteIndex, EntertainerCostume costume)
|
||||
: _spriteIndex(spriteIndex)
|
||||
, _costume(costume)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t StaffSetCostumeAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void StaffSetCostumeAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -13,26 +13,6 @@
|
||||
#include "../world/Sprite.h"
|
||||
#include "GameAction.h"
|
||||
|
||||
/** rct2: 0x00982134 */
|
||||
constexpr const bool peep_slow_walking_types[] = {
|
||||
false, // PeepSpriteType::Normal
|
||||
false, // PeepSpriteType::Handyman
|
||||
false, // PeepSpriteType::Mechanic
|
||||
false, // PeepSpriteType::Security
|
||||
false, // PeepSpriteType::EntertainerPanda
|
||||
false, // PeepSpriteType::EntertainerTiger
|
||||
false, // PeepSpriteType::EntertainerElephant
|
||||
false, // PeepSpriteType::EntertainerRoman
|
||||
false, // PeepSpriteType::EntertainerGorilla
|
||||
false, // PeepSpriteType::EntertainerSnowman
|
||||
false, // PeepSpriteType::EntertainerKnight
|
||||
true, // PeepSpriteType::EntertainerAstronaut
|
||||
false, // PeepSpriteType::EntertainerBandit
|
||||
false, // PeepSpriteType::EntertainerSheriff
|
||||
true, // PeepSpriteType::EntertainerPirate
|
||||
true, // PeepSpriteType::Balloon
|
||||
};
|
||||
|
||||
DEFINE_GAME_ACTION(StaffSetCostumeAction, GAME_COMMAND_SET_STAFF_COSTUME, GameActions::Result)
|
||||
{
|
||||
private:
|
||||
@@ -41,16 +21,9 @@ private:
|
||||
|
||||
public:
|
||||
StaffSetCostumeAction() = default;
|
||||
StaffSetCostumeAction(uint16_t spriteIndex, EntertainerCostume costume)
|
||||
: _spriteIndex(spriteIndex)
|
||||
, _costume(costume)
|
||||
{
|
||||
}
|
||||
StaffSetCostumeAction(uint16_t spriteIndex, EntertainerCostume costume);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -20,6 +20,17 @@
|
||||
#include "../windows/Intent.h"
|
||||
#include "../world/Park.h"
|
||||
|
||||
StaffSetNameAction::StaffSetNameAction(uint16_t spriteIndex, const std::string& name)
|
||||
: _spriteIndex(spriteIndex)
|
||||
, _name(name)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t StaffSetNameAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void StaffSetNameAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -20,17 +20,9 @@ private:
|
||||
|
||||
public:
|
||||
StaffSetNameAction() = default;
|
||||
StaffSetNameAction(uint16_t spriteIndex, const std::string& name)
|
||||
: _spriteIndex(spriteIndex)
|
||||
, _name(name)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
StaffSetNameAction(uint16_t spriteIndex, const std::string& name);
|
||||
|
||||
uint16_t GetActionFlags() const override;
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
GameActions::Result::Ptr Execute() const override;
|
||||
|
||||
@@ -16,6 +16,17 @@
|
||||
#include "../peep/Staff.h"
|
||||
#include "../windows/Intent.h"
|
||||
|
||||
StaffSetOrdersAction::StaffSetOrdersAction(uint16_t spriteIndex, uint8_t ordersId)
|
||||
: _spriteIndex(spriteIndex)
|
||||
, _ordersId(ordersId)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t StaffSetOrdersAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void StaffSetOrdersAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -20,16 +20,9 @@ private:
|
||||
|
||||
public:
|
||||
StaffSetOrdersAction() = default;
|
||||
StaffSetOrdersAction(uint16_t spriteIndex, uint8_t ordersId)
|
||||
: _spriteIndex(spriteIndex)
|
||||
, _ordersId(ordersId)
|
||||
{
|
||||
}
|
||||
StaffSetOrdersAction(uint16_t spriteIndex, uint8_t ordersId);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -13,6 +13,17 @@
|
||||
#include "../peep/Peep.h"
|
||||
#include "../peep/Staff.h"
|
||||
|
||||
StaffSetPatrolAreaAction::StaffSetPatrolAreaAction(uint16_t spriteId, const CoordsXY& loc)
|
||||
: _spriteId(spriteId)
|
||||
, _loc(loc)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t StaffSetPatrolAreaAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void StaffSetPatrolAreaAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -20,16 +20,9 @@ private:
|
||||
|
||||
public:
|
||||
StaffSetPatrolAreaAction() = default;
|
||||
StaffSetPatrolAreaAction(uint16_t spriteId, const CoordsXY& loc)
|
||||
: _spriteId(spriteId)
|
||||
, _loc(loc)
|
||||
{
|
||||
}
|
||||
StaffSetPatrolAreaAction(uint16_t spriteId, const CoordsXY& loc);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
#include "../world/Surface.h"
|
||||
#include "../world/TileElement.h"
|
||||
|
||||
SurfaceSetStyleAction::SurfaceSetStyleAction(MapRange range, ObjectEntryIndex surfaceStyle, ObjectEntryIndex edgeStyle)
|
||||
: _range(range)
|
||||
, _surfaceStyle(surfaceStyle)
|
||||
, _edgeStyle(edgeStyle)
|
||||
{
|
||||
}
|
||||
|
||||
void SurfaceSetStyleAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -20,13 +20,7 @@ private:
|
||||
|
||||
public:
|
||||
SurfaceSetStyleAction() = default;
|
||||
|
||||
SurfaceSetStyleAction(MapRange range, ObjectEntryIndex surfaceStyle, ObjectEntryIndex edgeStyle)
|
||||
: _range(range)
|
||||
, _surfaceStyle(surfaceStyle)
|
||||
, _edgeStyle(edgeStyle)
|
||||
{
|
||||
}
|
||||
SurfaceSetStyleAction(MapRange range, ObjectEntryIndex surfaceStyle, ObjectEntryIndex edgeStyle);
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -11,6 +11,21 @@
|
||||
|
||||
#include "../world/TileInspector.h"
|
||||
|
||||
TileModifyAction::TileModifyAction(
|
||||
CoordsXY loc, TileModifyType setting, uint32_t value1, uint32_t value2, TileElement pasteElement)
|
||||
: _loc(loc)
|
||||
, _setting(setting)
|
||||
, _value1(value1)
|
||||
, _value2(value2)
|
||||
, _pasteElement(pasteElement)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t TileModifyAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void TileModifyAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -53,19 +53,9 @@ private:
|
||||
public:
|
||||
TileModifyAction() = default;
|
||||
TileModifyAction(
|
||||
CoordsXY loc, TileModifyType setting, uint32_t value1 = 0, uint32_t value2 = 0, TileElement pasteElement = {})
|
||||
: _loc(loc)
|
||||
, _setting(setting)
|
||||
, _value1(value1)
|
||||
, _value2(value2)
|
||||
, _pasteElement(pasteElement)
|
||||
{
|
||||
}
|
||||
CoordsXY loc, TileModifyType setting, uint32_t value1 = 0, uint32_t value2 = 0, TileElement pasteElement = {});
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -27,6 +27,51 @@ static int32_t place_virtual_track(
|
||||
return place_virtual_track(const_cast<TrackDesign*>(&td6), ptdOperation, placeScenery, ride, loc);
|
||||
}
|
||||
|
||||
TrackDesignActionResult::TrackDesignActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_NONE)
|
||||
{
|
||||
}
|
||||
|
||||
TrackDesignActionResult::TrackDesignActionResult(GameActions::Status error)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE, STR_NONE)
|
||||
{
|
||||
}
|
||||
|
||||
TrackDesignActionResult::TrackDesignActionResult(GameActions::Status error, rct_string_id title, rct_string_id message)
|
||||
: GameActions::Result(error, title, message)
|
||||
{
|
||||
}
|
||||
|
||||
TrackDesignActionResult::TrackDesignActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE, message)
|
||||
{
|
||||
}
|
||||
|
||||
TrackDesignAction::TrackDesignAction(const CoordsXYZD& location, const TrackDesign& td)
|
||||
: _loc(location)
|
||||
, _td(td)
|
||||
{
|
||||
}
|
||||
|
||||
void TrackDesignAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
// TODO visit the track design (it has a lot of sub fields)
|
||||
}
|
||||
|
||||
uint16_t TrackDesignAction::GetActionFlags() const
|
||||
{
|
||||
return GameActionBase::GetActionFlags();
|
||||
}
|
||||
|
||||
void TrackDesignAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
stream << DS_TAG(_loc);
|
||||
_td.Serialise(stream);
|
||||
}
|
||||
|
||||
GameActions::Result::Ptr TrackDesignAction::Query() const
|
||||
{
|
||||
auto res = MakeResult();
|
||||
|
||||
@@ -15,22 +15,10 @@
|
||||
class TrackDesignActionResult final : public GameActions::Result
|
||||
{
|
||||
public:
|
||||
TrackDesignActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_NONE)
|
||||
{
|
||||
}
|
||||
TrackDesignActionResult(GameActions::Status error)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE, STR_NONE)
|
||||
{
|
||||
}
|
||||
TrackDesignActionResult(GameActions::Status error, rct_string_id title, rct_string_id message)
|
||||
: GameActions::Result(error, title, message)
|
||||
{
|
||||
}
|
||||
TrackDesignActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE, message)
|
||||
{
|
||||
}
|
||||
TrackDesignActionResult();
|
||||
TrackDesignActionResult(GameActions::Status error);
|
||||
TrackDesignActionResult(GameActions::Status error, rct_string_id title, rct_string_id message);
|
||||
TrackDesignActionResult(GameActions::Status error, rct_string_id message);
|
||||
|
||||
ride_id_t rideIndex = RIDE_ID_NULL;
|
||||
};
|
||||
@@ -43,31 +31,13 @@ private:
|
||||
|
||||
public:
|
||||
TrackDesignAction() = default;
|
||||
TrackDesignAction(const CoordsXYZD& location, const TrackDesign& td);
|
||||
|
||||
TrackDesignAction(const CoordsXYZD& location, const TrackDesign& td)
|
||||
: _loc(location)
|
||||
, _td(td)
|
||||
{
|
||||
}
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
// TODO visit the track design (it has a lot of sub fields)
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameActionBase::GetActionFlags();
|
||||
}
|
||||
|
||||
void Serialise(DataSerialiser & stream) override
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
stream << DS_TAG(_loc);
|
||||
_td.Serialise(stream);
|
||||
}
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
GameActions::Result::Ptr Execute() const override;
|
||||
|
||||
@@ -19,6 +19,41 @@
|
||||
#include "../world/Surface.h"
|
||||
#include "RideSetSettingAction.h"
|
||||
|
||||
TrackPlaceActionResult::TrackPlaceActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE)
|
||||
{
|
||||
}
|
||||
|
||||
TrackPlaceActionResult::TrackPlaceActionResult(GameActions::Status error)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE)
|
||||
{
|
||||
}
|
||||
|
||||
TrackPlaceActionResult::TrackPlaceActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE, message)
|
||||
{
|
||||
}
|
||||
|
||||
TrackPlaceActionResult::TrackPlaceActionResult(GameActions::Status error, rct_string_id message, uint8_t* args)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE, message, args)
|
||||
{
|
||||
}
|
||||
|
||||
TrackPlaceAction::TrackPlaceAction(
|
||||
NetworkRideId_t rideIndex, int32_t trackType, const CoordsXYZD& origin, int32_t brakeSpeed, int32_t colour,
|
||||
int32_t seatRotation, int32_t liftHillAndAlternativeState, bool fromTrackDesign)
|
||||
: _rideIndex(rideIndex)
|
||||
, _trackType(trackType)
|
||||
, _origin(origin)
|
||||
, _brakeSpeed(brakeSpeed)
|
||||
, _colour(colour)
|
||||
, _seatRotation(seatRotation)
|
||||
, _trackPlaceFlags(liftHillAndAlternativeState)
|
||||
, _fromTrackDesign(fromTrackDesign)
|
||||
{
|
||||
_origin.direction &= 3;
|
||||
}
|
||||
|
||||
void TrackPlaceAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_origin);
|
||||
@@ -31,6 +66,11 @@ void TrackPlaceAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
visitor.Visit("isFromTrackDesign", _fromTrackDesign);
|
||||
}
|
||||
|
||||
uint16_t TrackPlaceAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void TrackPlaceAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -14,22 +14,10 @@
|
||||
class TrackPlaceActionResult final : public GameActions::Result
|
||||
{
|
||||
public:
|
||||
TrackPlaceActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE)
|
||||
{
|
||||
}
|
||||
TrackPlaceActionResult(GameActions::Status error)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE)
|
||||
{
|
||||
}
|
||||
TrackPlaceActionResult(GameActions::Status error, rct_string_id message)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE, message)
|
||||
{
|
||||
}
|
||||
TrackPlaceActionResult(GameActions::Status error, rct_string_id message, uint8_t* args)
|
||||
: GameActions::Result(error, STR_RIDE_CONSTRUCTION_CANT_CONSTRUCT_THIS_HERE, message, args)
|
||||
{
|
||||
}
|
||||
TrackPlaceActionResult();
|
||||
TrackPlaceActionResult(GameActions::Status error);
|
||||
TrackPlaceActionResult(GameActions::Status error, rct_string_id message);
|
||||
TrackPlaceActionResult(GameActions::Status error, rct_string_id message, uint8_t* args);
|
||||
|
||||
uint8_t GroundFlags{ 0 };
|
||||
};
|
||||
@@ -50,25 +38,11 @@ public:
|
||||
TrackPlaceAction() = default;
|
||||
TrackPlaceAction(
|
||||
NetworkRideId_t rideIndex, int32_t trackType, const CoordsXYZD& origin, int32_t brakeSpeed, int32_t colour,
|
||||
int32_t seatRotation, int32_t liftHillAndAlternativeState, bool fromTrackDesign)
|
||||
: _rideIndex(rideIndex)
|
||||
, _trackType(trackType)
|
||||
, _origin(origin)
|
||||
, _brakeSpeed(brakeSpeed)
|
||||
, _colour(colour)
|
||||
, _seatRotation(seatRotation)
|
||||
, _trackPlaceFlags(liftHillAndAlternativeState)
|
||||
, _fromTrackDesign(fromTrackDesign)
|
||||
{
|
||||
_origin.direction &= 3;
|
||||
}
|
||||
int32_t seatRotation, int32_t liftHillAndAlternativeState, bool fromTrackDesign);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override final
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint16_t GetActionFlags() const override final;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -19,6 +19,14 @@
|
||||
#include "../world/Surface.h"
|
||||
#include "RideSetSettingAction.h"
|
||||
|
||||
TrackRemoveAction::TrackRemoveAction(int32_t trackType, int32_t sequence, const CoordsXYZD& origin)
|
||||
: _trackType(trackType)
|
||||
, _sequence(sequence)
|
||||
, _origin(origin)
|
||||
{
|
||||
_origin.direction &= 3;
|
||||
}
|
||||
|
||||
void TrackRemoveAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_origin);
|
||||
@@ -26,6 +34,11 @@ void TrackRemoveAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
visitor.Visit("sequence", _sequence);
|
||||
}
|
||||
|
||||
uint16_t TrackRemoveAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void TrackRemoveAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -20,20 +20,11 @@ private:
|
||||
|
||||
public:
|
||||
TrackRemoveAction() = default;
|
||||
TrackRemoveAction(int32_t trackType, int32_t sequence, const CoordsXYZD& origin)
|
||||
: _trackType(trackType)
|
||||
, _sequence(sequence)
|
||||
, _origin(origin)
|
||||
{
|
||||
_origin.direction &= 3;
|
||||
}
|
||||
TrackRemoveAction(int32_t trackType, int32_t sequence, const CoordsXYZD& origin);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override final
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint16_t GetActionFlags() const override final;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -11,6 +11,13 @@
|
||||
|
||||
#include "../management/Finance.h"
|
||||
|
||||
TrackSetBrakeSpeedAction::TrackSetBrakeSpeedAction(const CoordsXYZ& loc, track_type_t trackType, uint8_t brakeSpeed)
|
||||
: _loc(loc)
|
||||
, _trackType(trackType)
|
||||
, _brakeSpeed(brakeSpeed)
|
||||
{
|
||||
}
|
||||
|
||||
void TrackSetBrakeSpeedAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
@@ -18,6 +25,11 @@ void TrackSetBrakeSpeedAction::AcceptParameters(GameActionParameterVisitor& visi
|
||||
visitor.Visit("brakeSpeed", _brakeSpeed);
|
||||
}
|
||||
|
||||
uint16_t TrackSetBrakeSpeedAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void TrackSetBrakeSpeedAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -20,19 +20,11 @@ private:
|
||||
|
||||
public:
|
||||
TrackSetBrakeSpeedAction() = default;
|
||||
TrackSetBrakeSpeedAction(const CoordsXYZ& loc, track_type_t trackType, uint8_t brakeSpeed)
|
||||
: _loc(loc)
|
||||
, _trackType(trackType)
|
||||
, _brakeSpeed(brakeSpeed)
|
||||
{
|
||||
}
|
||||
TrackSetBrakeSpeedAction(const CoordsXYZ& loc, track_type_t trackType, uint8_t brakeSpeed);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override final
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override final;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -20,6 +20,46 @@
|
||||
#include "../world/Surface.h"
|
||||
#include "../world/Wall.h"
|
||||
|
||||
WallPlaceActionResult::WallPlaceActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_CANT_BUILD_PARK_ENTRANCE_HERE)
|
||||
{
|
||||
}
|
||||
|
||||
WallPlaceActionResult::WallPlaceActionResult(GameActions::Status err)
|
||||
: GameActions::Result(err, STR_CANT_BUILD_PARK_ENTRANCE_HERE)
|
||||
{
|
||||
}
|
||||
|
||||
WallPlaceActionResult::WallPlaceActionResult(GameActions::Status err, rct_string_id msg)
|
||||
: GameActions::Result(err, STR_CANT_BUILD_PARK_ENTRANCE_HERE, msg)
|
||||
{
|
||||
}
|
||||
|
||||
WallPlaceActionResult::WallPlaceActionResult(GameActions::Status error, rct_string_id msg, uint8_t* args)
|
||||
: GameActions::Result(error, STR_CANT_BUILD_PARK_ENTRANCE_HERE, msg, args)
|
||||
{
|
||||
}
|
||||
|
||||
WallPlaceAction::WallPlaceAction(
|
||||
ObjectEntryIndex wallType, const CoordsXYZ& loc, uint8_t edge, int32_t primaryColour, int32_t secondaryColour,
|
||||
int32_t tertiaryColour)
|
||||
: _wallType(wallType)
|
||||
, _loc(loc)
|
||||
, _edge(edge)
|
||||
, _primaryColour(primaryColour)
|
||||
, _secondaryColour(secondaryColour)
|
||||
, _tertiaryColour(tertiaryColour)
|
||||
{
|
||||
rct_scenery_entry* sceneryEntry = get_wall_entry(_wallType);
|
||||
if (sceneryEntry != nullptr)
|
||||
{
|
||||
if (sceneryEntry->wall.scrolling_mode != SCROLLING_MODE_NONE)
|
||||
{
|
||||
_bannerId = create_new_banner(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void WallPlaceAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
@@ -38,6 +78,11 @@ void WallPlaceAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
}
|
||||
}
|
||||
|
||||
uint16_t WallPlaceAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void WallPlaceAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
@@ -578,3 +623,25 @@ GameActions::Result::Ptr WallPlaceAction::WallCheckObstruction(
|
||||
|
||||
return MakeResult();
|
||||
}
|
||||
|
||||
bool WallPlaceAction::TrackIsAllowedWallEdges(uint8_t rideType, uint8_t trackType, uint8_t trackSequence, uint8_t direction)
|
||||
{
|
||||
if (!ride_type_has_flag(rideType, RIDE_TYPE_FLAG_TRACK_NO_WALLS))
|
||||
{
|
||||
if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_FLAT_RIDE))
|
||||
{
|
||||
if (FlatRideTrackSequenceElementAllowedWallEdges[trackType][trackSequence] & (1 << direction))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TrackSequenceElementAllowedWallEdges[trackType][trackSequence] & (1 << direction))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -17,25 +17,10 @@
|
||||
class WallPlaceActionResult final : public GameActions::Result
|
||||
{
|
||||
public:
|
||||
WallPlaceActionResult()
|
||||
: GameActions::Result(GameActions::Status::Ok, STR_CANT_BUILD_PARK_ENTRANCE_HERE)
|
||||
{
|
||||
}
|
||||
|
||||
WallPlaceActionResult(GameActions::Status err)
|
||||
: GameActions::Result(err, STR_CANT_BUILD_PARK_ENTRANCE_HERE)
|
||||
{
|
||||
}
|
||||
|
||||
WallPlaceActionResult(GameActions::Status err, rct_string_id msg)
|
||||
: GameActions::Result(err, STR_CANT_BUILD_PARK_ENTRANCE_HERE, msg)
|
||||
{
|
||||
}
|
||||
|
||||
WallPlaceActionResult(GameActions::Status error, rct_string_id msg, uint8_t* args)
|
||||
: GameActions::Result(error, STR_CANT_BUILD_PARK_ENTRANCE_HERE, msg, args)
|
||||
{
|
||||
}
|
||||
WallPlaceActionResult();
|
||||
WallPlaceActionResult(GameActions::Status err);
|
||||
WallPlaceActionResult(GameActions::Status err, rct_string_id msg);
|
||||
WallPlaceActionResult(GameActions::Status error, rct_string_id msg, uint8_t* args);
|
||||
|
||||
TileElement* tileElement = nullptr;
|
||||
};
|
||||
@@ -53,33 +38,13 @@ private:
|
||||
|
||||
public:
|
||||
WallPlaceAction() = default;
|
||||
|
||||
WallPlaceAction(
|
||||
ObjectEntryIndex wallType, const CoordsXYZ& loc, uint8_t edge, int32_t primaryColour, int32_t secondaryColour,
|
||||
int32_t tertiaryColour)
|
||||
: _wallType(wallType)
|
||||
, _loc(loc)
|
||||
, _edge(edge)
|
||||
, _primaryColour(primaryColour)
|
||||
, _secondaryColour(secondaryColour)
|
||||
, _tertiaryColour(tertiaryColour)
|
||||
{
|
||||
rct_scenery_entry* sceneryEntry = get_wall_entry(_wallType);
|
||||
if (sceneryEntry != nullptr)
|
||||
{
|
||||
if (sceneryEntry->wall.scrolling_mode != SCROLLING_MODE_NONE)
|
||||
{
|
||||
_bannerId = create_new_banner(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
int32_t tertiaryColour);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
|
||||
uint16_t GetActionFlags() const override final
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint16_t GetActionFlags() const override final;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
@@ -103,25 +68,5 @@ private:
|
||||
* Gets whether the given track type can have a wall placed on the edge of the given direction.
|
||||
* Some thin tracks for example are allowed to have walls either side of the track, but wider tracks can not.
|
||||
*/
|
||||
static bool TrackIsAllowedWallEdges(uint8_t rideType, uint8_t trackType, uint8_t trackSequence, uint8_t direction)
|
||||
{
|
||||
if (!ride_type_has_flag(rideType, RIDE_TYPE_FLAG_TRACK_NO_WALLS))
|
||||
{
|
||||
if (ride_type_has_flag(rideType, RIDE_TYPE_FLAG_FLAT_RIDE))
|
||||
{
|
||||
if (FlatRideTrackSequenceElementAllowedWallEdges[trackType][trackSequence] & (1 << direction))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TrackSequenceElementAllowedWallEdges[trackType][trackSequence] & (1 << direction))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
static bool TrackIsAllowedWallEdges(uint8_t rideType, uint8_t trackType, uint8_t trackSequence, uint8_t direction);
|
||||
};
|
||||
|
||||
@@ -18,6 +18,11 @@
|
||||
#include "../world/Location.hpp"
|
||||
#include "../world/Wall.h"
|
||||
|
||||
WallRemoveAction::WallRemoveAction(const CoordsXYZD& loc)
|
||||
: _loc(loc)
|
||||
{
|
||||
}
|
||||
|
||||
void WallRemoveAction::AcceptParameters(GameActionParameterVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(_loc);
|
||||
|
||||
@@ -18,10 +18,7 @@ private:
|
||||
|
||||
public:
|
||||
WallRemoveAction() = default;
|
||||
WallRemoveAction(const CoordsXYZD& loc)
|
||||
: _loc(loc)
|
||||
{
|
||||
}
|
||||
WallRemoveAction(const CoordsXYZD& loc);
|
||||
|
||||
void AcceptParameters(GameActionParameterVisitor & visitor) override;
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
#include "../world/SmallScenery.h"
|
||||
#include "../world/Surface.h"
|
||||
|
||||
WallSetColourAction::WallSetColourAction(
|
||||
const CoordsXYZD& loc, int32_t primaryColour, int32_t secondaryColour, int32_t tertiaryColour)
|
||||
: _loc(loc)
|
||||
, _primaryColour(primaryColour)
|
||||
, _secondaryColour(secondaryColour)
|
||||
, _tertiaryColour(tertiaryColour)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t WallSetColourAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
|
||||
void WallSetColourAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -21,19 +21,9 @@ private:
|
||||
|
||||
public:
|
||||
WallSetColourAction() = default;
|
||||
WallSetColourAction(const CoordsXYZD& loc, int32_t primaryColour, int32_t secondaryColour, int32_t tertiaryColour);
|
||||
|
||||
WallSetColourAction(const CoordsXYZD& loc, int32_t primaryColour, int32_t secondaryColour, int32_t tertiaryColour)
|
||||
: _loc(loc)
|
||||
, _primaryColour(primaryColour)
|
||||
, _secondaryColour(secondaryColour)
|
||||
, _tertiaryColour(tertiaryColour)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused;
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -13,6 +13,16 @@
|
||||
#include "../audio/audio.h"
|
||||
#include "WaterSetHeightAction.h"
|
||||
|
||||
WaterLowerAction::WaterLowerAction(MapRange range)
|
||||
: _range(range)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t WaterLowerAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void WaterLowerAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -18,15 +18,9 @@ private:
|
||||
|
||||
public:
|
||||
WaterLowerAction() = default;
|
||||
WaterLowerAction(MapRange range)
|
||||
: _range(range)
|
||||
{
|
||||
}
|
||||
WaterLowerAction(MapRange range);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -13,6 +13,16 @@
|
||||
#include "../audio/audio.h"
|
||||
#include "WaterSetHeightAction.h"
|
||||
|
||||
WaterRaiseAction::WaterRaiseAction(MapRange range)
|
||||
: _range(range)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t WaterRaiseAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void WaterRaiseAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -18,15 +18,9 @@ private:
|
||||
|
||||
public:
|
||||
WaterRaiseAction() = default;
|
||||
WaterRaiseAction(MapRange range)
|
||||
: _range(range)
|
||||
{
|
||||
}
|
||||
WaterRaiseAction(MapRange range);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
@@ -14,6 +14,17 @@
|
||||
#include "../world/Park.h"
|
||||
#include "../world/Surface.h"
|
||||
|
||||
WaterSetHeightAction::WaterSetHeightAction(const CoordsXY& coords, uint8_t height)
|
||||
: _coords(coords)
|
||||
, _height(height)
|
||||
{
|
||||
}
|
||||
|
||||
uint16_t WaterSetHeightAction::GetActionFlags() const
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
|
||||
void WaterSetHeightAction::Serialise(DataSerialiser& stream)
|
||||
{
|
||||
GameAction::Serialise(stream);
|
||||
|
||||
@@ -19,16 +19,9 @@ private:
|
||||
|
||||
public:
|
||||
WaterSetHeightAction() = default;
|
||||
WaterSetHeightAction(const CoordsXY& coords, uint8_t height)
|
||||
: _coords(coords)
|
||||
, _height(height)
|
||||
{
|
||||
}
|
||||
WaterSetHeightAction(const CoordsXY& coords, uint8_t height);
|
||||
|
||||
uint16_t GetActionFlags() const override
|
||||
{
|
||||
return GameAction::GetActionFlags();
|
||||
}
|
||||
uint16_t GetActionFlags() const override;
|
||||
|
||||
void Serialise(DataSerialiser & stream) override;
|
||||
GameActions::Result::Ptr Query() const override;
|
||||
|
||||
Reference in New Issue
Block a user