mirror of https://github.com/OpenTTD/OpenTTD
Fix 55170ae: [Script] Building two-way signals could end up one-way
parent
992c72c0cb
commit
ed1457dca3
|
@ -1023,6 +1023,30 @@ function Regression::Rail()
|
||||||
print(" IsRailTile(): " + AIRail.IsRailTile(10002));
|
print(" IsRailTile(): " + AIRail.IsRailTile(10002));
|
||||||
print(" BuildRailTrack(): " + AIRail.BuildRailTrack(10002, AIRail.RAILTRACK_NW_SE));
|
print(" BuildRailTrack(): " + AIRail.BuildRailTrack(10002, AIRail.RAILTRACK_NW_SE));
|
||||||
print(" BuildSignal(): " + AIRail.BuildSignal(10002, 10258, AIRail.SIGNALTYPE_PBS));
|
print(" BuildSignal(): " + AIRail.BuildSignal(10002, 10258, AIRail.SIGNALTYPE_PBS));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 10258));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 9746));
|
||||||
|
print(" RemoveSignal(): " + AIRail.RemoveSignal(10002, 10258));
|
||||||
|
print(" BuildSignal(): " + AIRail.BuildSignal(10002, 9746, AIRail.SIGNALTYPE_ENTRY));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 10258));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 9746));
|
||||||
|
print(" RemoveSignal(): " + AIRail.RemoveSignal(10002, 9746));
|
||||||
|
print(" BuildSignal(): " + AIRail.BuildSignal(10002, 9746, AIRail.SIGNALTYPE_EXIT_TWOWAY));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 10258));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 9746));
|
||||||
|
print(" RemoveRailTrack(): " + AIRail.RemoveRailTrack(10002, AIRail.RAILTRACK_NW_NE));
|
||||||
|
print(" RemoveRailTrack(): " + AIRail.RemoveRailTrack(10002, AIRail.RAILTRACK_NW_SE));
|
||||||
|
print(" BuildRailTrack(): " + AIRail.BuildRailTrack(10002, AIRail.RAILTRACK_NW_NE));
|
||||||
|
print(" BuildSignal(): " + AIRail.BuildSignal(10002, 10003, AIRail.SIGNALTYPE_PBS));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 10003));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 10001));
|
||||||
|
print(" RemoveSignal(): " + AIRail.RemoveSignal(10002, 10003));
|
||||||
|
print(" BuildSignal(): " + AIRail.BuildSignal(10002, 10001, AIRail.SIGNALTYPE_ENTRY));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 10003));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 10001));
|
||||||
|
print(" RemoveSignal(): " + AIRail.RemoveSignal(10002, 10001));
|
||||||
|
print(" BuildSignal(): " + AIRail.BuildSignal(10002, 10001, AIRail.SIGNALTYPE_EXIT_TWOWAY));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 10003));
|
||||||
|
print(" GetSignalType(): " + AIRail.GetSignalType(10002, 10001));
|
||||||
print(" RemoveRailTrack(): " + AIRail.RemoveRailTrack(10002, AIRail.RAILTRACK_NW_NE));
|
print(" RemoveRailTrack(): " + AIRail.RemoveRailTrack(10002, AIRail.RAILTRACK_NW_NE));
|
||||||
print(" RemoveRailTrack(): " + AIRail.RemoveRailTrack(10002, AIRail.RAILTRACK_NW_SE));
|
print(" RemoveRailTrack(): " + AIRail.RemoveRailTrack(10002, AIRail.RAILTRACK_NW_SE));
|
||||||
print(" BuildRail(): " + AIRail.BuildRail(10002, 10003, 10006));
|
print(" BuildRail(): " + AIRail.BuildRail(10002, 10003, 10006));
|
||||||
|
|
|
@ -7411,8 +7411,32 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||||
IsRailTile(): false
|
IsRailTile(): false
|
||||||
BuildRailTrack(): true
|
BuildRailTrack(): true
|
||||||
BuildSignal(): true
|
BuildSignal(): true
|
||||||
|
GetSignalType(): 4
|
||||||
|
GetSignalType(): 255
|
||||||
|
RemoveSignal(): true
|
||||||
|
BuildSignal(): true
|
||||||
|
GetSignalType(): 255
|
||||||
|
GetSignalType(): 1
|
||||||
|
RemoveSignal(): true
|
||||||
|
BuildSignal(): true
|
||||||
|
GetSignalType(): 10
|
||||||
|
GetSignalType(): 10
|
||||||
RemoveRailTrack(): false
|
RemoveRailTrack(): false
|
||||||
RemoveRailTrack(): true
|
RemoveRailTrack(): true
|
||||||
|
BuildRailTrack(): true
|
||||||
|
BuildSignal(): false
|
||||||
|
GetSignalType(): 255
|
||||||
|
GetSignalType(): 255
|
||||||
|
RemoveSignal(): false
|
||||||
|
BuildSignal(): true
|
||||||
|
GetSignalType(): 255
|
||||||
|
GetSignalType(): 1
|
||||||
|
RemoveSignal(): true
|
||||||
|
BuildSignal(): true
|
||||||
|
GetSignalType(): 255
|
||||||
|
GetSignalType(): 10
|
||||||
|
RemoveRailTrack(): true
|
||||||
|
RemoveRailTrack(): false
|
||||||
BuildRail(): true
|
BuildRail(): true
|
||||||
HasTransportType(): true
|
HasTransportType(): true
|
||||||
HasTransportType(): false
|
HasTransportType(): false
|
||||||
|
@ -9272,12 +9296,12 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||||
GetLocation(): 33417
|
GetLocation(): 33417
|
||||||
GetEngineType(): 153
|
GetEngineType(): 153
|
||||||
GetUnitNumber(): 1
|
GetUnitNumber(): 1
|
||||||
GetAge(): 1
|
GetAge(): 0
|
||||||
GetMaxAge(): 5490
|
GetMaxAge(): 5490
|
||||||
GetAgeLeft(): 5489
|
GetAgeLeft(): 5490
|
||||||
GetCurrentSpeed(): 7
|
GetCurrentSpeed(): 7
|
||||||
GetRunningCost(): 421
|
GetRunningCost(): 421
|
||||||
GetProfitThisYear(): -1
|
GetProfitThisYear(): 0
|
||||||
GetProfitLastYear(): 0
|
GetProfitLastYear(): 0
|
||||||
GetCurrentValue(): 5947
|
GetCurrentValue(): 5947
|
||||||
GetVehicleType(): 1
|
GetVehicleType(): 1
|
||||||
|
@ -9287,7 +9311,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||||
IsInDepot(): false
|
IsInDepot(): false
|
||||||
GetNumWagons(): 1
|
GetNumWagons(): 1
|
||||||
GetWagonEngineType(): 153
|
GetWagonEngineType(): 153
|
||||||
GetWagonAge(): 1
|
GetWagonAge(): 0
|
||||||
GetLength(): 8
|
GetLength(): 8
|
||||||
GetOwner(): 1
|
GetOwner(): 1
|
||||||
BuildVehicle(): 14
|
BuildVehicle(): 14
|
||||||
|
@ -9360,11 +9384,11 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||||
14 => 1
|
14 => 1
|
||||||
12 => 1
|
12 => 1
|
||||||
Age ListDump:
|
Age ListDump:
|
||||||
|
17 => 1
|
||||||
|
16 => 1
|
||||||
|
14 => 1
|
||||||
13 => 1
|
13 => 1
|
||||||
12 => 1
|
12 => 1
|
||||||
17 => 0
|
|
||||||
16 => 0
|
|
||||||
14 => 0
|
|
||||||
MaxAge ListDump:
|
MaxAge ListDump:
|
||||||
16 => 10980
|
16 => 10980
|
||||||
14 => 10980
|
14 => 10980
|
||||||
|
@ -9372,9 +9396,9 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||||
13 => 5490
|
13 => 5490
|
||||||
12 => 5490
|
12 => 5490
|
||||||
AgeLeft ListDump:
|
AgeLeft ListDump:
|
||||||
16 => 10980
|
16 => 10979
|
||||||
14 => 10980
|
14 => 10979
|
||||||
17 => 7320
|
17 => 7319
|
||||||
13 => 5489
|
13 => 5489
|
||||||
12 => 5489
|
12 => 5489
|
||||||
CurrentSpeed ListDump:
|
CurrentSpeed ListDump:
|
||||||
|
|
|
@ -463,6 +463,8 @@ static bool IsValidSignalType(int signal_type)
|
||||||
|
|
||||||
if (signal < SIGNALTYPE_TWOWAY) {
|
if (signal < SIGNALTYPE_TWOWAY) {
|
||||||
if (signal != SIGNALTYPE_PBS && signal != SIGNALTYPE_PBS_ONEWAY) signal_cycles++;
|
if (signal != SIGNALTYPE_PBS && signal != SIGNALTYPE_PBS_ONEWAY) signal_cycles++;
|
||||||
|
} else {
|
||||||
|
signal_cycles = 0;
|
||||||
}
|
}
|
||||||
::SignalType sig_type = (::SignalType)(signal >= SIGNALTYPE_TWOWAY ? signal ^ SIGNALTYPE_TWOWAY : signal);
|
::SignalType sig_type = (::SignalType)(signal >= SIGNALTYPE_TWOWAY ? signal ^ SIGNALTYPE_TWOWAY : signal);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue