diff options
author | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:36 +0000 |
---|---|---|
committer | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:36 +0000 |
commit | 9b6b2cabc187f3cb72a53d396418ab1b9ebd2933 (patch) | |
tree | ac5d34e3837adcdf45c69ab844bd823dc740900a /src/script/api/script_vehicle.cpp | |
parent | cc3f42794d134b9f4b6c7efecb07d4b3366887c1 (diff) | |
download | openttd-9b6b2cabc187f3cb72a53d396418ab1b9ebd2933.tar.xz |
(svn r23633) -Add: allow most build commands from GameScript given a CompanyMode is active in that scope
Diffstat (limited to 'src/script/api/script_vehicle.cpp')
-rw-r--r-- | src/script/api/script_vehicle.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/script/api/script_vehicle.cpp b/src/script/api/script_vehicle.cpp index d4f3056cc..9a73e564e 100644 --- a/src/script/api/script_vehicle.cpp +++ b/src/script/api/script_vehicle.cpp @@ -61,6 +61,7 @@ /* static */ VehicleID ScriptVehicle::BuildVehicle(TileIndex depot, EngineID engine_id) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(VEHICLE_INVALID, ScriptEngine::IsBuildable(engine_id)); ::VehicleType type = ::Engine::Get(engine_id)->type; @@ -75,6 +76,7 @@ /* static */ VehicleID ScriptVehicle::CloneVehicle(TileIndex depot, VehicleID vehicle_id, bool share_orders) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(vehicle_id)); if (!ScriptObject::DoCommand(depot, vehicle_id, share_orders, CMD_CLONE_VEHICLE, NULL, &ScriptInstance::DoCommandReturnVehicleID)) return VEHICLE_INVALID; @@ -85,6 +87,7 @@ /* static */ bool ScriptVehicle::_MoveWagonInternal(VehicleID source_vehicle_id, int source_wagon, bool move_attached_wagons, int dest_vehicle_id, int dest_wagon) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(source_vehicle_id) && source_wagon < GetNumWagons(source_vehicle_id)); EnforcePrecondition(false, dest_vehicle_id == -1 || (IsValidVehicle(dest_vehicle_id) && dest_wagon < GetNumWagons(dest_vehicle_id))); EnforcePrecondition(false, ::Vehicle::Get(source_vehicle_id)->type == VEH_TRAIN); @@ -122,6 +125,7 @@ /* static */ bool ScriptVehicle::RefitVehicle(VehicleID vehicle_id, CargoID cargo) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(vehicle_id) && ScriptCargo::IsValidCargo(cargo)); return ScriptObject::DoCommand(0, vehicle_id, cargo, GetCmdRefitVeh(::Vehicle::Get(vehicle_id))); @@ -130,6 +134,7 @@ /* static */ bool ScriptVehicle::SellVehicle(VehicleID vehicle_id) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(vehicle_id)); const Vehicle *v = ::Vehicle::Get(vehicle_id); @@ -138,6 +143,7 @@ /* static */ bool ScriptVehicle::_SellWagonInternal(VehicleID vehicle_id, int wagon, bool sell_attached_wagons) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(vehicle_id) && wagon < GetNumWagons(vehicle_id)); EnforcePrecondition(false, ::Vehicle::Get(vehicle_id)->type == VEH_TRAIN); @@ -159,6 +165,7 @@ /* static */ bool ScriptVehicle::SendVehicleToDepot(VehicleID vehicle_id) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(vehicle_id)); return ScriptObject::DoCommand(0, vehicle_id, 0, GetCmdSendToDepot(::Vehicle::Get(vehicle_id))); @@ -166,6 +173,7 @@ /* static */ bool ScriptVehicle::SendVehicleToDepotForServicing(VehicleID vehicle_id) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(vehicle_id)); return ScriptObject::DoCommand(0, vehicle_id | DEPOT_SERVICE, 0, GetCmdSendToDepot(::Vehicle::Get(vehicle_id))); @@ -185,6 +193,7 @@ /* static */ bool ScriptVehicle::StartStopVehicle(VehicleID vehicle_id) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(vehicle_id)); return ScriptObject::DoCommand(0, vehicle_id, 0, CMD_START_STOP_VEHICLE); @@ -192,6 +201,7 @@ /* static */ bool ScriptVehicle::ReverseVehicle(VehicleID vehicle_id) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(vehicle_id)); EnforcePrecondition(false, ::Vehicle::Get(vehicle_id)->type == VEH_ROAD || ::Vehicle::Get(vehicle_id)->type == VEH_TRAIN); @@ -204,6 +214,7 @@ /* static */ bool ScriptVehicle::SetName(VehicleID vehicle_id, const char *name) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidVehicle(vehicle_id)); EnforcePrecondition(false, !::StrEmpty(name)); EnforcePreconditionCustomError(false, ::Utf8StringLength(name) < MAX_LENGTH_VEHICLE_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG); |