Vorspire
Knight
Ultima Online's registry keys have changed somewhat between versions and the standard RunUO DataPath does not support detection of most Ultima Online installations.
This extended DataPath will override the standard RunUO DataPath and provide better installation detection with updated search algorithms.
It works exactly the same as the standard DataPath, it utilizes the static Configure method hook and implements the CallPriorityAttribute to make sure that the extended DataPath is called before the standard version.
When the extended DataPath is called, it will attempt to detect your installations as usual and if it fails, will prompt to type the directory as expected.
I ended up writing this because, working with VNc and the latest SVN, I like to keep all distro files completely unchanged and that includes my DataPath - because of this, it prompted me for a directory on every launch, now I don't have to worry about it.
Drop the file anywhere you like, you don't need to modify or delete your standard DataPath.
The code supports .NET 2.0 and 4.0 which is toggled using the #Framework_4_0 preprocessor directive/tag.
[EDIT]
Updated code for Framework 2.0 when displaying detected paths.
This extended DataPath will override the standard RunUO DataPath and provide better installation detection with updated search algorithms.
It works exactly the same as the standard DataPath, it utilizes the static Configure method hook and implements the CallPriorityAttribute to make sure that the extended DataPath is called before the standard version.
When the extended DataPath is called, it will attempt to detect your installations as usual and if it fails, will prompt to type the directory as expected.
I ended up writing this because, working with VNc and the latest SVN, I like to keep all distro files completely unchanged and that includes my DataPath - because of this, it prompted me for a directory on every launch, now I don't have to worry about it.
Drop the file anywhere you like, you don't need to modify or delete your standard DataPath.
The code supports .NET 2.0 and 4.0 which is toggled using the #Framework_4_0 preprocessor directive/tag.
[EDIT]
Updated code for Framework 2.0 when displaying detected paths.