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/>.
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.
18 * This version is not yet released. The following changes are not set in stone yet.
21 * \li GSEventVehicleCrashed::GetVictims
22 * \li GSEventCompanyRenamed
23 * \li GSEventPresidentRenamed
26 * \li GSBridge::GetBridgeID renamed to GSBridge::GetBridgeType
31 * \li GSIndustry::GetConstructionDate
33 * \li GSCompanyMode::IsValid
34 * \li GSCompanyMode::IsDeity
35 * \li GSTown::ROAD_LAYOUT_RANDOM
36 * \li GSVehicle::IsPrimaryVehicle
37 * \li GSOrder::SetOrderJumpTo
38 * \li GSOrder::SetOrderCondition
39 * \li GSOrder::SetOrderCompareFunction
40 * \li GSOrder::SetOrderCompareValue
41 * \li GSOrder::SetStopLocation
42 * \li GSOrder::SetOrderRefit
43 * \li GSOrder::AppendOrder
44 * \li GSOrder::AppendConditionalOrder
45 * \li GSOrder::InsertOrder
46 * \li GSOrder::InsertConditionalOrder
47 * \li GSOrder::RemoveOrder
48 * \li GSOrder::SetOrderFlags
49 * \li GSOrder::MoveOrder
50 * \li GSOrder::SkipToOrder
51 * \li GSOrder::CopyOrders
52 * \li GSOrder::ShareOrders
53 * \li GSOrder::UnshareOrders
54 * \li GSCompany::IsMine
55 * \li GSCompany::SetPresidentGender
56 * \li GSCompany::SetAutoRenewStatus
57 * \li GSCompany::SetAutoRenewMonths
58 * \li GSCompany::SetAutoRenewMoney
59 * \li GSCompany::SetMaxLoanAmountForCompany
60 * \li GSCompany::ResetMaxLoanAmountForCompany
61 * \li GSGameSettings::IsDisabledVehicleType
62 * \li GSGroup::GroupID
63 * \li GSGroup::IsValidGroup
64 * \li GSGroup::CreateGroup
65 * \li GSGroup::DeleteGroup
66 * \li GSGroup::GetVehicleType
67 * \li GSGroup::SetName
68 * \li GSGroup::GetName
69 * \li GSGroup::SetParent
70 * \li GSGroup::GetParent
71 * \li GSGroup::EnableAutoReplaceProtection
72 * \li GSGroup::GetAutoReplaceProtection
73 * \li GSGroup::GetNumEngines
74 * \li GSGroup::GetNumVehicles
75 * \li GSGroup::MoveVehicle
76 * \li GSGroup::EnableWagonRemoval
77 * \li GSGroup::HasWagonRemoval
78 * \li GSGroup::SetAutoReplace
79 * \li GSGroup::GetEngineReplacement
80 * \li GSGroup::StopAutoReplace
81 * \li GSGroup::GetProfitThisYear
82 * \li GSGroup::GetProfitLastYear
83 * \li GSGroup::GetCurrentUsage
84 * \li GSGroup::SetPrimaryColour
85 * \li GSGroup::SetSecondaryColour
86 * \li GSGroup::GetPrimaryColour
87 * \li GSGroup::GetSecondaryColour
89 * \li GSVehicleList_Group
90 * \li GSVehicleList_DefaultGroup
91 * \li GSGoal::IsValidGoalDestination
92 * \li GSGoal::SetDestination
93 * \li GSIndustry::GetProductionLevel
94 * \li GSIndustry::SetProductionLevel
95 * \li GSStoryPage::IsValidStoryPageElementType
96 * \li GSStoryPage::IsValidStoryPageButtonColour
97 * \li GSStoryPage::IsValidStoryPageButtonFlags
98 * \li GSStoryPage::IsValidStoryPageButtonCursor
99 * \li GSTileList_StationCoverage
100 * \li GSAirport::GetAirportNumHelipads
103 * \li GSError::ERR_PRECONDITION_TOO_MANY_PARAMETERS, that error is never returned anymore.
104 * \li GSInfo::CONFIG_RANDOM, no longer used.
105 * \li GSInfo::AddSettings random_deviation is no longer used.
108 * \li GSGroupList accepts an optional filter function
109 * \li GSIndustryList accepts an optional filter function
110 * \li GSSignList accepts an optional filter function
111 * \li GSSubsidyList accepts an optional filter function
112 * \li GSTownList accepts an optional filter function
113 * \li GSVehicleList accepts an optional filter function
114 * \li GSInfo::AddSettings easy_value / medium_value / hard_value are replaced with default_value
119 * \li GSCargo::GetWeight
120 * \li GSIndustryType::ResolveNewGRFID
121 * \li GSObjectType::ResolveNewGRFID
125 * \li GSRoad::HasRoadType now correctly checks RoadType against RoadType
132 * \li GSMarine::BT_LOCK
133 * \li GSMarine::BT_CANAL
134 * \li GSTile::IsSeaTile
135 * \li GSTile::IsRiverTile
136 * \li GSTile::BT_CLEAR_WATER
137 * \li GSObjectTypeList
143 * \li GSCargo::GetName
144 * \li GSEventStoryPageButtonClick
145 * \li GSEventStoryPageTileSelect
146 * \li GSEventStoryPageVehicleSelect
147 * \li GSIndustry::GetCargoLastAcceptedDate
148 * \li GSIndustry::GetControlFlags
149 * \li GSIndustry::GetExclusiveConsumer
150 * \li GSIndustry::GetExclusiveSupplier
151 * \li GSIndustry::GetLastProductionYear
152 * \li GSIndustry::SetControlFlags
153 * \li GSIndustry::SetExclusiveConsumer
154 * \li GSIndustry::SetExclusiveSupplier
155 * \li GSIndustry::SetText
156 * \li GSStoryPage::MakePushButtonReference
157 * \li GSStoryPage::MakeTileButtonReference
158 * \li GSStoryPage::MakeVehicleButtonReference
159 * \li GSPriorityQueue
162 * \li GSCompany::ChangeBankBalance takes one extra parameter to refer to a location to show text effect on
163 * \li GSGoal::Question and GSGoal::QuestionClient no longer require to have any buttons except for the window type GSGoal.QT_QUESTION
168 * \li GSVehicle::BuildVehicleWithRefit
169 * \li GSVehicle::GetBuildWithRefitCapacity
170 * \li GSRoad::GetName
171 * \li GSRoad::RoadVehCanRunOnRoad
172 * \li GSRoad::RoadVehHasPowerOnRoad
173 * \li GSRoad::ConvertRoadType
174 * \li GSRoad::GetMaxSpeed
175 * \li GSEngine::EnableForCompany
176 * \li GSEngine::DisableForCompany
181 * \li GSAirport::GetMonthlyMaintenanceCost
184 * \li GSClientList_Company
185 * \li GSViewport::ScrollEveryoneTo
186 * \li GSViewport::ScrollCompanyClientsTo
187 * \li GSViewport::ScrollClientTo
188 * \li GSGoal::QuestionClient
191 * \li GSBridge::GetName takes one extra parameter to refer the vehicle type
198 * \li GSRoad::ERR_ROADTYPE_DISALLOWS_CROSSING
215 * \li GSList::SwapList
216 * \li GSStation::GetCargoPlanned
217 * \li GSStation::GetCargoPlannedFrom
218 * \li GSStation::GetCargoPlannedFromVia
219 * \li GSStation::GetCargoPlannedVia
220 * \li GSStation::GetCargoWaitingFromVia
221 * \li GSStationList_CargoPlannedByFrom
222 * \li GSStationList_CargoPlannedByVia
223 * \li GSStationList_CargoPlannedFromByVia
224 * \li GSStationList_CargoPlannedViaByFrom
225 * \li GSStationList_CargoWaitingByFrom
226 * \li GSStationList_CargoWaitingByVia
227 * \li GSStationList_CargoWaitingFromByVia
228 * \li GSStationList_CargoWaitingViaByFrom
231 * \li GSNews::Create takes two extra parameters to refer to a location, station,
232 * industry, or town. The user can click at the news message to jump to the
242 * \li GSCargoMonitor delivery and pickup monitor functions have improved boundary checking for
243 * their parameters, and return \c -1 if they are found out of bounds.
252 * \li AICargo::GetDistributionType
253 * \li GSCompany::ChangeBankBalance
254 * \li GSDate::DATE_INVALID
255 * \li GSDate::IsValidDate
256 * \li GSGoal::GT_STORY_PAGE
257 * \li GSGoal::IsCompleted
258 * \li GSGoal::SetCompleted
259 * \li GSGoal::SetProgress
260 * \li GSGoal::SetText
261 * \li GSStation::HasCargoRating
262 * \li GSStation::GetCargoWaitingFrom
263 * \li GSStation::GetCargoWaitingVia
265 * \li GSStoryPageList
266 * \li GSStoryPageElementList
267 * \li GSTile::GetTerrainType
268 * \li GSTown::FoundTown
269 * \li GSTown::GetFundBuildingsDuration
270 * \li GSTown::SetName
271 * \li GSTown::TOWN_GROWTH_NONE
272 * \li GSTown::TOWN_GROWTH_NORMAL
275 * \li GSGoal::New can now create up to 64000 concurrent goals. The old limit was 256 goals.
276 * \li GSStation::GetCargoRating does return -1 for cargo-station combinations that
277 * do not have a rating yet instead of returning 69.
286 * \li GSTile::GetTerrainType
292 * \li GSEngine::IsValidEngine and GSEngine::IsBuildable when outside GSCompanyMode scope
293 * \li GSEventExclusiveTransportRights
294 * \li GSEventRoadReconstruction
295 * \li GSNews::NT_ACCIDENT, GSNews::NT_COMPANY_INFO, GSNews::NT_ADVICE, GSNews::NT_ACCEPTANCE
296 * \li GSIndustryType::IsProcessingIndustry
297 * \li GSStation::IsAirportClosed
298 * \li GSStation::OpenCloseAirport
299 * \li GSController::Break
300 * \li GSIndustryType::BuildIndustry, GSIndustryType::CanBuildIndustry, GSIndustryType::ProspectIndustry and GSIndustryType::CanProspectIndustry when outside GSCompanyMode scope
303 * \li Company specific goals are now removed when a company goes bankrupt or is taken over.
310 * \li First stable release with the NoGo framework.
317 * \li \ref game_changelog
321 * \li \ref GSController
324 * \li \ref script_ids