Skip to content

Commit f947f29

Browse files
committed
Merge branch 'master' into external-controllers
2 parents 6b933ed + 5c9f646 commit f947f29

File tree

99 files changed

+3007
-1713
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+3007
-1713
lines changed

Source/ContentChecker/ContentChecker.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
</PropertyGroup>
1515
<ItemGroup>
1616
<Reference Include="MonoGame.Framework">
17-
<HintPath>$(SolutionDir)\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
17+
<HintPath>..\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
1818
</Reference>
1919
</ItemGroup>
2020
<ItemGroup>

Source/Contrib/ActivityEditor/ActivityEditor/ActivityEditor.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
</PropertyGroup>
1818
<ItemGroup>
1919
<Reference Include="MonoGame.Framework">
20-
<HintPath>$(SolutionDir)\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
20+
<HintPath>..\..\..\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
2121
</Reference>
2222
</ItemGroup>
2323
<ItemGroup>

Source/Contrib/ActivityEditor/LibAE/LibAE.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
</PropertyGroup>
1515
<ItemGroup>
1616
<Reference Include="MonoGame.Framework">
17-
<HintPath>$(SolutionDir)\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
17+
<HintPath>..\..\..\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
1818
</Reference>
1919
</ItemGroup>
2020
<ItemGroup>

Source/Contrib/DataCollector/DataCollector.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
</PropertyGroup>
1616
<ItemGroup>
1717
<Reference Include="MonoGame.Framework">
18-
<HintPath>$(SolutionDir)\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
18+
<HintPath>..\..\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
1919
</Reference>
2020
</ItemGroup>
2121
<ItemGroup>

Source/Contrib/TrackViewer/TrackViewer.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<HintPath>..\..\3rdPartyLibs\GNU.Gettext.dll</HintPath>
2727
</Reference>
2828
<Reference Include="MonoGame.Framework">
29-
<HintPath>$(SolutionDir)\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
29+
<HintPath>..\..\3rdPartyLibs\MonoGame\MonoGame.Framework.dll</HintPath>
3030
</Reference>
3131
</ItemGroup>
3232
<ItemGroup>

Source/Documentation/Manual/cabs.rst

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,24 @@ The following controls are available for the cabview:
7979
- ``ORTS_BATTERY_SWITCH_COMMAND_BUTTON_CLOSE`` and ``ORTS_BATTERY_SWITCH_COMMAND_BUTTON_OPEN`` can be used if the switch is controlled with two pushbuttons (one to close the switch and the other to open it)
8080
- ``ORTS_BATTERY_SWITCH_ON`` can be used to control a light on the cab showing the state of the battery switch
8181

82-
Other controls can be hidden if the low voltage power supply is not available using the following parameter::
82+
Other controls can be disabled if the low voltage power supply is not available using the following parameter::
8383

8484
TwoState (
85-
Type ( ORTS_CIRCUIT_BREAKER_CLOSED TWO_STATE)
85+
Type ( ORTS_CIRCUIT_BREAKER_CLOSED TWO_STATE )
8686
...
8787
DisabledIfLowVoltagePowerSupplyOff ( 1 )
8888
)
8989

90+
By default, the cabview control will be completely hidden. You can also set a specific value for the control when it is disabled::
91+
92+
TwoState (
93+
Type ( SPEEDOMETER DIAL )
94+
...
95+
DisabledIfLowVoltagePowerSupplyOff ( 1 )
96+
HideIfDisabled ( 0 )
97+
ValueIfDisabled ( 0 )
98+
)
99+
90100
.. _cabs-master-key:
91101

92102
Master key
@@ -105,12 +115,22 @@ The following controls are available for the cabview:
105115
- ``ORTS_CURRENT_CAB_IN_USE`` can be used to indicate that the current cab is active
106116
- ``ORTS_OTHER_CAB_IN_USE`` can be used to indicate that another cab of the train is active
107117

108-
Other controls can be hidden if the cab power supply is not available using the following parameter::
118+
Other controls can be disabled if the cab power supply is not available using the following parameter::
119+
120+
TwoState (
121+
Type ( ORTS_CIRCUIT_BREAKER_CLOSED TWO_STATE )
122+
...
123+
DisabledIfCabPowerSupplyOff ( 1 )
124+
)
125+
126+
By default, the cabview control will be completely hidden. You can also set a specific value for the control when it is disabled::
109127

