diff --git a/changelog.txt b/changelog.txt index f60b2be41a..0e31ee3fe5 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,12 @@ +1.10.1 (2020-04-13) +------------------------------------------------------------------------ +Fix #8081: Crash when placing a ship depot next to a dock (#8082) +Fix: [GS] A Goal's QuestionID was getting truncated (#8072) +Fix #8064: Refit capacity could be displayed incorrectly in extreme edgecases (#8065) +Fix #8060: Restore admin network API compatibility (#8061) +Fix #8055: Crash when roadtype availability changes with the road construction toolbar open (#8058) + + 1.10.0 (2020-04-01) ------------------------------------------------------------------------ Change: Open company window when clicking on a company goal (#8033) diff --git a/known-bugs.txt b/known-bugs.txt index bdf0cd093a..7b0277aa07 100644 --- a/known-bugs.txt +++ b/known-bugs.txt @@ -1,6 +1,6 @@ OpenTTD's known bugs -Last updated: 2020-04-01 -Release version: 1.10.0 +Last updated: 2020-04-13 +Release version: 1.10.1 ------------------------------------------------------------------------ diff --git a/os/debian/changelog b/os/debian/changelog index d0ceffa102..c9efabe8c4 100644 --- a/os/debian/changelog +++ b/os/debian/changelog @@ -1,3 +1,9 @@ +openttd (1.10.1-0) unstable; urgency=low + + * New upstream release 1.10.1 + + -- OpenTTD Mon, 13 Apr 2020 21:00:00 +0100 + openttd (1.10.0-0) unstable; urgency=low * New upstream release 1.10.0 diff --git a/os/rpm/openttd.spec b/os/rpm/openttd.spec index 5a1a489c36..ad2e19ab59 100644 --- a/os/rpm/openttd.spec +++ b/os/rpm/openttd.spec @@ -17,9 +17,9 @@ # Name: openttd -Version: 1.10.0 +Version: 1.10.1 Release: 0 -%define srcver 1.10.0 +%define srcver 1.10.1 Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe License: GPL-2.0 Group: Amusements/Games/Strategy/Other diff --git a/os/windows/installer/install.nsi b/os/windows/installer/install.nsi index 37c30a0b68..97a9558244 100644 --- a/os/windows/installer/install.nsi +++ b/os/windows/installer/install.nsi @@ -1,8 +1,8 @@ # Version numbers to update !define APPV_MAJOR 1 !define APPV_MINOR 10 -!define APPV_MAINT 0 -!define APPV_BUILD 3 +!define APPV_MAINT 1 +!define APPV_BUILD 4 !define APPV_EXTRA "" !define APPNAME "OpenTTD" ; Define application name diff --git a/src/articulated_vehicles.cpp b/src/articulated_vehicles.cpp index 7e828bf439..4f42c6955c 100644 --- a/src/articulated_vehicles.cpp +++ b/src/articulated_vehicles.cpp @@ -169,7 +169,7 @@ CargoArray GetCapacityOfArticulatedParts(EngineID engine) * @param cargo_type Selected refitted cargo type * @param cargo_capacity Capacity of selected refitted cargo type */ -void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint16 cargo_capacity) +void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint cargo_capacity) { cargoes->Clear(); *refits = 0; diff --git a/src/engine_func.h b/src/engine_func.h index 472600cf77..97bfd0894b 100644 --- a/src/engine_func.h +++ b/src/engine_func.h @@ -24,7 +24,7 @@ extern const uint8 _engine_offsets[4]; bool IsEngineBuildable(EngineID engine, VehicleType type, CompanyID company); bool IsEngineRefittable(EngineID engine); -void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint16 cargo_capacity); +void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint cargo_capacity); void SetYearEngineAgingStops(); void StartupOneEngine(Engine *e, Date aging_date); diff --git a/src/goal.cpp b/src/goal.cpp index 9c9441e9ee..02ec85255f 100644 --- a/src/goal.cpp +++ b/src/goal.cpp @@ -244,7 +244,7 @@ CommandCost CmdSetGoalCompleted(TileIndex tile, DoCommandFlag flags, uint32 p1, */ CommandCost CmdGoalQuestion(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) { - uint16 uniqueid = (GoalType)GB(p1, 0, 16); + uint16 uniqueid = (uint16)GB(p1, 0, 16); CompanyID company = (CompanyID)GB(p1, 16, 8); ClientID client = (ClientID)GB(p1, 16, 16); diff --git a/src/network/network_type.h b/src/network/network_type.h index 5f796b83d7..5a77053469 100644 --- a/src/network/network_type.h +++ b/src/network/network_type.h @@ -74,18 +74,23 @@ enum NetworkPasswordType { NETWORK_COMPANY_PASSWORD, ///< The password of the company. }; -/** Destination of our chat messages. */ +/** + * Destination of our chat messages. + * @warning The values of the enum items are part of the admin network API. Only append at the end. + */ enum DestType { DESTTYPE_BROADCAST, ///< Send message/notice to all clients (All) DESTTYPE_TEAM, ///< Send message/notice to everyone playing the same company (Team) DESTTYPE_CLIENT, ///< Send message/notice to only a certain client (Private) }; -/** Actions that can be used for NetworkTextMessage */ +/** + * Actions that can be used for NetworkTextMessage. + * @warning The values of the enum items are part of the admin network API. Only append at the end. + */ enum NetworkAction { NETWORK_ACTION_JOIN, NETWORK_ACTION_LEAVE, - NETWORK_ACTION_KICKED, NETWORK_ACTION_SERVER_MESSAGE, NETWORK_ACTION_CHAT, NETWORK_ACTION_CHAT_COMPANY, @@ -95,9 +100,13 @@ enum NetworkAction { NETWORK_ACTION_COMPANY_SPECTATOR, NETWORK_ACTION_COMPANY_JOIN, NETWORK_ACTION_COMPANY_NEW, + NETWORK_ACTION_KICKED, }; -/** The error codes we send around in the protocols. */ +/** + * The error codes we send around in the protocols. + * @warning The values of the enum items are part of the admin network API. Only append at the end. + */ enum NetworkErrorCode { NETWORK_ERROR_GENERAL, // Try to use this one like never diff --git a/src/rev.cpp b/src/rev.cpp index 52e99b1808..55cc89090c 100644 --- a/src/rev.cpp +++ b/src/rev.cpp @@ -35,7 +35,7 @@ bool IsReleasedVersion() * * shows a "M", if the binary is made from modified source code. */ -const char _openttd_revision[] = "1.10.0"; +const char _openttd_revision[] = "1.10.1"; /** * The text version of OpenTTD's build date. @@ -48,7 +48,7 @@ const char _openttd_build_date[] = __DATE__ " " __TIME__; /** * The git revision hash of this version. */ -const char _openttd_revision_hash[] = "c8cd5f7f3ad26dc34cfceae50ae33c897b8c2cf6"; +const char _openttd_revision_hash[] = "7f77b8c1e27f3d102b1f665d2a3c500598245c3b"; /** * Let us know if current build was modified. This detection diff --git a/src/road_gui.cpp b/src/road_gui.cpp index ea34102ee7..45ab0f6f8b 100644 --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -305,17 +305,6 @@ struct BuildRoadToolbarWindow : Window { if (!gui_scope) return; if (_game_mode != GM_EDITOR && !CanBuildVehicleInfrastructure(VEH_ROAD, GetRoadTramType(this->roadtype))) delete this; - bool can_build = _game_mode != GM_EDITOR; - this->SetWidgetsDisabledState(!can_build, - WID_ROT_DEPOT, - WID_ROT_BUS_STATION, - WID_ROT_TRUCK_STATION, - WIDGET_LIST_END); - if (!can_build) { - DeleteWindowById(WC_BUILD_DEPOT, TRANSPORT_ROAD); - DeleteWindowById(WC_BUS_STATION, TRANSPORT_ROAD); - DeleteWindowById(WC_TRUCK_STATION, TRANSPORT_ROAD); - } } void Initialize(RoadType roadtype) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 060e5a0d53..b883838841 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2601,7 +2601,8 @@ void RemoveDockingTile(TileIndex t) if (!IsValidTile(tile)) continue; if (IsTileType(tile, MP_STATION)) { - UpdateStationDockingTiles(Station::GetByTile(tile)); + Station *st = Station::GetByTile(tile); + if (st != nullptr) UpdateStationDockingTiles(st); } else if (IsTileType(tile, MP_INDUSTRY)) { Station *neutral = Industry::GetByTile(tile)->neutral_station; if (neutral != nullptr) UpdateStationDockingTiles(neutral); diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 2c57d970de..ae5af64a1a 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -82,7 +82,7 @@ static const uint GEN_HASHX_MASK = (1 << GEN_HASHX_BITS) - 1; static const uint GEN_HASHY_MASK = ((1 << GEN_HASHY_BITS) - 1) << GEN_HASHX_BITS; VehicleID _new_vehicle_id; -uint16 _returned_refit_capacity; ///< Stores the capacity after a refit operation. +uint _returned_refit_capacity; ///< Stores the capacity after a refit operation. uint16 _returned_mail_refit_capacity; ///< Stores the mail capacity after a refit operation (Aircraft only). diff --git a/src/vehicle_func.h b/src/vehicle_func.h index aa8334ebb0..ec14e526af 100644 --- a/src/vehicle_func.h +++ b/src/vehicle_func.h @@ -165,7 +165,7 @@ CommandCost EnsureNoVehicleOnGround(TileIndex tile); CommandCost EnsureNoTrainOnTrackBits(TileIndex tile, TrackBits track_bits); extern VehicleID _new_vehicle_id; -extern uint16 _returned_refit_capacity; +extern uint _returned_refit_capacity; extern uint16 _returned_mail_refit_capacity; bool CanVehicleUseStation(EngineID engine_type, const struct Station *st); diff --git a/src/vehicle_gui.h b/src/vehicle_gui.h index fe21325168..50cbdc4bc8 100644 --- a/src/vehicle_gui.h +++ b/src/vehicle_gui.h @@ -39,7 +39,7 @@ enum VehicleInvalidateWindowData { struct TestedEngineDetails { Money cost; ///< Refit cost CargoID cargo; ///< Cargo type - uint16 capacity; ///< Cargo capacity + uint capacity; ///< Cargo capacity uint16 mail_capacity; ///< Mail capacity if available };