You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Docs/Architecture.md
+40-1Lines changed: 40 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,29 @@
1
1
# Open Rails Architecture
2
2
3
-
This document will describe the overall structure of Open Rails and how we expect different areas of the program to work together.
3
+
This document describes the overall structure of Open Rails and how we expect different areas of the program to work together.
4
+
5
+
## Player application model
6
+
7
+
The player application model describes the desired components and their relationships which make up Open Rails. Each of these will be formed from one or more libraries, as needed, and each library may contain distinct but critically linked subfunctions.
8
+
9
+
```mermaid
10
+
flowchart TB
11
+
Formats["Orts.Formats"]
12
+
Game["Orts.Game"]
13
+
Input["Orts.Input"]
14
+
Multiplayer["Orts.Multiplayer"]
15
+
Parsers["Orts.Parsers"]
16
+
Player["Player"]
17
+
Simulation["Orts.Simulation"]
18
+
Sound["Orts.Sound"]
19
+
UI["Orts.UI"]
20
+
Viewer["Orts.Viewer"]
21
+
Web["Orts.Web"]
22
+
Player --- Game --- UI --- Viewer --- Simulation & Formats
23
+
Player --- Input --- UI & Simulation
24
+
Sound --- Simulation --- Formats & Multiplayer & Web
25
+
Formats --- Parsers
26
+
```
4
27
5
28
## Threading model
6
29
@@ -29,6 +52,22 @@ The threading in Open Rails has two key threads working together (Render and Upd
29
52
- Web Server process
30
53
- Handle all web and API requests
31
54
55
+
## Projects, assemblies, namespaces
56
+
57
+
Open Rails is made up of several component projects which are organised into subdirectories with the following naming pattern:
This tree is a summary of the important object relationships (aggregation) inside the simulation. Each entry is a class whose instances can be accessed from the parent item.
Copy file name to clipboardExpand all lines: Docs/Readme.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Open Rails is a free train simulator supporting the world's largest range of dig
10
10
## Documentation
11
11
12
12
*[Read the FAQ](http://www.openrails.org/learn/faq/?utm_campaign=documentation&utm_source=readme&utm_medium=referral)
13
-
*[Read the manual online](https://open-rails.readthedocs.io/en/1.3.1/) or the PDF included with the program, found in the main menu under "Documents"
13
+
*[Read the manual online](https://open-rails.readthedocs.io/en/latest/) or the PDF included with the program, found in the main menu under "Documents"
14
14
*[Get additional materials, including tutorials, from our website](http://www.openrails.org/learn/manual-and-tutorials/?utm_campaign=documentation&utm_source=readme&utm_medium=referral)
15
15
*[Read more about the project on our website](http://www.openrails.org/discover/open-rails/?utm_campaign=documentation&utm_source=readme&utm_medium=referral)
0 commit comments