OpenBVE
OpenBVE copied to clipboard
Compatibility: Framework for replacing Win32 plugins with a suitable alternative
This pull introduces a database of compatible replacement plugins for use on non Win32 systems.
Currently, one plugin is supported: BVEC_ATS, which provides support for several basic variants of OS_ATS.
Usage:
-
A Win32 plugin may be assigned a compatible replacement via Data\PluginDatabase\CompatibleReplacements.xml The file length, filename and MD5 must match that stored in the database.
-
A faulty plugin may also be blacklisted on all operating systems, using the file Data\PluginDatabase\BlackList.xml
Other changes:
-
Fixes a bug whereby if no plugin was loaded, the controls would be stuck.
-
If a .Net plugin crashes in-game, the plugin will be cleanly unloaded and a crash log created.
Have tidied the PR up (again.....) Current TODO:
- The default database path for these should probably be under UserData somewhere, as if installed under Program Files, we won't have write access here by default.
- Fix BVEC_ATS so that it doesn't barf when there is no write access to the train directory (See above)
A sample package, which implements BVEC_ATS for OS_ATS version 1.0, 1.1, 1.2 and 1.3, and UKTrainsys for the 153 & 158 (original TSC versions) Replacement Plugins 1.0.zip
https://bveworldwide.forumotion.com/t2093-bvec_ats-dll-failed-to-load#20619
Need to revisit this with 64-bit / Linux. Database package in hindsight was probably OTT, can just update with new builds. Easiest way to do things could well be to have a modified version of BVEC_ATS which will read an OS_ATS config file directly, as opposed to a regen of the config file.
Possibly hook in more ATS components to the main game / inbuilts too. Would it be worth doing a basic port of the AWS to OpenBveAts??