OpenBVE icon indicating copy to clipboard operation
OpenBVE copied to clipboard

Compatibility: Framework for replacing Win32 plugins with a suitable alternative

Open leezer3 opened this issue 8 years ago • 2 comments

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.

leezer3 avatar Jan 11 '17 16:01 leezer3

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

leezer3 avatar Feb 25 '17 14:02 leezer3

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??

leezer3 avatar May 01 '21 14:05 leezer3