110128
TwoState (
111-
Type ( ORTS_CIRCUIT_BREAKER_CLOSED TWO_STATE)
129+
Type ( SPEEDOMETER DIAL )
112130
...
113131
DisabledIfCabPowerSupplyOff ( 1 )
132+
HideIfDisabled ( 0 )
133+
ValueIfDisabled ( 0 )
114134
)
115135

116136
.. _cabs-service-retention:

Source/Documentation/Manual/features-rollingstock.rst

Lines changed: 54 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,8 @@ Here below a sample of a ``.load-or`` file::
599599
"Shape" : "COMMON_Container_3d\\Cont_40ftHC\\container-40ftHC_Triton.s",
600600
"ContainerType" : "C40ftHC",
601601
"IntrinsicShapeOffset": [0,1.175,0],
602+
"EmptyMassKG": 2100.,
603+
"MaxMassWhenLoadedKG": 28000.,
602604
}
603605
}
604606

@@ -621,20 +623,30 @@ Here below a sample of a ``.load-or`` file::
621623
container with respect to the container shape file coordinates. Unfortunately often such
622624
offset is not [0,0,0], which would be advisable for newly produced containers. A simple way to
623625
state such offset is to use the ``Show Bounding Info`` of ``Shape Viewer``.
626+
- "EmptyMassKG" is an optional parameter that defines the tare (weight when empty) of the
627+
container. If the parameter is not present, OR uses a default parameter, specific for that
628+
ContainerType.
629+
- "MaxMassWhenLoadedKG" is an optional parameter that defines the sum of the tare plus the maximum
630+
allowed payload. As above, if the parameter is not present, OR uses a default parameter, specific for that
631+
ContainerType.
632+
624633

625634
Pre-setting a .wag file to accommodate containers
626635
-------------------------------------------------
627636

628637
As a minimum following block must be present in the .wag file for a double stacker::
629638

630639
ORTSFreightAnims (
640+
WagonEmptyWeight ( 12.575t )
631641
LoadingAreaLength ( 12.20 )
632642
AboveLoadingAreaLength ( 12.20 )
633643
DoubleStacker ()
634644
Offset( 0 0.34 0 )
635645
IntakePoint ( 0 6.0 Container)
636646
)
637647

648+
- WagonEmptyWeight is the weight of the wagon, when it has neither containers nor other
649+
weighing freight animations on board
638650
- LoadingAreaLength is the length in meters of the loading area available for containers
639651
- AboveLoadingAreaLength is the length in meters of the above loading area available
640652
for containers (parameter not needed if not double stacker)
@@ -694,9 +706,9 @@ shown here::
694706

695707
Wagon (
696708
WagonData ( DTTX_620040_A ATW.DTTX_620040 )
697-
LoadData ( 20cmacgm common.containerdata CenterFront)
698-
LoadData ( 20hamburgsud common.containerdata CenterRear)
699-
LoadData ( 40msc common.containerdata Above)
709+
LoadData ( 20cmacgm common.containerdata CenterFront Empty)
710+
LoadData ( 20hamburgsud common.containerdata CenterRear Loaded)
711+
LoadData ( 40msc common.containerdata Above Random)
700712
UiD ( 11 )
701713
)
702714

@@ -707,7 +719,17 @@ present. The meaning of the parameters is as follows:
707719
- The first parameter is the name of the ``.load-or`` file
708720
- The second parameter is the path (having ``Trainset`` as base path) where the ``.load-or``
709721
file resides
710-
- The third parameter indicates where the container is allocated on the wagon.
722+
- The third parameter indicates where the container is allocated on the wagon
723+
- The fourth parameter, which is optional, defines the load state of the related container,
724+
which is used to derive the weight of the container. If ``Empty`` is present, the weight
725+
of the empty container is used as actual weight; if ``Loaded`` is present, the maximum
726+
weight (tare + payload) of the container is used; if ``Random`` is present, the weight
727+
is computed as follows: a random number between 0 and 100 is generated. If the number is
728+
below 31, the container is considered empty; else the number is used as percentage of the
729+
maximum weight of the container (tare + payload). The weight of the containers are added to
730+
the empty weight of the wagon, to compute the total weight of the wagon. If the parameter
731+
is not present, the ``Random`` value is assumed.
732+
711733

712734
The entry for the container allocated ``Above`` must be the last one.
713735

@@ -733,18 +755,19 @@ A minimum ``FreightAnimations`` entry in a ``.wag`` file to have the same pre-lo
733755
set as in the previous paragraph is as follows::
734756

