Wprowadzenie
Stacje kolejowe mają wiele zmiennych z portami lotniczymi. Wspólne zmienne są udokumentowane na separate page
Zmienne
Zmienna | Wersja | Rozmiar | Opis |
---|---|---|---|
10 | 0.7 2.5 | D | Dodatkowe informacje dotyczące wyboru 'sprite' - zobacz General station flags i AdvancedSpriteLayout |
40 | 0.6 2.5 | D | Informacje o platformie i pozycja względna |
41 | 0.6 2.5 | D | Informacje o platformie i względna pozycja dla indywidualnie zbudowanych sekcji |
42 | 0.6 2.5 | D | Teren i typ toru |
43 [1] | 1.2 2.5 | D | Informacje o graczu, patrz vehicle variable 43 |
44 | 0.7 2.5 | B | Informacje o sygnalizacji opartej na ścieżkach |
45 | 0.6 2.5 | W | Informacje o kontynuacji kolei |
46,47 | 0.6 2.5 | D | Informacje o platformie, liczone od środka |
48 | Zerknij Base Stations. | ||
49 | 0.6 2.5 | D | Informacje o platformie i względna pozycja sekcji tego samego kierunku |
4A | 0.7 2.5 | B | Bieżąca klatka animacji |
60-65 | Zerknij Base Stations. | ||
66 | 0.6 2.5 | D | Ramka animacji pobliskiego kafla |
67 | 0.6 2.6 | D | Informacje o ziemi pobliskich kafli |
68 | 0.6 2.6 | D | Informacje o stacji pobliskich kafli |
69 | Zerknij Base Stations. | ||
6A | 1.10 | D | GRFID of nearby tiles |
80 | [2] | B | Liczba i długość peronów kolejowych |
W przypadku innych zmiennych 80+x nadaj TTD station structure . Zauważ, że musisz odjąć 0x10 od przesunięć tam, w przeciwnym razie maska bitowa obiektu i data budowy nie byłyby dostępne; zamiast tego tracisz dostęp do zmiennych 00..0F, które i tak są bez znaczenia.
UWAGA: Proszę nie używać bezpośrednio zmiennych 8C..EB. Znaczenie tych zmiennych zmienia się, jeśli przełącznik newcargos jest włączony. Zamiast tego użyj zmiennych 60..64 (patrz poniżej). Te zawsze działają poprawnie.
Opis
Informacje o peronie (40, 41, 46, 47, 49)
Zmienne 40, 41, 46, 47 i 49 zwracają informacje o bieżącym kaflu, na której platformie on jest i jak daleko wzdłuż platformy. Różnica polega na rozważanym odcinku stacji.
Zmienne | Zwykła stacja | Nieregularna stacja |
---|---|---|
40, 46 | Cała stacja | Licząc całą długość i wszystkie sąsiednie platformy |
41, 47 | Indywidualnie budowane sekcje | |
49 | Cała stacja | Liczenie długości i platform, które mają ten sam kierunek |
Termin "liczenie" odnosi się tutaj do rozpoczynania od danego kafla i liczenia kafli we wszystkich czterech kierunkach. Dwa kierunki wyrównane z kierunkiem stacji będą długością stacji, a pozostałe dwa kierunki podadzą liczbę platform. W przypadku zmiennych 40 i 46 liczenie to zatrzymuje się na krawędzi stacji, tj. Pierwszego kafla niestacjonarnego. Dla zmiennej 49 zatrzymuje się na krawędzi lub na kaflu stacji, który jest w złym kierunku. Uzyskane informacje prawdopodobnie nie są naprawdę przydatne w przypadku nieregularnych stacji, z wyjątkiem wykrywania krawędzi. Aby poprawnie wykryć krawędzie, możesz wybrać jedną ze stacji->przejście niestacjonarne (var. 40, 46) lub dodatkowe przejście w przeciwnym kierunku (var. 49).
Zmienne 41 są w dużej mierze niezależne od nieregularnych stacji, ponieważ odnoszą się tylko do indywidualnie budowanych odcinków. Jednak gdy te poszczególne sekcje są budowane na istniejących kaflach, var. 41 informacji o otaczających kaflach również się zmienia, ze względu na wewnętrzne ograniczenie sposobu ich przechowywania.
Dla zmiennych 40, 41 i 49 pozycja jest liczona od najbardziej wysuniętej na północ krawędzi stacji i zwracana w postaci xTNLcCpP, gdzie:
Tutaj "początek" (beginning) stacji jest jej najbardziej wysunięty na północ kafel (w górę na ekranie), a "koniec" (end) to kafel najbardziej wysunięty na południe (w dół na ekranie). Każda zmienna składa się z 4 bitów.
Dla zmiennych 46 i 47 pozycja jest liczona od środka, tj. Środkowy kafel ma C=0 and P=0 . W przypadku parzystych długości i liczby platform środkowy kafel znajduje się w pozycji L/2 lub. N/2, np. dla długości 6 jest to kafel 3, która jest czwartym kaflem. Format zwracany to xTNLxxCP, gdzie T, N i L są takie jak powyżej, a C i P są pozycjami liczonymi od środka.
Ponieważ C i P mogą mieć liczby ujemne, oto jak jest to zakodowane:
'Hex' | 'Binary' | 'Decimal' |
---|---|---|
0 | 0000 | 0 |
1 | 0001 | 1 |
7 | 0111 | 7 |
8 | 1000 | -8 |
9 | 1001 | -7 |
E | 1110 | -2 |
F | 1111 | -1 |
Liczenie przebiega w ten sposób, preferując dodatkową liczbę ujemną dla liczby parzystej (ponieważ dostępnych jest 8 liczb ujemnych, ale tylko 7 dodatnich):
'Liczenie' | Numery |
---|---|
1 |
0 |
2 |
-1 0 |
3 |
-1 0 1 |
4 |
-2 -1 0 1 |
5 |
-2 -1 0 1 2 |
6 |
-3 -2 -1 0 1 2 |
(etc.)
Teren i rodzaj toru (42)
Zmienna 42 ma format xxxxttTT, gdzie TT jest typem terenu, a tt jest (przetłumaczonym) typem toru kolejowego.
Mogą mieć następujące wartości:
TT | znaczenie |
---|---|
0 | normal (trawnik) |
1 | desert |
2 | rainforest |
4 | na lub powyżej linii śniegu |
Jeśli w GRF nie ma tabeli translacji typów szyn, używana jest domyślna tabela translacji:
tt | Znaczenie |
---|---|
00 | kolej, regularna |
01 | railroad, electrified |
02 | monorail |
03 | maglev |
Jeśli typ szyny nie jest obecny w tabeli, tt zwraca FF.
Informacje sygnalizacji opartej-na ścieżce (44)
Zwraca to następującą wartość w bitach 0-2: (bit 2 dostępny tylko od wersji alfa 47)
Stan | Wartość (binarna) | Wartość (dziesiętnie) |
---|---|---|
Reserved | 111 | 7 |
Not reserved | 100 | 4 |
No PBS | 010 | 2 |
W tej chwili włączanie/wyłączanie PBS odnosi się do ustawienia przełącznika, w przyszłej wersji alfa będzie faktycznie dotyczyło tego, czy przełącznik jest włączony i czy bieżący blok faktycznie używa PBS.
Bity są zdefiniowane w ten sposób, aby umożliwić łatwy powrót do przypadków innych niż PBS. Jeśli potrzebujesz grafiki, aby pokazać stan "niezarezerwowany" w przypadkach innych niż PBS, użyj bitu 0, ale jeśli potrzebujesz stanu "zarezerwowanego" w przypadkach innych niż PBS, użyj bitu 1. Aby wyraźnie sprawdzić, czy PBS jest aktywny, czy nie, użyj bitu 2.
Wszystkie pozostałe bity są zastrzeżone i muszą być zamaskowane.
Informacje o kontynuacji kolei (45)
Ta zmienna zwraca 16 bitów informacji, czy tory kolejowe kontynuują na ośmiu kaflach sąsiadujących z kaflem stacji.
Bit | Wartość | Ustaw, jeśli szyna kontynuuje w kierunku... |
---|---|---|
0 | 01 | +Length |
1 | 02 | -Length |
2 | 04 | +Platforms |
3 | 08 | -Platforms |
4 | 10 | +Length, +Platforms |
5 | 20 | -Length, +Platforms |
6 | 40 | +Length, -Platforms |
7 | 80 | -Length, -Platforms |
Poniższy rysunek ilustruje, które bity reprezentują, który kafel dla dwóch możliwych orientacji stacji:
Bity od 0 do 3 są ustawiane, jeśli na danym kaflu znajduje się ślad i ma on połączenie z kaflem stacji. W przypadku bitów 2, 3 stacja oczywiście nie ma połączenia z tymi kaflami, ale nie ma to znaczenia dla tej zmiennej. Bity 4 do 7 sprawdzają połączenia z sąsiadującym kaflem platformy, tj. Bity 4 i 5 odpowiednio. 6 i 7 wskazują połączenie z tego kafla do kafla 2 lub odpowiednio. 3. (Zmieniło się to ponownie w wersji 2.5 beta 4 r325.)
Bity 8..15 powtarzają powyższe, ale są ustawiane, jeśli na kaflu są jakieś tory kolejowe i ignorowane, czy tor jest podłączony do stacji, czy nie w całości.
Klatka animacji pobliskiego kafelka (66)
(Od TTDPatch 2.5 beta 5)
Ten parametr określa przesunięcie względem bieżącego kafla. Obie wartości są uważane za podpisane (to znaczy 8h=-8, 9h=-7, ...., Fh=-1, 0h=0, 1h=1, ..., 7h=7 ). Wysoki kęs zawiera ilość ruchu na boki (między platformami), niski to ilość poruszania się po platformie. Przesunięcia ujemne przesuwają się na północ, a dodatnie na południe. Jeśli wybrany kafel jest kaflem stacji kolejowej należącym do bieżącej stacji, zwracany jest jego stan animacji. W przeciwnym razie zwracany jest FFFFFFFFh.
Informacje o terenie pobliskich kafli (67)
Ta zmienna działa jak industry tile variable 60 , z wyjątkiem trzech rzeczy:
- Przesunięcia (offsets) parametru są interpretowane w odniesieniu do wyrównania stacji, w taki sam sposób jak dla zmiennej 66
- Część ss jest "dublowana" ~mirrored (bit 0 i 2 zamienione) dla orientacji NW-SE; pozwoli to na obsługę analogicznych nachyleń dwóch orientacji bez wyraźnego sprawdzania orientacji (od TTDPatch 2.6 r1693)
- Bit 0 częśc bb jest niezdefiniowany
Informacje o stacjach pobliskich kafli (68)
Parametr tej zmiennej działa tak samo jak parametr zmiennej 66. Zwrócona wartość to FFFFFFFFh, jeśli wybrany kafel nie jest kaflem stacji kolejowej. W przeciwnym razie zwróconą wartość można podzielić na następujące części:
Bity | znaczenie |
---|---|
0..7 | Jeśli kafel jest zdefiniowany w bieżącym GRF, jest to setID używany w definicji. W przeciwnym razie zawartość jest niezdefiniowana. |
8..9 |
0 - kafel wykorzystuje oryginalną grafikę TTD
1 - kafel jest zdefiniowany w aktualnym GRF 2 - kafel jest zdefiniowany w innym GRF |
10 | ustaw, czy wybrany kafel należy do bieżącej stacji, w przeciwnym razie wyczyść |
11 | wyczyść, jeśli wybrany kafel jest równoległy do bieżącej, ustaw go jako prostopadły do niego |
12..13 |
0 - zwykła platforma
1 - platforma z zabudową 2 - platforma z 'roof', lewa strona 3 - platforma z 'roof', prawa strona |
14..31 | Niezdefiniowany, zarezerwowany do użytku w przyszłości |
GRFID kafla pobliskiej stacji (6A)
Parametr tej zmiennej działa w taki sam sposób, jak parametr zmiennej 66. Zwrócona wartość jest jedną z następujących czynności:
- FFFFFFFFh jeśli wybrany kafel nie jest kaflem stacji
- 00000000h jeśli wybrana stacja jest stacją domyślną (brak stacji NewGRF)
- w przeciwnym razie GRFID GRF, który zdefiniował typ wybranej stacji