Merge branch 'master' into jgrpp

# Conflicts:
#	src/company_cmd.cpp
#	src/core/geometry_func.cpp
#	src/date.cpp
#	src/genworld_gui.cpp
#	src/gfx.cpp
#	src/object_gui.cpp
#	src/openttd.cpp
#	src/settings_type.h
#	src/video/allegro_v.cpp
#	src/video/dedicated_v.cpp
#	src/video/null_v.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
This commit is contained in:
Jonathan G Rennison
2021-02-19 15:38:34 +00:00
176 changed files with 4275 additions and 3826 deletions

View File

@@ -340,11 +340,11 @@ void Ship::UpdateDeltaXY()
}
/**
* Test-procedure for HasVehicleOnPos to check for a ship.
* Test-procedure for HasVehicleOnPos to check for any ships which are visible and not stopped by the player.
*/
static Vehicle *EnsureNoVisibleShipProc(Vehicle *v, void *data)
static Vehicle *EnsureNoMovingShipProc(Vehicle *v, void *data)
{
return (v->vehstatus & VS_HIDDEN) == 0 ? v : nullptr;
return (v->vehstatus & (VS_HIDDEN | VS_STOPPED)) == 0 ? v : nullptr;
}
static bool CheckShipLeaveDepot(Ship *v)
@@ -370,7 +370,7 @@ static bool CheckShipLeaveDepot(Ship *v)
/* Don't leave depot if another vehicle is already entering/leaving */
/* This helps avoid CPU load if many ships are set to start at the same time */
if (HasVehicleOnPos(v->tile, VEH_SHIP, nullptr, &EnsureNoVisibleShipProc)) return true;
if (HasVehicleOnPos(v->tile, VEH_SHIP, nullptr, &EnsureNoMovingShipProc)) return true;
TileIndex tile = v->tile;
Axis axis = GetShipDepotAxis(tile);