Skip to content

Commit ce2dcf3

Browse files
committed
Merge branch 'master' into release
2 parents 235982f + 5228def commit ce2dcf3

File tree

47 files changed

+1194
-1383
lines changed

Some content is hidden

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

47 files changed

+1194
-1383
lines changed

OpenBVE.sln

+237-1
Large diffs are not rendered by default.

WindowsInstaller.ps1

-4
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
4040
Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
4141
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
4242
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
43-
Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl"
4443
Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
4544
Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
4645
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
@@ -49,9 +48,6 @@ Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
4948
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
5049
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
5150
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
52-
Name: "scottishgaelic"; MessagesFile: "compiler:Languages\ScottishGaelic.isl"
53-
Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
54-
Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl"
5551
Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
5652
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
5753
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"

source/AssimpParser/AssimpParser.csproj

+9
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@
3636
<Prefer32Bit>false</Prefer32Bit>
3737
<LangVersion>7.0</LangVersion>
3838
</PropertyGroup>
39+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|AnyCPU'">
40+
<DebugSymbols>true</DebugSymbols>
41+
<OutputPath>..\..\bin_debug\</OutputPath>
42+
<DefineConstants>DEBUG;TRACE</DefineConstants>
43+
<DebugType>full</DebugType>
44+
<PlatformTarget>AnyCPU</PlatformTarget>
45+
<LangVersion>7.0</LangVersion>
46+
<ErrorReport>prompt</ErrorReport>
47+
</PropertyGroup>
3948
<ItemGroup>
4049
<Reference Include="DotNetZip, Version=1.17.0.0, Culture=neutral, PublicKeyToken=6583c7c814667745, processorArchitecture=MSIL">
4150
<HintPath>..\..\packages\DotNetZip.OpenBVE.1.17.0\lib\net40\DotNetZip.dll</HintPath>

source/CarXMLConvertor/CarXMLConvertor.csproj

+9
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@
3636
<Prefer32Bit>false</Prefer32Bit>
3737
<LangVersion>7.0</LangVersion>
3838
</PropertyGroup>
39+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|AnyCPU'">
40+
<DebugSymbols>true</DebugSymbols>
41+
<OutputPath>..\..\bin_debug\</OutputPath>
42+
<DefineConstants>DEBUG;TRACE</DefineConstants>
43+
<DebugType>full</DebugType>
44+
<PlatformTarget>x86</PlatformTarget>
45+
<LangVersion>7.0</LangVersion>
46+
<ErrorReport>prompt</ErrorReport>
47+
</PropertyGroup>
3948
<ItemGroup>
4049
<ProjectReference Include="..\OpenBveApi\OpenBveApi.csproj">
4150
<Project>{27134980-4415-4375-A564-40A9014DFA5F}</Project>

source/DevTools/LBAHeader/LBAHeader.csproj

+9
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@
3636
<Prefer32Bit>false</Prefer32Bit>
3737
<LangVersion>6</LangVersion>
3838
</PropertyGroup>
39+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|AnyCPU'">
40+
<DebugSymbols>true</DebugSymbols>
41+
<OutputPath>..\..\bin_debug\</OutputPath>
42+
<DefineConstants>DEBUG;TRACE</DefineConstants>
43+
<DebugType>full</DebugType>
44+
<PlatformTarget>AnyCPU</PlatformTarget>
45+
<LangVersion>6</LangVersion>
46+
<ErrorReport>prompt</ErrorReport>
47+
</PropertyGroup>
3948
<ItemGroup>
4049
<Reference Include="Mono.Cecil, Version=0.11.3.0, Culture=neutral, PublicKeyToken=50cebf1cceb9d05e, processorArchitecture=MSIL">
4150
<HintPath>..\..\..\packages\Mono.Cecil.0.11.3\lib\net40\Mono.Cecil.dll</HintPath>

source/InputDevicePlugins/DefaultDisplayPlugin/DefaultDisplayPlugin.csproj

+9
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@
3636
<Prefer32Bit>false</Prefer32Bit>
3737
<LangVersion>6</LangVersion>
3838
</PropertyGroup>
39+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|AnyCPU'">
40+
<DebugSymbols>true</DebugSymbols>
41+
<OutputPath>..\..\bin_debug\</OutputPath>
42+
<DefineConstants>DEBUG;TRACE</DefineConstants>
43+
<DebugType>full</DebugType>
44+
<PlatformTarget>AnyCPU</PlatformTarget>
45+
<LangVersion>6</LangVersion>
46+
<ErrorReport>prompt</ErrorReport>
47+
</PropertyGroup>
3948
<ItemGroup>
4049
<Reference Include="System" />
4150
<Reference Include="System.Core" />

