Fixes code according to modern code style. Fixes a few expression bugs.

This commit is contained in:
Kamron Batman 2018-09-15 09:58:51 -07:00
parent 89eea25e5f
commit 970fd563b2
3324 changed files with 441118 additions and 433755 deletions

View file

@ -4,103 +4,105 @@ using Microsoft.Win32;
namespace Server.Misc
{
public class DataPath
{
/* If you have not installed Ultima Online,
* or wish the server to use a separate set of datafiles,
* change the 'CustomPath' value.
* Example:
* private static string CustomPath = @"C:\Program Files\Ultima Online";
*/
private static string CustomPath = null;
public class DataPath
{
/* If you have not installed Ultima Online,
* or wish the server to use a separate set of datafiles,
* change the 'CustomPath' value.
* Example:
* private static string CustomPath = @"C:\Program Files\Ultima Online";
*/
private static string CustomPath = null;
/* The following is a list of files which a required for proper execution:
*
* Multi.idx
* Multi.mul
* VerData.mul
* TileData.mul
* Map*.mul or Map*LegacyMUL.uop
* StaIdx*.mul
* Statics*.mul
* MapDif*.mul
* MapDifL*.mul
* StaDif*.mul
* StaDifL*.mul
* StaDifI*.mul
*/
/* The following is a list of files which a required for proper execution:
*
* Multi.idx
* Multi.mul
* VerData.mul
* TileData.mul
* Map*.mul or Map*LegacyMUL.uop
* StaIdx*.mul
* Statics*.mul
* MapDif*.mul
* MapDifL*.mul
* StaDif*.mul
* StaDifL*.mul
* StaDifI*.mul
*/
public static void Configure()
{
string pathUO = GetPath( @"Origin Worlds Online\Ultima Online\1.0", "ExePath" );
string pathTD = GetPath( @"Origin Worlds Online\Ultima Online Third Dawn\1.0", "ExePath" ); //These refer to 2D & 3D, not the Third Dawn expansion
string pathKR = GetPath( @"Origin Worlds Online\Ultima Online\KR Legacy Beta", "ExePath" ); //After KR, This is the new registry key for the 2D client
string pathSA = GetPath( @"Electronic Arts\EA Games\Ultima Online Stygian Abyss Classic", "InstallDir" );
string pathHS = GetPath( @"Electronic Arts\EA Games\Ultima Online Classic", "InstallDir" );
public static void Configure()
{
string pathUO = GetPath(@"Origin Worlds Online\Ultima Online\1.0", "ExePath");
string pathTD = GetPath(@"Origin Worlds Online\Ultima Online Third Dawn\1.0",
"ExePath"); //These refer to 2D & 3D, not the Third Dawn expansion
string pathKR = GetPath(@"Origin Worlds Online\Ultima Online\KR Legacy Beta",
"ExePath"); //After KR, This is the new registry key for the 2D client
string pathSA = GetPath(@"Electronic Arts\EA Games\Ultima Online Stygian Abyss Classic", "InstallDir");
string pathHS = GetPath(@"Electronic Arts\EA Games\Ultima Online Classic", "InstallDir");
if ( CustomPath != null )
Core.DataDirectories.Add( CustomPath );
if (CustomPath != null)
Core.DataDirectories.Add(CustomPath);
if ( pathUO != null )
Core.DataDirectories.Add( pathUO );
if (pathUO != null)
Core.DataDirectories.Add(pathUO);
if ( pathTD != null )
Core.DataDirectories.Add( pathTD );
if (pathTD != null)
Core.DataDirectories.Add(pathTD);
if ( pathKR != null )
Core.DataDirectories.Add( pathKR );
if (pathKR != null)
Core.DataDirectories.Add(pathKR);
if ( pathSA != null )
Core.DataDirectories.Add( pathSA );
if (pathSA != null)
Core.DataDirectories.Add(pathSA);
if ( pathHS != null )
Core.DataDirectories.Add( pathHS );
if (pathHS != null)
Core.DataDirectories.Add(pathHS);
if ( Core.DataDirectories.Count == 0 && !Core.Service )
{
Console.WriteLine( "Enter the Ultima Online directory:" );
Console.Write( "> " );
if (Core.DataDirectories.Count == 0 && !Core.Service)
{
Console.WriteLine("Enter the Ultima Online directory:");
Console.Write("> ");
Core.DataDirectories.Add( Console.ReadLine() );
}
}
Core.DataDirectories.Add(Console.ReadLine());
}
}
private static string GetPath( string subName, string keyName )
{
try
{
string keyString;
private static string GetPath(string subName, string keyName)
{
try
{
string keyString;
if ( Core.Is64Bit )
keyString = @"SOFTWARE\Wow6432Node\{0}";
else
keyString = @"SOFTWARE\{0}";
if (Core.Is64Bit)
keyString = @"SOFTWARE\Wow6432Node\{0}";
else
keyString = @"SOFTWARE\{0}";
using( RegistryKey key = Registry.LocalMachine.OpenSubKey( string.Format( keyString, subName ) ) )
{
if ( key == null )
return null;
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(string.Format(keyString, subName)))
{
if (key == null)
return null;
string v = key.GetValue( keyName ) as string;
string v = key.GetValue(keyName) as string;
if ( string.IsNullOrEmpty( v ) )
return null;
if (string.IsNullOrEmpty(v))
return null;
if ( keyName == "InstallDir" )
v = v + @"\";
if (keyName == "InstallDir")
v = v + @"\";
v = Path.GetDirectoryName( v );
v = Path.GetDirectoryName(v);
if ( string.IsNullOrEmpty( v ) )
return null;
if (string.IsNullOrEmpty(v))
return null;
return v;
}
}
catch
{
return null;
}
}
}
}
return v;
}
}
catch
{
return null;
}
}
}
}