Update: Translations from eints
[openttd-github.git] / src / script / api / game_changelog.hpp
blob396772628822a0e1605ac3180fedd37f38e736fc
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 * @page game_changelog 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 * API additions:
21 * \li GSEventVehicleCrashed::GetVictims
23 * \b 14.0
25 * API additions:
26 * \li GSIndustry::GetConstructionDate
27 * \li GSAsyncMode
28 * \li GSCompanyMode::IsValid
29 * \li GSCompanyMode::IsDeity
30 * \li GSTown::ROAD_LAYOUT_RANDOM
31 * \li GSVehicle::IsPrimaryVehicle
32 * \li GSOrder::SetOrderJumpTo
33 * \li GSOrder::SetOrderCondition
34 * \li GSOrder::SetOrderCompareFunction
35 * \li GSOrder::SetOrderCompareValue
36 * \li GSOrder::SetStopLocation
37 * \li GSOrder::SetOrderRefit
38 * \li GSOrder::AppendOrder
39 * \li GSOrder::AppendConditionalOrder
40 * \li GSOrder::InsertOrder
41 * \li GSOrder::InsertConditionalOrder
42 * \li GSOrder::RemoveOrder
43 * \li GSOrder::SetOrderFlags
44 * \li GSOrder::MoveOrder
45 * \li GSOrder::SkipToOrder
46 * \li GSOrder::CopyOrders
47 * \li GSOrder::ShareOrders
48 * \li GSOrder::UnshareOrders
49 * \li GSCompany::IsMine
50 * \li GSCompany::SetPresidentGender
51 * \li GSCompany::SetAutoRenewStatus
52 * \li GSCompany::SetAutoRenewMonths
53 * \li GSCompany::SetAutoRenewMoney
54 * \li GSCompany::SetMaxLoanAmountForCompany
55 * \li GSCompany::ResetMaxLoanAmountForCompany
56 * \li GSGameSettings::IsDisabledVehicleType
57 * \li GSGroup::GroupID
58 * \li GSGroup::IsValidGroup
59 * \li GSGroup::CreateGroup
60 * \li GSGroup::DeleteGroup
61 * \li GSGroup::GetVehicleType
62 * \li GSGroup::SetName
63 * \li GSGroup::GetName
64 * \li GSGroup::SetParent
65 * \li GSGroup::GetParent
66 * \li GSGroup::EnableAutoReplaceProtection
67 * \li GSGroup::GetAutoReplaceProtection
68 * \li GSGroup::GetNumEngines
69 * \li GSGroup::GetNumVehicles
70 * \li GSGroup::MoveVehicle
71 * \li GSGroup::EnableWagonRemoval
72 * \li GSGroup::HasWagonRemoval
73 * \li GSGroup::SetAutoReplace
74 * \li GSGroup::GetEngineReplacement
75 * \li GSGroup::StopAutoReplace
76 * \li GSGroup::GetProfitThisYear
77 * \li GSGroup::GetProfitLastYear
78 * \li GSGroup::GetCurrentUsage
79 * \li GSGroup::SetPrimaryColour
80 * \li GSGroup::SetSecondaryColour
81 * \li GSGroup::GetPrimaryColour
82 * \li GSGroup::GetSecondaryColour
83 * \li GSGroupList
84 * \li GSVehicleList_Group
85 * \li GSVehicleList_DefaultGroup
86 * \li GSGoal::IsValidGoalDestination
87 * \li GSGoal::SetDestination
88 * \li GSIndustry::GetProductionLevel
89 * \li GSIndustry::SetProductionLevel
90 * \li GSStoryPage::IsValidStoryPageElementType
91 * \li GSStoryPage::IsValidStoryPageButtonColour
92 * \li GSStoryPage::IsValidStoryPageButtonFlags
93 * \li GSStoryPage::IsValidStoryPageButtonCursor
94 * \li GSTileList_StationCoverage
95 * \li GSAirport::GetAirportNumHelipads
97 * API removals:
98 * \li GSError::ERR_PRECONDITION_TOO_MANY_PARAMETERS, that error is never returned anymore.
99 * \li GSInfo::CONFIG_RANDOM, no longer used.
100 * \li GSInfo::AddSettings random_deviation is no longer used.
102 * Other changes:
103 * \li GSGroupList accepts an optional filter function
104 * \li GSIndustryList accepts an optional filter function
105 * \li GSSignList accepts an optional filter function
106 * \li GSSubsidyList accepts an optional filter function
107 * \li GSTownList accepts an optional filter function
108 * \li GSVehicleList accepts an optional filter function
109 * \li GSInfo::AddSettings easy_value / medium_value / hard_value are replaced with default_value
111 * \b 13.0
113 * API additions:
114 * \li GSCargo::GetWeight
115 * \li GSIndustryType::ResolveNewGRFID
116 * \li GSObjectType::ResolveNewGRFID
117 * \li GSLeagueTable
119 * Other changes:
120 * \li GSRoad::HasRoadType now correctly checks RoadType against RoadType
122 * \b 12.0
124 * API additions:
125 * \li GSNewGRF
126 * \li GSNewGRFList
127 * \li GSMarine::BT_LOCK
128 * \li GSMarine::BT_CANAL
129 * \li GSTile::IsSeaTile
130 * \li GSTile::IsRiverTile
131 * \li GSTile::BT_CLEAR_WATER
132 * \li GSObjectTypeList
133 * \li GSObjectType
135 * \b 1.11.0
137 * API additions:
138 * \li GSCargo::GetName
139 * \li GSEventStoryPageButtonClick
140 * \li GSEventStoryPageTileSelect
141 * \li GSEventStoryPageVehicleSelect
142 * \li GSIndustry::GetCargoLastAcceptedDate
143 * \li GSIndustry::GetControlFlags
144 * \li GSIndustry::GetExclusiveConsumer
145 * \li GSIndustry::GetExclusiveSupplier
146 * \li GSIndustry::GetLastProductionYear
147 * \li GSIndustry::SetControlFlags
148 * \li GSIndustry::SetExclusiveConsumer
149 * \li GSIndustry::SetExclusiveSupplier
150 * \li GSIndustry::SetText
151 * \li GSStoryPage::MakePushButtonReference
152 * \li GSStoryPage::MakeTileButtonReference
153 * \li GSStoryPage::MakeVehicleButtonReference
154 * \li GSPriorityQueue
156 * Other changes:
157 * \li GSCompany::ChangeBankBalance takes one extra parameter to refer to a location to show text effect on
158 * \li GSGoal::Question and GSGoal::QuestionClient no longer require to have any buttons except for the window type GSGoal.QT_QUESTION
160 * \b 1.10.0
162 * API additions:
163 * \li GSVehicle::BuildVehicleWithRefit
164 * \li GSVehicle::GetBuildWithRefitCapacity
165 * \li GSRoad::GetName
166 * \li GSRoad::RoadVehCanRunOnRoad
167 * \li GSRoad::RoadVehHasPowerOnRoad
168 * \li GSRoad::ConvertRoadType
169 * \li GSRoad::GetMaxSpeed
170 * \li GSEngine::EnableForCompany
171 * \li GSEngine::DisableForCompany
173 * \b 1.9.0
175 * API additions:
176 * \li GSAirport::GetMonthlyMaintenanceCost
177 * \li GSClient
178 * \li GSClientList
179 * \li GSClientList_Company
180 * \li GSViewport::ScrollEveryoneTo
181 * \li GSViewport::ScrollCompanyClientsTo
182 * \li GSViewport::ScrollClientTo
183 * \li GSGoal::QuestionClient
185 * Other changes:
186 * \li GSBridge::GetName takes one extra parameter to refer the vehicle type
188 * \b 1.8.0
190 * No changes
192 * API additions:
193 * \li GSRoad::ERR_ROADTYPE_DISALLOWS_CROSSING
195 * \b 1.7.0 - 1.7.2
197 * No changes
199 * \b 1.6.1 - 1.6.0
201 * No changes
203 * \b 1.5.3 - 1.5.1
205 * No changes
207 * \b 1.5.0
209 * API additions:
210 * \li GSList::SwapList
211 * \li GSStation::GetCargoPlanned
212 * \li GSStation::GetCargoPlannedFrom
213 * \li GSStation::GetCargoPlannedFromVia
214 * \li GSStation::GetCargoPlannedVia
215 * \li GSStation::GetCargoWaitingFromVia
216 * \li GSStationList_CargoPlannedByFrom
217 * \li GSStationList_CargoPlannedByVia
218 * \li GSStationList_CargoPlannedFromByVia
219 * \li GSStationList_CargoPlannedViaByFrom
220 * \li GSStationList_CargoWaitingByFrom
221 * \li GSStationList_CargoWaitingByVia
222 * \li GSStationList_CargoWaitingFromByVia
223 * \li GSStationList_CargoWaitingViaByFrom
225 * Other changes:
226 * \li GSNews::Create takes two extra parameters to refer to a location, station,
227 * industry, or town. The user can click at the news message to jump to the
228 * referred location.
230 * \b 1.4.4 - 1.4.3
232 * No changes
234 * \b 1.4.2
236 * Other changes:
237 * \li GSCargoMonitor delivery and pickup monitor functions have improved boundary checking for
238 * their parameters, and return \c -1 if they are found out of bounds.
240 * \b 1.4.1
242 * No changes
244 * \b 1.4.0
246 * API additions:
247 * \li AICargo::GetDistributionType
248 * \li GSCompany::ChangeBankBalance
249 * \li GSDate::DATE_INVALID
250 * \li GSDate::IsValidDate
251 * \li GSGoal::GT_STORY_PAGE
252 * \li GSGoal::IsCompleted
253 * \li GSGoal::SetCompleted
254 * \li GSGoal::SetProgress
255 * \li GSGoal::SetText
256 * \li GSStation::HasCargoRating
257 * \li GSStation::GetCargoWaitingFrom
258 * \li GSStation::GetCargoWaitingVia
259 * \li GSStoryPage
260 * \li GSStoryPageList
261 * \li GSStoryPageElementList
262 * \li GSTile::GetTerrainType
263 * \li GSTown::FoundTown
264 * \li GSTown::GetFundBuildingsDuration
265 * \li GSTown::SetName
266 * \li GSTown::TOWN_GROWTH_NONE
267 * \li GSTown::TOWN_GROWTH_NORMAL
269 * Other changes:
270 * \li GSGoal::New can now create up to 64000 concurrent goals. The old limit was 256 goals.
271 * \li GSStation::GetCargoRating does return -1 for cargo-station combinations that
272 * do not have a rating yet instead of returning 69.
274 * \b 1.3.3 - 1.3.2
276 * No changes
278 * \b 1.3.1
280 * API additions:
281 * \li GSTile::GetTerrainType
283 * \b 1.3.0
285 * API additions:
286 * \li GSCargoMonitor
287 * \li GSEngine::IsValidEngine and GSEngine::IsBuildable when outside GSCompanyMode scope
288 * \li GSEventExclusiveTransportRights
289 * \li GSEventRoadReconstruction
290 * \li GSNews::NT_ACCIDENT, GSNews::NT_COMPANY_INFO, GSNews::NT_ADVICE, GSNews::NT_ACCEPTANCE
291 * \li GSIndustryType::IsProcessingIndustry
292 * \li GSStation::IsAirportClosed
293 * \li GSStation::OpenCloseAirport
294 * \li GSController::Break
295 * \li GSIndustryType::BuildIndustry, GSIndustryType::CanBuildIndustry, GSIndustryType::ProspectIndustry and GSIndustryType::CanProspectIndustry when outside GSCompanyMode scope
297 * Other changes:
298 * \li Company specific goals are now removed when a company goes bankrupt or is taken over.
300 * \b 1.2.3 - 1.2.1
302 * No changes
304 * \b 1.2.0
305 * \li First stable release with the NoGo framework.
309 * @mainpage
311 * What's new?
312 * \li \ref game_changelog
314 * Main classes:
315 * \li \ref GSInfo
316 * \li \ref GSController
318 * Detail topics:
319 * \li \ref script_ids