Merge branch 'master' into develop

This commit is contained in:
Kamron Batman 2019-11-11 00:53:11 -08:00
commit 7aa8fd3df1
No known key found for this signature in database
GPG key ID: 5C9DFD15804B6BB8
5 changed files with 22 additions and 41 deletions

View file

@ -4,6 +4,7 @@
<RootNamespace>Server</RootNamespace> <RootNamespace>Server</RootNamespace>
<TargetFramework>netcoreapp3.0</TargetFramework> <TargetFramework>netcoreapp3.0</TargetFramework>
<AssemblyName>Scripts.CS</AssemblyName> <AssemblyName>Scripts.CS</AssemblyName>
<UseNETCoreGenerator>true</UseNETCoreGenerator>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
@ -11,12 +12,16 @@
<WarningsAsErrors /> <WarningsAsErrors />
<TreatWarningsAsErrors>true</TreatWarningsAsErrors> <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>x64</PlatformTarget>
<OutDir>..\..\Distribution\Assemblies</OutDir>
<OutputPath>..\..\Distribution\Assemblies</OutputPath>
<PublishDir>..\..\Distribution\Assemblies</PublishDir> <PublishDir>..\..\Distribution\Assemblies</PublishDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>TRACE;DEBUG</DefineConstants> <DefineConstants>TRACE;DEBUG</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutDir>..\..\Distribution\Assemblies</OutDir>
<OutputPath>..\..\Distribution\Assemblies</OutputPath>
<PublishDir>..\..\Distribution\Assemblies</PublishDir> <PublishDir>..\..\Distribution\Assemblies</PublishDir>
<WarningsAsErrors /> <WarningsAsErrors />
<TreatWarningsAsErrors>true</TreatWarningsAsErrors> <TreatWarningsAsErrors>true</TreatWarningsAsErrors>

View file

@ -25,45 +25,20 @@ namespace Server
{ {
public static class Insensitive public static class Insensitive
{ {
public static IComparer<string> Comparer{ get; } = StringComparer.OrdinalIgnoreCase; public static IComparer<string> Comparer { get; } = StringComparer.OrdinalIgnoreCase;
public static int Compare(string a, string b) => Comparer.Compare(a, b); public static int Compare(string a, string b) => Comparer.Compare(a, b);
public static bool Equals(string a, string b) public static bool Equals(string a, string b) =>
{ a == null && b == null || a != null && b != null && a.Length == b.Length && Comparer.Compare(a, b) == 0;
if (a == null && b == null)
return true;
if (a == null || b == null || a.Length != b.Length)
return false;
return Comparer.Compare(a, b) == 0; public static bool StartsWith(string a, string b) =>
} a != null && b != null && a.Length >= b.Length && Comparer.Compare(a.Substring(0, b.Length), b) == 0;
public static bool StartsWith(string a, string b) public static bool EndsWith(string a, string b) =>
{ a != null && b != null && a.Length >= b.Length && Comparer.Compare(a.Substring(a.Length - b.Length), b) == 0;
if (a == null || b == null || a.Length < b.Length)
return false;
return Comparer.Compare(a.Substring(0, b.Length), b) == 0; public static bool Contains(string a, string b) =>
} a != null && b != null && a.Length >= b.Length && a.IndexOf(b, StringComparison.OrdinalIgnoreCase) >= 0;
public static bool EndsWith(string a, string b)
{
if (a == null || b == null || a.Length < b.Length)
return false;
return Comparer.Compare(a.Substring(a.Length - b.Length), b) == 0;
}
public static bool Contains(string a, string b)
{
if (a == null || b == null || a.Length < b.Length)
return false;
a = a.ToLower();
b = b.ToLower();
return a.IndexOf(b) >= 0;
}
} }
} }

View file

@ -474,8 +474,8 @@ namespace Server
m_Signal.WaitOne(); m_Signal.WaitOne();
Task.WaitAll( Task.WaitAll(
Task.Run(() => Mobile.ProcessDeltaQueue()), Task.Run(Mobile.ProcessDeltaQueue),
Task.Run(() => Item.ProcessDeltaQueue()) Task.Run(Item.ProcessDeltaQueue)
); );
Timer.Slice(); Timer.Slice();

View file

@ -48,8 +48,8 @@ namespace Server.Network
public void DoWork() public void DoWork()
{ {
int count = m_WorkQueue.Count; int count = 0;
while (count-- > 0) while (!m_WorkQueue.IsEmpty && count++ < 250)
{ {
if (!m_WorkQueue.TryDequeue(out Work work)) if (!m_WorkQueue.TryDequeue(out Work work))
break; break;

View file

@ -14,6 +14,7 @@
<Copyright>2019</Copyright> <Copyright>2019</Copyright>
<TargetFramework>netcoreapp3.0</TargetFramework> <TargetFramework>netcoreapp3.0</TargetFramework>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<UseNETCoreGenerator>true</UseNETCoreGenerator>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>TRACE;DEBUG</DefineConstants> <DefineConstants>TRACE;DEBUG</DefineConstants>
@ -38,15 +39,15 @@
<LangVersion>8.0</LangVersion> <LangVersion>8.0</LangVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Content Include="Assemblies\zlib.dll" Condition="'$(RuntimeIdentifier)'=='win-x64'"> <Content Include="Assemblies\zlib.dll" Condition="'$(RuntimeIdentifier)'=='win-x64' OR !Exists('$(RuntimeIdentifier)')">
<Link>zlib.dll</Link> <Link>zlib.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Assemblies\rdrand.dll" Condition="'$(RuntimeIdentifier)'=='win-x64'"> <Content Include="Assemblies\rdrand.dll" Condition="'$(RuntimeIdentifier)'=='win-x64' OR !Exists('$(RuntimeIdentifier)')">
<Link>rdrand.dll</Link> <Link>rdrand.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Assemblies\rdrand.so" Condition="'$(RuntimeIdentifier)'=='osx-x64' OR '$(RuntimeIdentifier)'=='linux-x64'"> <Content Include="Assemblies\rdrand.so" Condition="'$(RuntimeIdentifier)'=='osx-x64' OR '$(RuntimeIdentifier)'=='linux-x64' OR !Exists('$(RuntimeIdentifier)')">
<Link>rdrand.so</Link> <Link>rdrand.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>