Skip to content

HKTSS/HKTrainSim

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HKTrainSim

HKTrainSim is a fork of OpenBVE, an open source train simulator.

The goal is to provide support for players who play HK-based OpenBVE contents (Particularly contents from HKRSDA) to ensure that any known issues/design limitations are addressed before they manifests into the player experience.

Goals

  • Provide support for players who play HK-based content
  • Provide bug fixes whenever issues are identified
  • Upstream bug fixes if deemed appropriate
  • Streamline experience for obtaining HK-based content
  • Potentially new features if desired by HK developers

Non-goals

  • Provide support for international content
  • Diverge from the upstream base
  • Fully merged into upstream
    • HKTrainSim aims to hold a different philosophy than OpenBVE
  • A project that developer should exclusively depend on
    • Contents should always gracefully fallback if a feature is not available in OpenBVE. Behavioral change is acceptable (though avoided if possible), however crashing/making the game unplayable is not.

Changes

  • Feature Revert: Account for TFOs in Animated Objects
    • Introduced in v1.10.0.1, this broke backward compatibility with existing objects which only intends to account for the player train.
    • In addition, it is not possible for developer to opt out of this behavior, which means developer have no control on whether a TFO or the player's train is selected, causing various issues such as PSDs poping in and out.
    • See Also:

Fixed Errata

These are described fully here.

Developer Documentation

Documentation for development of add-ons (update version of docs originally written by michelle) can be found here.

Packages

OpenBVE now supports the installation of 'package files' , which are intended as a replacement for the now defunct managed content. These are described fully here.

How to build

This build has been tested to compile correctly using Visual Studio 2017 onwards and MonoDevelop. These are described fully here.

Contributing

Please see the Contributors File for a list of contributors, and basic guidelines for contributing to the development of OpenBVE.

Links

Project Website:

Project Source Code on GitHub: https://github.com/HKTSS/HKTrainSim

License

The original founder of this project, Michelle intended for this program to be placed in the public domain. In practice over the last 10+ years I've been maintaining this, we've found that whilst public domain was a noble idea, having no recognised licence and attempting to disclaim copyright tends to produce many of it's own challenges.

As a result, all new code is licenced under BSD-2 or a similar permissive licence (as appropriate)- Please see the source headers.

It is our belief that BSD-2 on new code keeps most of original philosophical aims intact, whilst at the same time giving the benfits of a recognised licence. At some point, the project will probably have to re-licence entirely, but that is somewhere in the future.

In practical terms, what this means is that you can make any modifications to the source like and share your modifications with others. Please also see the following issue for further discussion on the topic: leezer3#305

Third-Party Libraries

  • OpenBVE uses CoreFX. This is licensed under the MIT License, which may be found in here.
  • OpenBVE uses CS Script for animation scripting. This is licensed under the MIT License, which may be found in here.
  • OpenBVE uses DotNetZip for loading compressed DirectX file. This is licensed under the Microsoft Public License, which may be found in here.
  • OpenBVE uses NAudio for decoding sound file. This is licensed under the Microsoft Public License, which may be found in here.
  • OpenBVE uses NAudio.Vorbis for decoding Vorbis file. This is licensed under the Microsoft Public License, which may be found in here.
  • OpenBVE uses NLayer for decoding MP3 file. This is licensed under the MIT License, which may be found in here.
  • OpenBVE uses NVorbis for decoding Vorbis file. This is licensed under the Microsoft Public License, which may be found in here.
  • OpenBVE uses OpenTK library for windowing and input handling. This is licensed under the Open Toolkit Library License, which may be found in here.
  • OpenBVE uses ReactiveProperty This is licensed under the MIT License, which may be found in here.
  • OpenBVE uses SharpCompress for archive handling. This is licensed under the MIT License, which may be found in here.
  • OpenBVE uses Reactive Extensions This is licensed under the Apache License, Version 2.0, which may be found in here.
  • OpenBVE uses Ude for character set detection. This is tri-licensed under the Mozilla Public License v1.1, GPL 2.0 and LGPL 2.0, which may be found in here.
  • OpenBVE uses XamlBehaviors for WPF This is licensed under the MIT License, which may be found in here.
  • OpenBVE uses TOLK for screen reader API access. This is licenced under the LGPL V3 which may be found in here
  • OpenBVE uses BVE_Parsing for parsing BVE5 map grammar. This is licenced under the MIT Licence which may be found in here

About

A fork of OpenBVE- A free train simulator

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Languages

  • C# 98.7%
  • HTML 0.4%
  • GLSL 0.2%
  • Inno Setup 0.2%
  • PowerShell 0.2%
  • C++ 0.1%
  • Other 0.2%