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 * @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.
18 * This version is not yet released. The following changes are not set in stone yet.
23 * \li GSIndustry::GetConstructionDate
25 * \li GSCompanyMode::IsValid
26 * \li GSCompanyMode::IsDeity
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
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
96 * \li GSError::ERR_PRECONDITION_TOO_MANY_PARAMETERS, that error is never returned anymore.
97 * \li GSInfo::CONFIG_RANDOM, no longer used.
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
111 * \li GSCargo::GetWeight
112 * \li GSIndustryType::ResolveNewGRFID
113 * \li GSObjectType::ResolveNewGRFID
117 * \li GSRoad::HasRoadType now correctly checks RoadType against RoadType
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
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
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
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
173 * \li GSAirport::GetMonthlyMaintenanceCost
176 * \li GSClientList_Company
177 * \li GSViewport::ScrollEveryoneTo
178 * \li GSViewport::ScrollCompanyClientsTo
179 * \li GSViewport::ScrollClientTo
180 * \li GSGoal::QuestionClient
183 * \li GSBridge::GetName takes one extra parameter to refer the vehicle type
190 * \li GSRoad::ERR_ROADTYPE_DISALLOWS_CROSSING
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
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
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.
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
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
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.
278 * \li GSTile::GetTerrainType
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
295 * \li Company specific goals are now removed when a company goes bankrupt or is taken over.
302 * \li First stable release with the NoGo framework.