source/InputDevicePlugins/DenshaDeGoInput/DenshaDeGoInput.csproj

+9
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@
3636
<Prefer32Bit>false</Prefer32Bit>
3737
<LangVersion>7</LangVersion>
3838
</PropertyGroup>
39+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|AnyCPU'">
40+
<DebugSymbols>true</DebugSymbols>
41+
<OutputPath>..\..\bin_debug\</OutputPath>
42+
<DefineConstants>DEBUG;TRACE</DefineConstants>
43+
<DebugType>full</DebugType>
44+
<PlatformTarget>AnyCPU</PlatformTarget>
45+
<LangVersion>7</LangVersion>
46+
<ErrorReport>prompt</ErrorReport>
47+
</PropertyGroup>
3948
<ItemGroup>
4049
<Reference Include="OpenTK, Version=3.3.2.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
4150
<HintPath>..\..\..\packages\OpenTK-OpenBVE.1.0.4\lib\net20\OpenTK.dll</HintPath>

source/InputDevicePlugins/SanYingInput/SanYingInput.csproj

+9
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@
3636
<Prefer32Bit>false</Prefer32Bit>
3737
<LangVersion>6</LangVersion>
3838
</PropertyGroup>
39+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|AnyCPU'">
40+
<DebugSymbols>true</DebugSymbols>
41+
<OutputPath>..\..\bin_debug\</OutputPath>
42+
<DefineConstants>DEBUG;TRACE</DefineConstants>
43+
<DebugType>full</DebugType>
44+
<PlatformTarget>AnyCPU</PlatformTarget>
45+
<LangVersion>6</LangVersion>
46+
<ErrorReport>prompt</ErrorReport>
47+
</PropertyGroup>
3948
<ItemGroup>
4049
<Reference Include="OpenTK, Version=3.3.2.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
4150
<HintPath>..\..\..\packages\OpenTK-OpenBVE.1.0.4\lib\net20\OpenTK.dll</HintPath>

source/LibRender2/LibRender2.csproj

+10
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,16 @@
3636
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
3737
<PlatformTarget>AnyCPU</PlatformTarget>
3838
</PropertyGroup>
39+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|AnyCPU'">
40+
<DebugSymbols>true</DebugSymbols>
41+
<OutputPath>..\..\bin_debug\</OutputPath>
42+
<DefineConstants>DEBUG;TRACE</DefineConstants>
43+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
44+
<DebugType>full</DebugType>
45+
<PlatformTarget>AnyCPU</PlatformTarget>
46+
<LangVersion>7</LangVersion>
47+
<ErrorReport>prompt</ErrorReport>
48+
</PropertyGroup>
3949
<ItemGroup>
4050
<Reference Include="OpenTK, Version=3.3.2.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
4151
<HintPath>..\..\packages\OpenTK-OpenBVE.1.0.4\lib\net20\OpenTK.dll</HintPath>

source/ObjectBender/ObjectBender.csproj

+10
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@
5050
<Prefer32Bit>false</Prefer32Bit>
5151
<LangVersion>6</LangVersion>
5252
</PropertyGroup>
53+
<PropertyGroup Condition="'$(Configuration)' == 'GLMenu'">
54+
<DebugSymbols>true</DebugSymbols>
55+
<OutputPath>..\..\bin_debug\</OutputPath>
56+
<DefineConstants>DEBUG;TRACE</DefineConstants>
57+
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
58+
<FileAlignment>4096</FileAlignment>
59+
<DebugType>Full</DebugType>
60+
<PlatformTarget>x86</PlatformTarget>
61+
<LangVersion>6</LangVersion>
62+
</PropertyGroup>
5363
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
5464
<ItemGroup>
5565
<Reference Include="System" />

source/ObjectViewer/ObjectViewer.csproj

