/* static */ bool AIVehicle::SetName(VehicleID vehicle_id, const char *name) { EnforcePrecondition(false, IsValidVehicle(vehicle_id)); EnforcePrecondition(false, !::StrEmpty(name)); EnforcePreconditionCustomError(false, ::strlen(name) < MAX_LENGTH_VEHICLE_NAME_BYTES, AIError::ERR_PRECONDITION_STRING_TOO_LONG); return AIObject::DoCommand(0, vehicle_id, 0, CMD_RENAME_VEHICLE, name); }
/* static */ bool AIGroup::SetName(GroupID group_id, const char *name) { EnforcePrecondition(false, IsValidGroup(group_id)); EnforcePrecondition(false, !::StrEmpty(name)); EnforcePreconditionCustomError(false, ::strlen(name) < MAX_LENGTH_GROUP_NAME_BYTES, AIError::ERR_PRECONDITION_STRING_TOO_LONG); return AIObject::DoCommand(0, group_id, 0, CMD_RENAME_GROUP, name); }
/* static */ bool AIBaseStation::SetName(StationID station_id, const char *name) { EnforcePrecondition(false, IsValidBaseStation(station_id)); EnforcePrecondition(false, !::StrEmpty(name)); EnforcePreconditionCustomError(false, ::strlen(name) < MAX_LENGTH_STATION_NAME_BYTES, AIError::ERR_PRECONDITION_STRING_TOO_LONG); return AIObject::DoCommand(0, station_id, 0, ::Station::IsValidID(station_id) ? CMD_RENAME_STATION : CMD_RENAME_WAYPOINT, name); }
/* static */ bool ScriptCompany::SetPresidentName(Text *name) { CCountedPtr<Text> counter(name); EnforcePrecondition(false, name != NULL); const char *text = name->GetDecodedText(); EnforcePreconditionEncodedText(false, text); EnforcePreconditionCustomError(false, ::Utf8StringLength(text) < MAX_LENGTH_PRESIDENT_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG); return ScriptObject::DoCommand(0, 0, 0, CMD_RENAME_PRESIDENT, text); }
/* static */ bool ScriptGroup::SetName(GroupID group_id, Text *name) { CCountedPtr<Text> counter(name); EnforcePrecondition(false, IsValidGroup(group_id)); EnforcePrecondition(false, name != NULL); const char *text = name->GetEncodedText(); EnforcePreconditionEncodedText(false, text); EnforcePreconditionCustomError(false, ::Utf8StringLength(text) < MAX_LENGTH_GROUP_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG); return ScriptObject::DoCommand(0, group_id, 0, CMD_RENAME_GROUP, text); }
/* static */ VehicleID AIVehicle::BuildVehicle(TileIndex depot, EngineID engine_id) { EnforcePrecondition(INVALID_VEHICLE, AIEngine::IsBuildable(engine_id)); ::VehicleType type = ::Engine::Get(engine_id)->type; EnforcePreconditionCustomError(INVALID_VEHICLE, !AIGameSettings::IsDisabledVehicleType((AIVehicle::VehicleType)type), AIVehicle::ERR_VEHICLE_BUILD_DISABLED); if (!AIObject::DoCommand(depot, engine_id, 0, ::GetCmdBuildVeh(type), NULL, &AIInstance::DoCommandReturnVehicleID)) return INVALID_VEHICLE; /* In case of test-mode, we return VehicleID 0 */ return 0; }
/* static */ bool ScriptBaseStation::SetName(StationID station_id, Text *name) { CCountedPtr<Text> counter(name); EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidBaseStation(station_id)); EnforcePrecondition(false, name != NULL); const char *text = name->GetDecodedText(); EnforcePreconditionEncodedText(false, text); EnforcePreconditionCustomError(false, ::Utf8StringLength(text) < MAX_LENGTH_STATION_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG); return ScriptObject::DoCommand(0, station_id, 0, ::Station::IsValidID(station_id) ? CMD_RENAME_STATION : CMD_RENAME_WAYPOINT, text); }