aboutsummaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
authorY. Wang <yw05@forksworld.de>2021-11-24 09:03:04 +0100
committerY. Wang <yw05@forksworld.de>2021-11-24 09:03:04 +0100
commitb014d394d06ba163bf8debb79abe63fc9a7b3f7d (patch)
tree8e43ccfd799c174ac403fc2f1b84ec9490de7b24 /assets
parentaaebf7328e59c9a17daef6ab8abb9572614916f5 (diff)
downloadadvtrains-b014d394d06ba163bf8debb79abe63fc9a7b3f7d.tar.gz
advtrains-b014d394d06ba163bf8debb79abe63fc9a7b3f7d.tar.bz2
advtrains-b014d394d06ba163bf8debb79abe63fc9a7b3f7d.zip
\textsc{advtrains}
Diffstat (limited to 'assets')
-rw-r--r--assets/manual2/manual.tex39
1 files changed, 20 insertions, 19 deletions
diff --git a/assets/manual2/manual.tex b/assets/manual2/manual.tex
index c62facb..5b229bb 100644
--- a/assets/manual2/manual.tex
+++ b/assets/manual2/manual.tex
@@ -25,9 +25,10 @@
\newcommand{\argname}[1]{\var{#1}}
\newcommand{\optargname}[1]{\ovar{#1}}
-\newcommand{\luatrue}{\texttt{true}}
-\newcommand{\luafalse}{\texttt{false}}
-\newcommand{\luanil}{\texttt{nil}}
+\def\luatrue{\texttt{true}}
+\def\luafalse{\texttt{false}}
+\def\luanil{\texttt{nil}}
+\def\advtrains{\textsc{advtrains}}
\newenvironment{centeredtikzpicture}{
\begin{center}
@@ -55,7 +56,7 @@
}
}
-\title{(WIP) Advtrains Manual}
+\title{Advanced Trains for Minetest}
\author{}
\begin{document}
@@ -66,13 +67,13 @@
\newpage
\section*{Introduction}
\addcontentsline{toc}{section}{Introduction}
-Advtrains is a mod with the goal of introducing realistic trains and rail equipments. It also has features allowing automated trains on a large scale, including interlocking and a few methods of scripting.
+\advtrains{} is a mod with the goal of introducing realistic trains and rail equipments. It also has features allowing automated trains on a large scale, including interlocking and a few methods of scripting.
-This manual is written for the specific version of advtrains that the corresponding \LaTeX{} source is distributed with. It is divided into two parts, where the first part mainly documents the various features of advtrains, and the second part focuses on the internals of advtrains.
+This manual is written for the specific version of \advtrains{} that the corresponding \LaTeX{} source is distributed with. It is divided into two parts, where the first part mainly documents the various features of \advtrains, and the second part focuses on the internals of \advtrains.
\subsection*{Acknowledgments}
-A notable portion of the manual is influenced by various other guides and manuals for advtrains. In particular:
+A notable portion of the manual is influenced by various other guides and manuals for \advtrains. In particular:
\begin{itemize}
\item Section \ref{s:interlocking} is written with reference to orwell's interlocking guide and Blockhead's video explaining the three-station setup. The links to both sources can be found in that section.
\item Section \ref{s:luaatc} is a reformatted and restructured version of the LuaATC documentation, written by orwell and Maverick2797.
@@ -89,7 +90,7 @@ A notable portion of the manual is influenced by various other guides and manual
\item Arguments to functions and ATC commands are delimited using angle brackets \argname{like this}.
\item Argument names are generally lowercase, but the first letter may be capitalized.
\item Lua string constants are written without quotation marks when the content does not resemble any numeric or symbolic constant and when used as enumerators or table indices.
-\item Like in other parts of advtrains, Lua code is indented with tabs.
+\item Like in other parts of \advtrains, Lua code is indented with tabs.
\item An error situation that may or may not be reported are referred to as \textit{an error}. An error situation that is always reported is one where \textit{an error is signaled}.
\item Unless otherwise specified, the return value of any Lua API function is undefined.
\item The action of left-clicking a node with a trackworker is called \textit{rotation}. The action of right-clicking a node with a trackworker is called \textit{adjustment}.
@@ -235,7 +236,7 @@ Exercise: Build a T junction. You will need this later in section \ref{s:iljunct
\subsection{Special tracks}
-Advtrains also have a few special tracks, some of which are explain in their own sections.
+\advtrains{} also have a few special tracks, some of which are explain in their own sections.
\begin{itemize}
\item ATC track: track that sends ATC commands to a train (see section \ref{s:atc} for more information)
@@ -458,9 +459,9 @@ The following \argname{condition}s are available for the ATC \texttt{I} command:
\subsection{LZB}\label{s:lzb}
-\fbox{\parbox{\textwidth}{The explanation of LZB is specific to advtrains. Please refer to other sources, such as Wikipedia, for information on the use of LZB in real-life rail lines.}}
+\fbox{\parbox{\textwidth}{The explanation of LZB is specific to \advtrains. Please refer to other sources, such as Wikipedia, for information on the use of LZB in real-life rail lines.}}
-In advtrains, LZB is a system that makes sure that trains realistically brake to the desired speed, overriding ATC and manual control if necessary.
+In \advtrains, LZB is a system that makes sure that trains realistically brake to the desired speed, overriding ATC and manual control if necessary.
LZB speed targets are temporary and associated to a specific point - it only makes sure that the front part of the train passes that point at the desired speed. For example, a point speed restriction rail with a speed target of 3 will only make sure that the front of the train passes the PSR rail at the speed of 3, but the train is allowed to accelerate up to the speed limit (or the maximum speed, if there is no speed limit) after the head of the train passes the PSR rail.
@@ -557,7 +558,7 @@ The track section formspec also has a button labeled ``Dissolve section''. Click
\subsection{Signals}\label{s:ilsignals}
-Each TCB side can have a signal assigned to the side. The signal will then indicate whether the train is allowed to enter the section to which the same TCB side is assigned to. Signals need to be set up in order to be able to set up routes. In the previous graph, in order to let trains move from $P$ to $Q$ or $R$, a signal needs to be set up on the side of $P$ that faces the track section (i.e. the east side of $P$). For an overview of the signals available in advtrains, refer to section \ref{s:signals}. Signals should conventionally face the opposite direction of the side of the TCB so that the driver can see the signals.
+Each TCB side can have a signal assigned to the side. The signal will then indicate whether the train is allowed to enter the section to which the same TCB side is assigned to. Signals need to be set up in order to be able to set up routes. In the previous graph, in order to let trains move from $P$ to $Q$ or $R$, a signal needs to be set up on the side of $P$ that faces the track section (i.e. the east side of $P$). For an overview of the signals available in \advtrains, refer to section \ref{s:signals}. Signals should conventionally face the opposite direction of the side of the TCB so that the driver can see the signals.
Every signal can optionally have an influence point. This is the point where the aspect of the signal becomes effective, and should be located before the train passes the TCB side that the signal is assigned to. The influence point for signals that are independent of track sections is irrelevant, but should conventionally be close to the signal.
@@ -777,12 +778,12 @@ Now that you have learned to use interlocking, create a simple three-station set
If you are stuck at some point or want something to compare your set up to, you can watch Blockhead's introduction video, where he creates a three-station setup. The link is provided at the beginning of this chapter.
\section{Signals}\label{s:signals}
-Signals are device that give trains certain instructions and/or imposes certain limitations on trains. Advtrains comes with a few signals, which will be explained in the corresponding sections.
+Signals are device that give trains certain instructions and/or imposes certain limitations on trains. \advtrains{} comes with a few signals, which will be explained in the corresponding sections.
\subsection{Types of speed restrictions}\label{s:srtypes}
-There are a few types of speed restrictions that a signal can give. These speed restrictions are independent of each other, and the strictest restriction is chosen as the speed restriction of the train. The speed restrictions need to be set by the specific signs that do so - every signal can only set (and lift) one type of speed restriction and do not affect other speed restrictions. The naming of the speed restriction types are mainly aesthetic and does not give any particular information for advtrains - in real life, these are mainly informative for the driver.
+There are a few types of speed restrictions that a signal can give. These speed restrictions are independent of each other, and the strictest restriction is chosen as the speed restriction of the train. The speed restrictions need to be set by the specific signs that do so - every signal can only set (and lift) one type of speed restriction and do not affect other speed restrictions. The naming of the speed restriction types are mainly aesthetic and does not give any particular information for \advtrains{} - in real life, these are mainly informative for the driver.
-The following types of speed restrictions are used by signals in advtrains:
+The following types of speed restrictions are used by signals in \advtrains{}:
\begin{description}
\item[Permanent (``main'') speed restriction (\texttt{main})] The default type of speed restriction. This one is most commonly given by signal lights.
@@ -801,7 +802,7 @@ The following is an example of a train running with speed restrictions. You may
\subsection{Basic signals}
-The core mod of advtrains comes with wallmounted signals and a signal with two lights. These signals can only stop the train and lift the main speed restriction of the train.
+The core mod of \advtrains{} comes with wallmounted signals and a signal with two lights. These signals can only stop the train and lift the main speed restriction of the train.
\subsection{German signals}
The \texttt{advtrains\_signals\_ks} mod provides a set of signals used in Germany, including (but not limited to) Ks signals that the mod gets its name from.
@@ -829,7 +830,7 @@ In addition, Sh 1 (see below) may also appear along with Hp 0, in which case the
\end{description}
\subsubsection{Signal signs}
-Advtrains have a few types of signal signs, which can be placed by the corresponding placers.
+\advtrains{} has a few types of signal signs, which can be placed by the corresponding placers.
\begin{description}
\item[Permanent speed restriction sign] Signal signs that set the permanent speed restriction (the same ones set by most regular signals): Zs 3 and Zs 10.
\item[Line speed restriction sign] Signal signs that set the line speed restriction: Lf 7.
@@ -1073,9 +1074,9 @@ This chapter shows some example setups that you can use on your rail lines. Thes
\section{The \texttt{advtrains} table}\label{s:tadvtrains}
\subsection{Railway time}\label{s:tilrwt}
-Advtrains depends on Minetest's ``dtime'' for most operations, and may slow itself down when necessary (e.g. in a situation with a lot of lag) to prevent unexpected behavior. As a result, the internal time used by advtrains is not synchronized to real-life time due to lag and server restarts. Railway time was therefore introduced as a method of accurately measuring internal time, as well as to provide a scheduling system. It can, however, be set up to keep in sync with real-life time, depending on the real-life time adaptation mode (\texttt{advtrains\_lines\_rwt\_realtime}):
+\advtrains{} depends on Minetest's ``dtime'' for most operations, and may slow itself down when necessary (e.g. in a situation with a lot of lag) to prevent unexpected behavior. As a result, the internal time used by \advtrains{} is not synchronized to real-life time due to lag and server restarts. Railway time was therefore introduced as a method of accurately measuring internal time, as well as to provide a scheduling system. It can, however, be set up to keep in sync with real-life time, depending on the real-life time adaptation mode (\texttt{advtrains\_lines\_rwt\_realtime}):
\begin{ttdescription}
-\item[independent] Do not adapt to real-life time and instead keep in sync with advtrains' internal dtime.
+\item[independent] Do not adapt to real-life time and instead keep in sync with \advtrains{}' internal dtime.
\item[follow\_real] Independent of real-life time, but counts up in real-life time.
\item[adapt\_real] Use \texttt{os.time} for RWT.
\end{ttdescription}