+12
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,18 @@
6363
.dll.config
6464
</AllowedReferenceRelatedFileExtensions>
6565
</PropertyGroup>
66+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|AnyCPU'">
67+
<DebugSymbols>true</DebugSymbols>
68+
<OutputPath>..\..\bin_debug\</OutputPath>
69+
<DefineConstants>TRACE;DEBUG</DefineConstants>
70+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
71+
<FileAlignment>4096</FileAlignment>
72+
<NoWarn>,IDE1006</NoWarn>
73+
<DebugType>full</DebugType>
74+
<PlatformTarget>AnyCPU</PlatformTarget>
75+
<LangVersion>7.0</LangVersion>
76+
<ErrorReport>prompt</ErrorReport>
77+
</PropertyGroup>
6678
<ItemGroup>
6779
<Reference Include="OpenTK, Version=3.3.2.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
6880
<HintPath>..\..\packages\OpenTK-OpenBVE.1.0.4\lib\net20\OpenTK.dll</HintPath>

source/OpenBVE/Game/Menu/Menu.SingleMenu.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ public SingleMenu(AbstractMenu menu, MenuType menuType, int data = 0, double Max
524524
Items[1] = new MenuCommand(menu, "Object Viewer", MenuTag.ObjectViewer, 0);
525525
Items[2] = new MenuCommand(menu, "Route Viewer", MenuTag.RouteViewer, 0);
526526
Items[3] = new MenuCommand(menu, Translations.GetInterfaceString(HostApplication.OpenBve, new[] { "packages", "title" }), MenuTag.Packages, 0);
527-
Items[4] = new MenuCommand(menu, Translations.GetInterfaceString(HostApplication.OpenBve, new[] { "menu", "view_log" }), MenuTag.ViewLog, 0);
527+
Items[4] = new MenuCommand(menu, Translations.GetInterfaceString(HostApplication.OpenBve, new[] { "start", "view_log" }), MenuTag.ViewLog, 0);
528528
Items[5] = new MenuCommand(menu, Translations.GetInterfaceString(HostApplication.OpenBve, new[] { "menu", "back" }), MenuTag.MenuBack, 0);
529529
Selection = 1;
530530
Align = TextAlignment.TopLeft;
@@ -581,7 +581,7 @@ public SingleMenu(AbstractMenu menu, MenuType menuType, int data = 0, double Max
581581
break;
582582
case MenuType.Error:
583583
Items = new MenuEntry[2];
584-
Items[0] = new MenuCaption(menu, Translations.GetInterfaceString(HostApplication.OpenBve, new[] { "menu", "log_error" }));
584+
Items[0] = new MenuCaption(menu, Translations.GetInterfaceString(HostApplication.OpenBve, new[] { "start", "log_error" }));
585585
Items[1] = new MenuCommand(menu, Translations.GetInterfaceString(HostApplication.OpenBve, new[] { "menu", "back" }), MenuTag.MenuBack, 0);
586586
Selection = 1;
587587
break;

source/OpenBVE/OpenBve.csproj

+12
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,18 @@
9393
<PropertyGroup>
9494
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
9595
</PropertyGroup>
96+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|AnyCPU'">
97+
<DebugSymbols>true</DebugSymbols>
98+
<OutputPath>..\..\bin_debug\</OutputPath>
99+
<DefineConstants>TRACE;DEBUG</DefineConstants>
100+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
101+
<FileAlignment>4096</FileAlignment>
102+
<NoWarn>,IDE1006</NoWarn>
103+
<DebugType>Full</DebugType>
104+
<PlatformTarget>AnyCPU</PlatformTarget>
105+
<LangVersion>7.3</LangVersion>
106+
<ErrorReport>prompt</ErrorReport>
107+
</PropertyGroup>
96108
<ItemGroup>
97109
<Reference Include="OpenTK, Version=3.3.2.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
98110
<HintPath>..\..\packages\OpenTK-OpenBVE.1.0.4\lib\net20\OpenTK.dll</HintPath>

source/OpenBVE/System/Host.cs

+13-11
Original file line numberDiff line numberDiff line change
@@ -710,22 +710,24 @@ public override AbstractTrain ClosestTrain(AbstractTrain Train)
710710
return closestTrain;
711711
}
712712

713-
public override AbstractTrain ClosestTrain(double TrackPosition)
713+
public override AbstractTrain ClosestTrain(double trackPosition)
714714
{
715+
// NOTE: It appears to be possible to produce zero-length trains via poorly written XML
716+
// Add appropriate guards against this here
715717
AbstractTrain closestTrain = null;
716718
double trainDistance = double.MaxValue;
717719
for (int j = 0; j < Program.TrainManager.Trains.Count; j++)
718720
{
719-
if (Program.TrainManager.Trains[j].State == TrainState.Available)
721+
if (Program.TrainManager.Trains[j].State == TrainState.Available && Program.TrainManager.Trains[j].Cars.Length > 0)
720722
{
721723
double distance;
722-
if (Program.TrainManager.Trains[j].Cars[0].FrontAxle.Follower.TrackPosition < TrackPosition)
724+
if (Program.TrainManager.Trains[j].Cars[0].FrontAxle.Follower.TrackPosition < trackPosition)
723725
{
724-
distance = TrackPosition - Program.TrainManager.Trains[j].Cars[0].TrackPosition;
726+
distance = trackPosition - Program.TrainManager.Trains[j].Cars[0].TrackPosition;
725727
}
726-
else if (Program.TrainManager.Trains[j].Cars[Program.TrainManager.Trains[j].Cars.Length - 1].RearAxle.Follower.TrackPosition > TrackPosition)
728+
else if (Program.TrainManager.Trains[j].Cars[Program.TrainManager.Trains[j].Cars.Length - 1].RearAxle.Follower.TrackPosition > trackPosition)
727729
{
728-
distance = Program.TrainManager.Trains[j].Cars[Program.TrainManager.Trains[j].Cars.Length - 1].RearAxle.Follower.TrackPosition - TrackPosition;
730+
distance = Program.TrainManager.Trains[j].Cars[Program.TrainManager.Trains[j].Cars.Length - 1].RearAxle.Follower.TrackPosition - trackPosition;
729731
}
730732
else
731733
{
@@ -742,16 +744,16 @@ public override AbstractTrain ClosestTrain(double TrackPosition)
742744
for (int j = 0; j < Program.TrainManager.TFOs.Length; j++)
743745
{
744746
ScriptedTrain scriptedTrain = Program.TrainManager.TFOs[j] as ScriptedTrain;
745-
if (scriptedTrain.State == TrainState.Available)
747+
if (scriptedTrain.State == TrainState.Available && scriptedTrain.Cars.Length > 0)
746748
{
747749
double distance;
748-
if (scriptedTrain.Cars[0].FrontAxle.Follower.TrackPosition < TrackPosition)
750+
if (scriptedTrain.Cars[0].FrontAxle.Follower.TrackPosition < trackPosition)
749751
{
750-
distance = TrackPosition - scriptedTrain.Cars[0].TrackPosition;
752+
distance = trackPosition - scriptedTrain.Cars[0].TrackPosition;
751753
}
752-
else if (scriptedTrain.Cars[scriptedTrain.Cars.Length - 1].RearAxle.Follower.TrackPosition > TrackPosition)
754+
else if (scriptedTrain.Cars[scriptedTrain.Cars.Length - 1].RearAxle.Follower.TrackPosition > trackPosition)
753755
{
754-
distance = scriptedTrain.Cars[scriptedTrain.Cars.Length - 1].RearAxle.Follower.TrackPosition - TrackPosition;
756+
distance = scriptedTrain.Cars[scriptedTrain.Cars.Length - 1].RearAxle.Follower.TrackPosition - trackPosition;
755757
}
756758
else
757759
{

source/OpenBveApi/OpenBveApi.csproj

+11
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,17 @@
5454
<PlatformTarget>AnyCPU</PlatformTarget>
5555
<LangVersion>7</LangVersion>
5656
</PropertyGroup>
57+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|x86'">
58+
<DebugSymbols>true</DebugSymbols>
59+
<OutputPath>bin\x86\GLMenu\</OutputPath>
60+
<DefineConstants>DEBUG;TRACE</DefineConstants>
61+
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
62+
<DocumentationFile>..\..\bin_debug\OpenBveApi.xml</DocumentationFile>
63+
<FileAlignment>4096</FileAlignment>
64+
<DebugType>Full</DebugType>
65+
<PlatformTarget>AnyCPU</PlatformTarget>
66+
<LangVersion>7</LangVersion>
67+
</PropertyGroup>
5768
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
5869
<ItemGroup>
5970
<Reference Include="CSScriptLibrary, Version=3.30.3.0, Culture=neutral, PublicKeyToken=70fcc3d18c749033, processorArchitecture=MSIL">

source/Plugins/Formats.Msts/Formats.Msts.csproj

+11
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,17 @@
4949
<Prefer32Bit>false</Prefer32Bit>
5050
<LangVersion>6</LangVersion>
5151
</PropertyGroup>
52+
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'GLMenu|x86'">
53+
<DebugSymbols>true</DebugSymbols>
54+
<OutputPath>bin\x86\GLMenu\</OutputPath>
55+
<DefineConstants>DEBUG;TRACE</DefineConstants>
56+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
57+
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
58+
<FileAlignment>4096</FileAlignment>
59+
<DebugType>Full</DebugType>
60+
<PlatformTarget>AnyCPU</PlatformTarget>
61+
<LangVersion>6</LangVersion>
62+
</PropertyGroup>
5263
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
5364
<ItemGroup>
5465
<Reference Include="System" />

source/Plugins/Formats.OpenBve/Block.cs

+40-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//Simplified BSD License (BSD-2-Clause)
1+
//Simplified BSD License (BSD-2-Clause)
22
//
33
//Copyright (c) 2020, Christopher Lees, The OpenBVE Project
44
//
@@ -28,6 +28,7 @@
2828
using OpenBveApi.FunctionScripting;
2929
using OpenBveApi.Hosts;
3030
using OpenBveApi.Math;
31+
using OpenBveApi.Objects;
3132

3233
namespace Formats.OpenBve
3334
{
@@ -136,8 +137,14 @@ public virtual bool GetVector3(T2 key, char separator, out Vector3 value)
136137
return false;
137138
}
138139

139-
/// <summary>Unconditionally reads the specified Color24 from the block</summary>
140-
public virtual bool GetColor24(T2 key, out Color24 value)
140+
/// <summary>Reads the specified Vector3 from the block, preserving the prior value if not present</summary>
141+
public virtual bool TryGetVector3(T2 key, char separator, ref Vector3 value)
142+
{
143+
return false;
144+
}
145+
146+
/// <summary>Unconditionally reads the specified Color24 from the block</summary>
147+
public virtual bool GetColor24(T2 key, out Color24 value)
141148
{
142149
value = Color24.White;
143150
return false;
@@ -156,15 +163,29 @@ public virtual bool TryGetStringArray(T2 key, char separator, ref string[] value
156163
return false;
157164
}
158165

166+
/// <summary>Reads the specified path array from the block</summary>
167+
public virtual bool GetPathArray(T2 key, char separator, string absolutePath, ref string[] values)
168+
{
169+
values = new string[0];
170+
return false;
171+
}
172+
173+
/// <summary>Reads the specified FunctionScript from the block, preserving the prior value if not present</summary>
174+
public virtual bool GetFunctionScript(T2 key, out AnimationScript function)
175+
{
176+
function = null;
177+
return false;
178+
}
179+
159180
/// <summary>Reads the specified FunctionScript from the block, preserving the prior value if not present</summary>
160-
public virtual bool GetFunctionScript(T2 key, out FunctionScript function)
181+
public virtual bool GetFunctionScript(T2[] keys, string absolutePath, out AnimationScript function)
161182
{
162183
function = null;
163184
return false;
164185
}
165186

166-
/// <summary>Reads the specified Enum value from the block</summary>
167-
public virtual bool GetEnumValue<T3>(T2 key, out T3 enumValue) where T3 : struct, Enum
187+
/// <summary>Reads the specified Enum value from the block</summary>
188+
public virtual bool GetEnumValue<T3>(T2 key, out T3 enumValue) where T3 : struct, Enum
168189
{
169190
enumValue = default;
170191
return false;
@@ -193,12 +214,23 @@ public virtual bool GetNextRawValue(out string s)
193214
return false;
194215
}
195216

217+
public virtual bool GetNextPath(string absolutePath, out string finalPath)
218+
{
219+
finalPath = string.Empty;
220+
return false;
221+
}
222+
223+
public virtual bool GetDamping(T2 key, char separator, out Damping damping)
224+
{
225+
damping = null;
226+
return false;
227+
}
196228

197-
protected Block(int myIndex, T1 myKey, HostInterface host)
229+
protected Block(int myIndex, T1 myKey, HostInterface currentHost)
198230
{
199231
Index = myIndex;
200232
Key = myKey;
201-
currentHost = host;
233+
this.currentHost = currentHost;
202234
}
203235
}
204236
}

0 commit comments

Comments
 (0)