Fix #10490: Allow ships to exit depots if another is not moving at the exit point...
[openttd-github.git] / src / script / api / game_changelog.hpp
blobd992a66a1542eeefa100d327c462cf82ec859d05
1 /*
2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6 */
8 /**
9 * @file game_changelog.hpp Lists all changes / additions to the API.
11 * Only new / renamed / deleted api functions will be listed here. A list of
12 * bug fixes can be found in the normal changelog. Note that removed API
13 * functions may still be available if you return an older API version
14 * in GetAPIVersion() in info.nut.
16 * \b 15.0
18 * This version is not yet released. The following changes are not set in stone yet.
20 * \b 14.0
22 * API additions:
23 * \li GSIndustry::GetConstructionDate
24 * \li GSAsyncMode
25 * \li GSCompanyMode::IsValid
26 * \li GSCompanyMode::IsDeity
27 * \li GSTimeMode
28 * \li GSTown::ROAD_LAYOUT_RANDOM
29 * \li GSVehicle::IsPrimaryVehicle
30 * \li GSOrder::SetOrderJumpTo
31 * \li GSOrder::SetOrderCondition
32 * \li GSOrder::SetOrderCompareFunction
33 * \li GSOrder::SetOrderCompareValue
34 * \li GSOrder::SetStopLocation
35 * \li GSOrder::SetOrderRefit
36 * \li GSOrder::AppendOrder
37 * \li GSOrder::AppendConditionalOrder
38 * \li GSOrder::InsertOrder
39 * \li GSOrder::InsertConditionalOrder
40 * \li GSOrder::RemoveOrder
41 * \li GSOrder::SetOrderFlags
42 * \li GSOrder::MoveOrder
43 * \li GSOrder::SkipToOrder
44 * \li GSOrder::CopyOrders
45 * \li GSOrder::ShareOrders
46 * \li GSOrder::UnshareOrders
47 * \li GSCompany::IsMine
48 * \li GSCompany::SetPresidentGender
49 * \li GSCompany::SetAutoRenewStatus
50 * \li GSCompany::SetAutoRenewMonths
51 * \li GSCompany::SetAutoRenewMoney
52 * \li GSCompany::SetMaxLoanAmountForCompany
53 * \li GSCompany::ResetMaxLoanAmountForCompany
54 * \li GSGameSettings::IsDisabledVehicleType
55 * \li GSGroup::GroupID
56 * \li GSGroup::IsValidGroup
57 * \li GSGroup::CreateGroup
58 * \li GSGroup::DeleteGroup
59 * \li GSGroup::GetVehicleType
60 * \li GSGroup::SetName
61 * \li GSGroup::GetName
62 * \li GSGroup::SetParent
63 * \li GSGroup::GetParent
64 * \li GSGroup::EnableAutoReplaceProtection
65 * \li GSGroup::GetAutoReplaceProtection
66 * \li GSGroup::GetNumEngines
67 * \li GSGroup::GetNumVehicles
68 * \li GSGroup::MoveVehicle
69 * \li GSGroup::EnableWagonRemoval
70 * \li GSGroup::HasWagonRemoval
71 * \li GSGroup::SetAutoReplace
72 * \li GSGroup::GetEngineReplacement
73 * \li GSGroup::StopAutoReplace
74 * \li GSGroup::GetProfitThisYear
75 * \li GSGroup::GetProfitLastYear
76 * \li GSGroup::GetCurrentUsage
77 * \li GSGroup::SetPrimaryColour
78 * \li GSGroup::SetSecondaryColour
79 * \li GSGroup::GetPrimaryColour
80 * \li GSGroup::GetSecondaryColour
81 * \li GSGroupList
82 * \li GSVehicleList_Group
83 * \li GSVehicleList_DefaultGroup
84 * \li GSGoal::IsValidGoalDestination
85 * \li GSGoal::SetDestination
86 * \li GSIndustry::GetProductionLevel
87 * \li GSIndustry::SetProductionLevel
88 * \li GSStoryPage::IsValidStoryPageElementType
89 * \li GSStoryPage::IsValidStoryPageButtonColour
90 * \li GSStoryPage::IsValidStoryPageButtonFlags
91 * \li GSStoryPage::IsValidStoryPageButtonCursor
92 * \li GSTileList_StationCoverage
93 * \li GSAirport::GetAirportNumHelipads
95 * API removals:
96 * \li GSError::ERR_PRECONDITION_TOO_MANY_PARAMETERS, that error is never returned anymore.
97 * \li GSInfo::CONFIG_RANDOM, no longer used.
99 * Other changes:
100 * \li GSGroupList accepts an optional filter function
101 * \li GSIndustryList accepts an optional filter function
102 * \li GSSignList accepts an optional filter function
103 * \li GSSubsidyList accepts an optional filter function
104 * \li GSTownList accepts an optional filter function
105 * \li GSVehicleList accepts an optional filter function
106 * \li GSInfo::AddSettings easy_value / medium_value / hard_value are replaced with default_value
108 * \b 13.0
110 * API additions:
111 * \li GSCargo::GetWeight
112 * \li GSIndustryType::ResolveNewGRFID
113 * \li GSObjectType::ResolveNewGRFID
114 * \li GSLeagueTable
116 * Other changes:
117 * \li GSRoad::HasRoadType now correctly checks RoadType against RoadType
119 * \b 12.0
121 * API additions:
122 * \li GSNewGRF
123 * \li GSNewGRFList
124 * \li GSMarine::BT_LOCK
125 * \li GSMarine::BT_CANAL
126 * \li GSTile::IsSeaTile
127 * \li GSTile::IsRiverTile
128 * \li GSTile::BT_CLEAR_WATER
129 * \li GSObjectTypeList
130 * \li GSObjectType
132 * \b 1.11.0
134 * API additions:
135 * \li GSCargo::GetName
136 * \li GSEventStoryPageButtonClick
137 * \li GSEventStoryPageTileSelect
138 * \li GSEventStoryPageVehicleSelect
139 * \li GSIndustry::GetCargoLastAcceptedDate
140 * \li GSIndustry::GetControlFlags
141 * \li GSIndustry::GetExclusiveConsumer
142 * \li GSIndustry::GetExclusiveSupplier
143 * \li GSIndustry::GetLastProductionYear
144 * \li GSIndustry::SetControlFlags
145 * \li GSIndustry::SetExclusiveConsumer
146 * \li GSIndustry::SetExclusiveSupplier
147 * \li GSIndustry::SetText
148 * \li GSStoryPage::MakePushButtonReference
149 * \li GSStoryPage::MakeTileButtonReference
150 * \li GSStoryPage::MakeVehicleButtonReference
151 * \li GSPriorityQueue
153 * Other changes:
154 * \li GSCompany::ChangeBankBalance takes one extra parameter to refer to a location to show text effect on
155 * \li GSGoal::Question and GSGoal::QuestionClient no longer require to have any buttons except for the window type GSGoal.QT_QUESTION
157 * \b 1.10.0
159 * API additions:
160 * \li GSVehicle::BuildVehicleWithRefit
161 * \li GSVehicle::GetBuildWithRefitCapacity
162 * \li GSRoad::GetName
163 * \li GSRoad::RoadVehCanRunOnRoad
164 * \li GSRoad::RoadVehHasPowerOnRoad
165 * \li GSRoad::ConvertRoadType
166 * \li GSRoad::GetMaxSpeed
167 * \li GSEngine::EnableForCompany
168 * \li GSEngine::DisableForCompany
170 * \b 1.9.0
172 * API additions:
173 * \li GSAirport::GetMonthlyMaintenanceCost
174 * \li GSClient
175 * \li GSClientList
176 * \li GSClientList_Company
177 * \li GSViewport::ScrollEveryoneTo
178 * \li GSViewport::ScrollCompanyClientsTo
179 * \li GSViewport::ScrollClientTo
180 * \li GSGoal::QuestionClient
182 * Other changes:
183 * \li GSBridge::GetName takes one extra parameter to refer the vehicle type
185 * \b 1.8.0
187 * No changes
189 * API additions:
190 * \li GSRoad::ERR_ROADTYPE_DISALLOWS_CROSSING
192 * \b 1.7.0 - 1.7.2
194 * No changes
196 * \b 1.6.1 - 1.6.0
198 * No changes
200 * \b 1.5.3 - 1.5.1
202 * No changes
204 * \b 1.5.0
206 * API additions:
207 * \li GSList::SwapList
208 * \li GSStation::GetCargoPlanned
209 * \li GSStation::GetCargoPlannedFrom
210 * \li GSStation::GetCargoPlannedFromVia
211 * \li GSStation::GetCargoPlannedVia
212 * \li GSStation::GetCargoWaitingFromVia
213 * \li GSStationList_CargoPlannedByFrom
214 * \li GSStationList_CargoPlannedByVia
215 * \li GSStationList_CargoPlannedFromByVia
216 * \li GSStationList_CargoPlannedViaByFrom
217 * \li GSStationList_CargoWaitingByFrom
218 * \li GSStationList_CargoWaitingByVia
219 * \li GSStationList_CargoWaitingFromByVia
220 * \li GSStationList_CargoWaitingViaByFrom
222 * Other changes:
223 * \li GSNews::Create takes two extra parameters to refer to a location, station,
224 * industry, or town. The user can click at the news message to jump to the
225 * referred location.
227 * \b 1.4.4 - 1.4.3
229 * No changes
231 * \b 1.4.2
233 * Other changes:
234 * \li GSCargoMonitor delivery and pickup monitor functions have improved boundary checking for
235 * their parameters, and return \c -1 if they are found out of bounds.
237 * \b 1.4.1
239 * No changes
241 * \b 1.4.0
243 * API additions:
244 * \li AICargo::GetDistributionType
245 * \li GSCompany::ChangeBankBalance
246 * \li GSDate::DATE_INVALID
247 * \li GSDate::IsValidDate
248 * \li GSGoal::GT_STORY_PAGE
249 * \li GSGoal::IsCompleted
250 * \li GSGoal::SetCompleted
251 * \li GSGoal::SetProgress
252 * \li GSGoal::SetText
253 * \li GSStation::HasCargoRating
254 * \li GSStation::GetCargoWaitingFrom
255 * \li GSStation::GetCargoWaitingVia
256 * \li GSStoryPage
257 * \li GSStoryPageList
258 * \li GSStoryPageElementList
259 * \li GSTile::GetTerrainType
260 * \li GSTown::FoundTown
261 * \li GSTown::GetFundBuildingsDuration
262 * \li GSTown::SetName
263 * \li GSTown::TOWN_GROWTH_NONE
264 * \li GSTown::TOWN_GROWTH_NORMAL
266 * Other changes:
267 * \li GSGoal::New can now create up to 64000 concurrent goals. The old limit was 256 goals.
268 * \li GSStation::GetCargoRating does return -1 for cargo-station combinations that
269 * do not have a rating yet instead of returning 69.
271 * \b 1.3.3 - 1.3.2
273 * No changes
275 * \b 1.3.1
277 * API additions:
278 * \li GSTile::GetTerrainType
280 * \b 1.3.0
282 * API additions:
283 * \li GSCargoMonitor
284 * \li GSEngine::IsValidEngine and GSEngine::IsBuildable when outside GSCompanyMode scope
285 * \li GSEventExclusiveTransportRights
286 * \li GSEventRoadReconstruction
287 * \li GSNews::NT_ACCIDENT, GSNews::NT_COMPANY_INFO, GSNews::NT_ADVICE, GSNews::NT_ACCEPTANCE
288 * \li GSIndustryType::IsProcessingIndustry
289 * \li GSStation::IsAirportClosed
290 * \li GSStation::OpenCloseAirport
291 * \li GSController::Break
292 * \li GSIndustryType::BuildIndustry, GSIndustryType::CanBuildIndustry, GSIndustryType::ProspectIndustry and GSIndustryType::CanProspectIndustry when outside GSCompanyMode scope
294 * Other changes:
295 * \li Company specific goals are now removed when a company goes bankrupt or is taken over.
297 * \b 1.2.3 - 1.2.1
299 * No changes
301 * \b 1.2.0
302 * \li First stable release with the NoGo framework.