735757
ORTSFreightAnims (
736-
LoadingAreaLength ( 14.6 )
737-
AboveLoadingAreaLength ( 16.15 )
758+
WagonEmptyWeight ( 12.575t )
759+
LoadingAreaLength ( 14.6 )
760+
AboveLoadingAreaLength ( 16.15 )
738761
DoubleStacker ()
739762
Offset( 0 0.34 0 )
740763
IntakePoint ( 0 6.0 Container)
741-
LoadData ( 20cmacgm common.containerdata CenterFront)
742-
LoadData ( 20hamburgsud common.containerdata CenterRear)
743-
LoadData ( 40msc common.containerdata Above)
764+
LoadData ( 20cmacgm common.containerdata CenterFront Empty)
765+
LoadData ( 20hamburgsud common.containerdata CenterRear Loaded)
766+
LoadData ( 40msc common.containerdata Above Random)
744767
)
745768

746769
As can be seen, the syntax of the ``LoadData`` entries is the same as in the case of
747-
the ``.con`` file.
770+
the ``.con`` file. Also here the fourth parameter is optional.
748771

749772
Obviously, using ``.wag`` files for this type of info, a different ``.wag`` file must
750773
be created for every desired pre-loaded set of containers.
@@ -1048,9 +1071,9 @@ The ``.load-stations-loads-or`` file is a Json file. An example is shown here be
10481071
{
10491072
"LoadStationID" : { "wfile" : "w-005354+014849.w", "UiD" : 21, },
10501073
"LoadData" : [
1051-
{ "File" : "40HCcai", "Folder" : "common.containerdata", "StackLocation" : 0, },
1052-
{ "File" : "40HCcai", "Folder" : "common.containerdata", "StackLocation" : 0, },
1053-
{ "File" : "20cmacgm", "Folder" : "common.containerdata", "StackLocation" : 2, },
1074+
{ "File" : "40HCcai", "Folder" : "common.containerdata", "StackLocation" : 0, "LoadState" : "Empty"},
1075+
{ "File" : "40HCcai", "Folder" : "common.containerdata", "StackLocation" : 0, "LoadState" : "Loaded"},
1076+
{ "File" : "20cmacgm", "Folder" : "common.containerdata", "StackLocation" : 2, "LoadState" : "Random"},
10541077
{ "File" : "20kline", "Folder" : "common.containerdata", "StackLocation" : 2, },
10551078
{ "File" : "45HCtriton", "Folder" : "common.containerdata", "StackLocation" : 5, },
10561079
{ "File" : "45HCtriton", "Folder" : "common.containerdata", "StackLocation" : 5, },
@@ -1081,6 +1104,8 @@ The file can define the population at startup of many container stations.
10811104
index refers to a child stack location.
10821105
- If more than a container is defined for a stack location, they are stacked one above the
10831106
other.
1107+
- The ``LoadState`` parameter is optional, and has the same meaning and values as the
1108+
parameter of the same name which can be present in .con or .wag files.
10841109

10851110
The container station population file must be written taking into account the constraints
10861111
of the stack locations (container length must be smaller than stack location lenght,
@@ -1192,6 +1217,22 @@ shape movement, however for greater accuracy the modeler can add specific values
11921217
``ORTSLengthAirHose``. In addition the length values suggested in the Derailment Coefficient should
11931218
also be added.
11941219

1220+
Passenger doors
1221+
===============
1222+
1223+
.. index:: ORTSDoors
1224+
1225+
Passenger doors are opened and closed (by default) using the ``<Q>`` and ``<Shift+Q>`` keys.
1226+
It is possible to add opening and closing delays, which can be useful to delay the indication of
1227+
"Doors closed" until all doors are fully closed.
1228+
The delays can be added inserting the following block in the wagon section of any
1229+
ENG or WAG file::
1230+
1231+
ORTSDoors (
1232+
ClosingDelay ( 5s )
1233+
OpeningDelay ( 1s )
1234+
)
1235+
11951236

11961237
C# engine scripting
11971238
===================

Source/Documentation/Manual/physics.rst

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,17 @@ The ``ORTSSlipControlSystem ( Full )`` parameter can be inserted
339339
into the engine section of the .eng file to indicate the presence of
340340
such system.
341341

342+
Steam locomotives will have varying magnitude of rotational forces depending upon the separation
343+
between the cylinder crank angles.
344+
345+
The crank angles for example of a 2 cylinder locomotive has a 90 deg separation whereas a 3 cylinder locomotive
346+
has a 120 deg variation. OR will default to a "common" value for the number of cylinders defined, but the user
347+
can override this with "ORTSWheelCrankAngleDifference ( A B C D )", where A, B, C and D are the separations for
348+
up to a 4 cylinder locomotive. For example, a 4 cylinder locomotive can have a separation of 90 deg for each
349+
cylinder or sometimes it has two of the cranks separated by 45 deg instead. These values can either be in
350+
Rad (default) or Deg. The separations should be described around the full 360 deg of rotation, so for example,
351+
a 3 cylinder locomotive would be - ORTSWheelCrankAngleDifference ( 0deg, 120deg, 240deg ).
352+
342353

343354
Engine -- Classes of Motive Power
344355
=================================
@@ -2022,13 +2033,22 @@ of a relevant wagon (including diesel, steam or electric locomotives.
20222033

20232034
OR supports the following special visual effects in a steam locomotive:
20242035

2025-
- Steam cylinders (named ``CylindersFX`` and ``Cylinders2FX``) -- two effects
2026-
are provided which will represent the steam exhausted when the steam
2027-
cylinder cocks are opened. Two effects are provided to represent the steam
2028-
exhausted at the front and rear of each piston stroke. These effects will
2029-
appear whenever the cylinder cocks are opened, and there is sufficient
2030-
steam pressure at the cylinder to cause the steam to exhaust, typically the
2031-
regulator is open (> 0%).
2036+
- Steam cylinder cocks (named ``Cylinders11FX``, ``Cylinders12FX``, ``Cylinders21FX``,
2037+
``Cylinders22FX``, ``Cylinders31FX``, ``Cylinders32FX``, ``Cylinders41FX``,
2038+
``Cylinders42FX``) -- these effects are provided which will represent the steam
2039+
exhausted when the steam cylinder cocks are opened. The effects are provided to
2040+
represent the steam exhausted at the front and rear of each piston stroke. The
2041+
numbers in the value names represent firstly the cylinder and the second the
2042+
cylinder position, ie "11" = cylinder 1, front stroke, "12" = cylinder 1, backward
2043+
stroke. These effects will appear whenever the cylinder cocks are opened, and
2044+
there is sufficient steam pressure at the cylinder to cause the steam to exhaust,
2045+
typically when the regulator is open (> 0%). Note: ``CylindersFX`` and ``Cylinders2FX``
2046+
should now be considered legacy parameters and ideally should not be used.
2047+
- Cylinder Exhaust (named ``CylinderSteamExhaust1FX``, ``CylinderSteamExhaust2FX``,
2048+
``CylinderSteamExhaust3FX``, ``CylinderSteamExhaust4FX``) -- these effects represent
2049+
the steam exhausted from the cylinders at the end of each stroke. Typically this
2050+
steam is feed back through a blast pipe up the smoke stack to improve draught in the
2051+
firebox and bolier. The above parameters represent up to 4 individual steam cylinders.
20322052
- Stack (named ``StackFX``) -- represents the smoke stack emissions. This
20332053
effect will appear all the time in different forms depending upon the firing
20342054
and steaming conditions of the locomotive.
@@ -2085,7 +2105,7 @@ Similarly if any of the co-ordinates are zero, then the effect will not be displ
20852105
Each effect is defined by inserting a code block into the ENG/WAG file similar to
20862106
the one shown below::
20872107

2088-
CylindersFX (
2108+
Cylinders11FX (
20892109
-1.0485 1.0 2.8
20902110
-1 0 0
20912111
0.1
@@ -2698,7 +2718,9 @@ Typically this happens with lightly loaded vehicles at lower speeds, and hence t
26982718

26992719
When a vehicle experiences wheel skid, an indication is provided in the FORCES INFORMATION HUD. To correct the problem the brakes must be released, and then applied slowly to ensure that the wheels are not *locked* up. Wheel skid will only occur if ADVANCED adhesion is selected in the options menu.
27002720

2701-
(Ref to *Wheel Skidding due to Excessive Brake Force* for additional information)
2721+
On some steam locomotives brakes are not applied to all the wheels, possibly only the drive wheels have braking, and the other wheels do not. The following parameter can be set to reflect this for the calculation of skidding.
2722+
2723+
``ORTSLocomotiveDriveWheelOnlyBraking ( x )`` - where x = 1 if brakes are only fitted to the drive wheels, set to 0 or leave blank if all wheels are braked.
27022724

27032725
Using the F5 HUD Expanded Braking Information
27042726
---------------------------------------------

0 commit comments

Comments
 (0)