1
0
Fork 0

(svn r19927) [1.0] -Backport from trunk:

- Fix: [YAPP] Inform the pathfinder as well about the fact that the backside of an one-way path signal can be a safe waiting point [FS#3803] (r19896)
- Fix: Allow loading savegames from the console without specifying the ".sav" extension, i.e. make it consistent with saving savegames from the console [FS#3761] (r19885)
- Fix: Dropdowns did affect positioning of new windows because they were not yet removed when the new windows were positioned [FS#3812] (r19883)
- Fix: [NoAI] AIEngine::IsValidEngine() and AIEngine::IsBuildable() returned false positives. Especially wagons of unavailable railtypes were reported available (r19880)
release/1.0
rubidium 2010-06-04 21:10:18 +00:00
parent 517a9d4a68
commit 76f552f16d
5 changed files with 250 additions and 229 deletions

View File

@ -2148,201 +2148,201 @@ ERROR: HasNext() is invalid as Begin() is never called
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 57 Engine 57
IsValidEngine(): true IsValidEngine(): false
GetName(): Passenger Carriage GetName(): (null : 0x00000000)
GetCargoType(): 0 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 45 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1447 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 25 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 58 Engine 58
IsValidEngine(): true IsValidEngine(): false
GetName(): Mail Van GetName(): (null : 0x00000000)
GetCargoType(): 2 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 35 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1335 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 21 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 59 Engine 59
IsValidEngine(): true IsValidEngine(): false
GetName(): Coal Truck GetName(): (null : 0x00000000)
GetCargoType(): 1 GetCargoType(): 255
CanRefitCargo(): true CanRefitCargo(): false
GetCapacity(): 35 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1031 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 18 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 60 Engine 60
IsValidEngine(): true IsValidEngine(): false
GetName(): Oil Tanker GetName(): (null : 0x00000000)
GetCargoType(): 3 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 35 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1171 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 24 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 61 Engine 61
IsValidEngine(): true IsValidEngine(): false
GetName(): Livestock Van GetName(): (null : 0x00000000)
GetCargoType(): 4 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 30 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1125 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 20 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 62 Engine 62
IsValidEngine(): true IsValidEngine(): false
GetName(): Goods Van GetName(): (null : 0x00000000)
GetCargoType(): 5 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 30 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1113 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 21 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 63 Engine 63
IsValidEngine(): true IsValidEngine(): false
GetName(): Grain Hopper GetName(): (null : 0x00000000)
GetCargoType(): 6 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 35 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1066 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 19 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 64 Engine 64
IsValidEngine(): true IsValidEngine(): false
GetName(): Wood Truck GetName(): (null : 0x00000000)
GetCargoType(): 7 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 35 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1060 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 16 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 65 Engine 65
IsValidEngine(): true IsValidEngine(): false
GetName(): Iron Ore Hopper GetName(): (null : 0x00000000)
GetCargoType(): 8 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 35 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1048 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 19 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 66 Engine 66
IsValidEngine(): true IsValidEngine(): false
GetName(): Steel Truck GetName(): (null : 0x00000000)
GetCargoType(): 9 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 25 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1148 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 18 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 67 Engine 67
IsValidEngine(): true IsValidEngine(): false
GetName(): Armoured Van GetName(): (null : 0x00000000)
GetCargoType(): 10 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 25 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1494 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 30 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 2 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 68 Engine 68
@ -2724,201 +2724,201 @@ ERROR: HasNext() is invalid as Begin() is never called
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 89 Engine 89
IsValidEngine(): true IsValidEngine(): false
GetName(): Passenger Carriage GetName(): (null : 0x00000000)
GetCargoType(): 0 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 47 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1447 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 25 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 90 Engine 90
IsValidEngine(): true IsValidEngine(): false
GetName(): Mail Van GetName(): (null : 0x00000000)
GetCargoType(): 2 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 37 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1335 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 21 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 91 Engine 91
IsValidEngine(): true IsValidEngine(): false
GetName(): Coal Truck GetName(): (null : 0x00000000)
GetCargoType(): 1 GetCargoType(): 255
CanRefitCargo(): true CanRefitCargo(): false
GetCapacity(): 37 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1031 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 18 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 92 Engine 92
IsValidEngine(): true IsValidEngine(): false
GetName(): Oil Tanker GetName(): (null : 0x00000000)
GetCargoType(): 3 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 37 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1171 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 24 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 93 Engine 93
IsValidEngine(): true IsValidEngine(): false
GetName(): Livestock Van GetName(): (null : 0x00000000)
GetCargoType(): 4 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 32 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1125 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 20 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 94 Engine 94
IsValidEngine(): true IsValidEngine(): false
GetName(): Goods Van GetName(): (null : 0x00000000)
GetCargoType(): 5 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 32 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1113 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 21 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 95 Engine 95
IsValidEngine(): true IsValidEngine(): false
GetName(): Grain Hopper GetName(): (null : 0x00000000)
GetCargoType(): 6 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 37 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1066 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 19 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 96 Engine 96
IsValidEngine(): true IsValidEngine(): false
GetName(): Wood Truck GetName(): (null : 0x00000000)
GetCargoType(): 7 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 37 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1060 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 16 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 97 Engine 97
IsValidEngine(): true IsValidEngine(): false
GetName(): Iron Ore Hopper GetName(): (null : 0x00000000)
GetCargoType(): 8 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 37 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1048 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 19 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 98 Engine 98
IsValidEngine(): true IsValidEngine(): false
GetName(): Steel Truck GetName(): (null : 0x00000000)
GetCargoType(): 9 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 27 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1148 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 18 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 99 Engine 99
IsValidEngine(): true IsValidEngine(): false
GetName(): Armoured Van GetName(): (null : 0x00000000)
GetCargoType(): 10 GetCargoType(): 255
CanRefitCargo(): false CanRefitCargo(): false
GetCapacity(): 27 GetCapacity(): -1
GetReliability(): -1 GetReliability(): -1
GetMaxSpeed(): 0 GetMaxSpeed(): -1
GetPrice(): 1494 GetPrice(): -1
GetMaxAge(): -1 GetMaxAge(): -1
GetRunningCost(): 0 GetRunningCost(): -1
GetPower(): -1 GetPower(): -1
GetWeight(): 30 GetWeight(): -1
GetMaxTractiveEffort(): -1 GetMaxTractiveEffort(): -1
GetVehicleType(): 0 GetVehicleType(): 255
GetRailType(): 3 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Engine 100 Engine 100
@ -5747,7 +5747,7 @@ ERROR: HasNext() is invalid as Begin() is never called
GetRailType(): 255 GetRailType(): 255
GetRoadType(): -1 GetRoadType(): -1
GetPlaneType(): -1 GetPlaneType(): -1
Valid Engines: 53 Valid Engines: 31
--EngineList-- --EngineList--
Count(): 11 Count(): 11

View File

@ -16,20 +16,21 @@
#include "../../strings_func.h" #include "../../strings_func.h"
#include "../../rail.h" #include "../../rail.h"
#include "../../engine_base.h" #include "../../engine_base.h"
#include "../../engine_func.h"
#include "../../articulated_vehicles.h" #include "../../articulated_vehicles.h"
#include "table/strings.h" #include "table/strings.h"
/* static */ bool AIEngine::IsValidEngine(EngineID engine_id) /* static */ bool AIEngine::IsValidEngine(EngineID engine_id)
{ {
const Engine *e = ::Engine::GetIfValid(engine_id); const Engine *e = ::Engine::GetIfValid(engine_id);
return e != NULL && (HasBit(e->company_avail, _current_company) || ::Company::Get(_current_company)->num_engines[engine_id] > 0); return e != NULL && (::IsEngineBuildable(engine_id, e->type, _current_company) || ::Company::Get(_current_company)->num_engines[engine_id] > 0);
} }
/* static */ bool AIEngine::IsBuildable(EngineID engine_id) /* static */ bool AIEngine::IsBuildable(EngineID engine_id)
{ {
const Engine *e = ::Engine::GetIfValid(engine_id); const Engine *e = ::Engine::GetIfValid(engine_id);
return e != NULL && HasBit(e->company_avail, _current_company); return e != NULL && ::IsEngineBuildable(engine_id, e->type, _current_company);
} }
/* static */ char *AIEngine::GetName(EngineID engine_id) /* static */ char *AIEngine::GetName(EngineID engine_id)

View File

@ -252,7 +252,18 @@ static const FiosItem *GetFiosItem(const char *file)
int i = strtol(file, &endptr, 10); int i = strtol(file, &endptr, 10);
if (file == endptr || *endptr != '\0') i = -1; if (file == endptr || *endptr != '\0') i = -1;
return IsInsideMM(i, 0, _fios_items.Length()) ? _fios_items.Get(i) : NULL; if (IsInsideMM(i, 0, _fios_items.Length())) return _fios_items.Get(i);
/* As a last effort assume it is an OpenTTD savegame and
* that the ".sav" part was not given. */
char long_file[MAX_PATH];
seprintf(long_file, lastof(long_file), "%s.sav", file);
for (const FiosItem *item = _fios_items.Begin(); item != _fios_items.End(); item++) {
if (strcmp(long_file, item->name) == 0) return item;
if (strcmp(long_file, item->title) == 0) return item;
}
return NULL;
} }

View File

@ -507,9 +507,12 @@ no_entry_cost: // jump here at the beginning if the node has no parent (it is th
/* Gather the next tile/trackdir/tile_type/rail_type. */ /* Gather the next tile/trackdir/tile_type/rail_type. */
TILE next(tf_local.m_new_tile, (Trackdir)FindFirstBit2x64(tf_local.m_new_td_bits)); TILE next(tf_local.m_new_tile, (Trackdir)FindFirstBit2x64(tf_local.m_new_td_bits));
if (TrackFollower::DoTrackMasking() && HasPbsSignalOnTrackdir(next.tile, next.td)) { if (TrackFollower::DoTrackMasking() && IsTileType(next.tile, MP_RAILWAY)) {
/* Possible safe tile. */ if ((HasSignalOnTrackdir(next.tile, next.td) && IsPbsSignal(GetSignalType(next.tile, TrackdirToTrack(next.td)))) ||
end_segment_reason |= ESRB_SAFE_TILE; (HasSignalOnTrackdir(next.tile, ReverseTrackdir(next.td)) && GetSignalType(next.tile, TrackdirToTrack(next.td)) == SIGTYPE_PBS_ONEWAY)) {
/* Possible safe tile. */
end_segment_reason |= ESRB_SAFE_TILE;
}
} }
/* Check the next tile for the rail type. */ /* Check the next tile for the rail type. */

View File

@ -281,6 +281,9 @@ struct DropdownWindow : Window {
} }
if (this->click_delay != 0 && --this->click_delay == 0) { if (this->click_delay != 0 && --this->click_delay == 0) {
/* Make the dropdown "invisible", so it doesn't affect new window placement. */
this->window_class = WC_INVALID;
w2->OnDropdownSelect(this->parent_button, this->selected_index); w2->OnDropdownSelect(this->parent_button, this->selected_index);
delete this; delete this;
return; return;
@ -293,6 +296,9 @@ struct DropdownWindow : Window {
this->drag_mode = false; this->drag_mode = false;
if (!this->GetDropDownItem(item)) { if (!this->GetDropDownItem(item)) {
if (this->instant_close) { if (this->instant_close) {
/* Make the dropdown "invisible", so it doesn't affect new window placement. */
this->window_class = WC_INVALID;
if (GetWidgetFromPos(w2, _cursor.pos.x - w2->left, _cursor.pos.y - w2->top) == this->parent_button) { if (GetWidgetFromPos(w2, _cursor.pos.x - w2->left, _cursor.pos.y - w2->top) == this->parent_button) {
/* Send event for selected option if we're still /* Send event for selected option if we're still
* on the parent button of the list. */ * on the parent button of the list. */