Stations
en
EN
pl
PL

nfo

Contents

Wprowadzenie

Definiowanie właściwości nowych stacji.

W przeciwieństwie do pojazdów, nowe stacje nie mają odpowiednika TTD. W związku z tym można wybrać dowolne identyfikatory i w rzeczywistości zostaną one przydzielone automatycznie. W akcji 0 podajesz tylko identyfikatory w stosunku do zestawu, tj. Identyfikator pierwszego typu stacji to 00, drugi typ stacji to 01 itd..

Obsługiwane przez TTDPatch W TTDPatch każda gra może mieć tylko 255 identyfikatorów stacji dla wszystkich aktywnych plików grf.

Jedyną właściwością, którą musisz ustawić dla każdego ID stacji, jest 08 (oprócz zdefiniowania dla niej action 3 ), wszystko inne można pozostawić domyślnie. Musi to być pierwsza właściwość ustawiona dla każdego ID stacji, ponieważ ID stacji jest faktycznie niezdefiniowany, dopóki nie zostanie mu przypisana klasa za pośrednictwem właściwości 08. Ponadto wszystkie ID`y stacji muszą uzyskać swoje klasy we właściwej kolejności, zaczynając od ID 00.

Właściwości

Numer Rozmiar Wersja Opis
08 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 19)2.5 ID klasy, patrz poniżej
09 V Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 20)2.5 Układ sprite, patrz poniżej
0A B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 20)2.5 Skopiuj układ sprite
0B B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 22)2.5 Flagi callback
0C B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 22)2.5 Maska bitowa wyłączonych numerów platform
0D B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 22)2.5 Maska bitowa wyłączonych długości platform
0E V Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 22)2.5 Zdefiniuj układ niestandardowy, patrz poniżej
0F B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 22)2.5 Skopiuj niestandardowy układ z IDstacji podanego przez argument
10 W Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 25)2.5 Próg mały/dużo
11 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 27)2.5 Umieszczenie pylonu
12 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 30)2.5 Maska bitowa wyzwalaczy typu cargo dla losowych 'sprites'
13 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 30)2.5 Flagi ogólne
14 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 47)2.5 Umieszczenie 'przewodu' napowietrznego
15 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (alpha 51)2.5 Może pociąg wprowadzić kafel
16 W Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.5 (beta 9)2.5 Informacje o animacji
17 B Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.5 (beta 9)2.5 Prędkość animacji
18 W Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.5 (beta 9)2.5 Wyzwalacze animacji
19 V Nieobsługiwane przez OpenTTD Nieobsługiwane przez TTDPatch Wyznaczanie tras drogowych (zarezerwowane do użytku w przyszłości)
1A V Obsługiwane przez OpenTTD 1.2 (r22518)1.2 Nieobsługiwane przez TTDPatch Zaawansowany układ sprite'ów z modyfikatorami rejestru

Nieoficjalne uzupełnienia i zmiany. Nie polegaj na nich, aby kiedykolwiek działały w ten sposób w OpenTTD lub TTDPatch:

Numbe Rozmiar Wersja Opis
1B 8*B whatever-PP Minimalna wysokość mostu dla mostów nad stacjami

Opis

Klasa stacji (08)

TTDPatch grupuje zestawy nowej grafiki stacji w różne klasy.  Klasy można wybrać z górnej listy rozwijanej w oknie konstrukcyjnym, a poszczególne stacje w klasie z dolnej listy rozwijanej.  Ponadto każda stacja może zmienić swój wygląd za pomocą variational i/lub random działania 2 wpisów.

Tylko dwie klasy są wstępnie zdefiniowane:

Nazwae Class ID Przeznaczenie do stacji
DFLT 44 46 4C 54 Domyślnie brak specjalnego typu stacji
WAYP 57 41 59 50 Stacje non-cargo, waypointy, 'signal boxes' etc.

Możesz po prostu użyć innych klas niż powyższe, o ile nie jest (więcej niż (obecnie)) 16 klas używanych we wszystkich aktywnych plikach .grf w dowolnym momencie.

Gdy zbudowana zostanie stacja WAYP, nie będzie ona przyjmować ładunku ani nie będzie ładunku z pobliskich gałęzi przemysłu lub miast.  Pociągi nie zatrzymują się na stacjach WAYP, niezależnie od kolejności non-stop i/lub przełącznika non-stop.

Układ sprite (09)

Kontroluje to, które 'sprites' są wyświetlane, gdzie są wyświetlane i w jakiej kolejności.  Właściwość jest zmiennej wielkości i zawiera dane dla wszystkich 8 możliwych typów kafli stacji.  Jeśli ta właściwość jest ustawiona, liczba w odpowiedniej action 1 nie musi być równa 12 (hex), może to być dowolna liczba, a dowolna liczba 'sprites' może być wyświetlana w dowolnej kolejności.

W ten sposób dane są określone jako dane dla wszystkich ośmiu kafli:

<num> <data1> <data2> ... <datan>
Rozmiar Nazwa Znaczenie
B* num Liczba różnych obsługiwanych kafli (patrz poniżej)
V data1... Dane o zmiennej wielkości dla każdego z plików <num> kafli, jak określono poniżej
Liczba obsługiwanych kafli

(Zauważ, że num jest rozszerzonym bajtem, patrz GRFActionsDetailed.)

Zawartość każdego (zwykle ośmiu) zestawów danych jest albo nowym układem ikonek:

Rozmiar Nazwa Znaczenie
D groundsprite sprite do rysowania po szynach; jest to domyślnie sprite TTD, ale z bitem 31 ustawionym można określić action 1 sprite (42D + X)
V spritedata dane dla 'sprites' stacji, patrz poniżej; każdy ma rozmiar 10 bajtów, a może być ich kilka
B 80 dosłowne 80 kończy listę sprite'ów dla tego kafla

lub, alternatywnie, instrukcja użycia układu TTD przy użyciu czterech bajtów zerowych 00 00 00 00 zamiast bajtów dna naziemnego. Możesz użyć the online sprite ID converter , aby wyszukać ID`y 'sprite', których możesz użyć dla wszystkich klimatów.

Można narysować dwa rodzaje 'sprites' .  Jeden typ to taki, który ustanawia nową ramkę ograniczającą 3D do użytku przez sortownik 'sprites' .  Drugi typ dzieli obwiednię 3D poprzednich ikonek.  Nie może być większy niż 'sprite' , który ustanowił obwiednię, ani żadna jej część nie może znajdować się poza tym polem.  Dla uproszczenia powinien mieć dokładnie takie same wymiary, jak 'sprite' , z którym dzieli obwiednię.  Ten ostatni typ jest obsługiwany na ekranie okna budowy stacji tylko od TTDPatch 2.6 r1684.

Spritedata ikonek z własnym obwiednią ma ten format:

Rozmiar Nazwa Znaczenie
B xofs x-offset od północnego narożnika kafla
B yofs y-offset from northern tile corner
B zofs z-offset from northern tile corner
B xextent rozmiar sprite'a w kierunku x
B yextent size of sprite in y direction
B zextent size of sprite in z direction
D sprite numer 'sprite' do narysowania

Spritedata 'sprites' dzielących obwiednię ma ten format:

Rozmiar Nazwa Znaczenie
B xofs x-offset w stosunku do poprzedniego 'sprite'
B yofs y-offset relative to previous sprite
B 80 dosłowne 80
B 00 (ignorowane)
B 00 (ignored)
B 00 (ignored)
D sprite numer 'sprite' do narysowania

Od OpenTTD r18959 możesz narysować wiele 'sprite' ziemi na kafel, co jest przydatne, jeśli chcesz użyć zwykłej kafla podłogowej szyny / trawy / betonu, ale nadal musisz dodać do niej funkcje bez korzystania z nowej ramki ograniczającej. Aby to zrobić, użyj składni ikonek współużytkujących poprzednią ramkę ograniczającą, ale użyj jej przed definicją pierwszej ramki ograniczającej. xpixeloffset i ypixeloffset odnoszą się do zwykłego miejsca kafli naziemnych. Ta sama funkcja jest również częściowo obsługiwana w TTDPatch, ponieważ TTDPatch 2.6 r2312: TTDPatch ignoruje pola xofs i yofs i zawsze używa (0,0) dla offsetu. Jeśli tworzysz GRF, który musi być zgodny zarówno z OpenTTD, jak i TTDPatch, zawsze powinieneś utrzymywać xofs i yofs zero, aby uzyskać ten sam efekt w obu grach. Zauważ jednak, że obie implementacje nie biorą pod uwagę setting of prop13 bit 0 , dlatego te "liczne 'sprites' naziemne" (multiple ground sprites) muszą zawsze być częścią zestawu 'sprite' budynku i nie mogą być częścią inny zestaw ikonek dla ikonek naziemnych.

Liczba ikonek może mieć następujące wartości (pamiętaj, aby używać małego endiana, tj. Odwróconej kolejności bajtów):

Numer Sprite
0000042D+X użyj sprite X z odpowiedniego bloku action 1 (tj. 0000042D dla pierwszego, 0000042E dla drugiego, etc.)
0000842D+X to samo, ale narysuj to, używając firmowej translacji kolorów
0322442D+X to samo, ale rysuj w trybie przezroczystym (rzeczywiste kolory 'sprite' są całkowicie pomijane); obsługiwane w wyświetlaniu okna konstrukcji stacji od wersji TTDPatch 2.6 r1683
RRRR842D+X rysuj sprite'a z translacją koloru zdefiniowanym w sprite RRRR; dostępny od TTDPatch 2.6 r1683

Przy ustawionym bicie 31 ten 'sprites' będzie odnosił się do 'sprite' TTD, a nie 'sprite' akcji 1. Dla pierwszego 'sprite' naziemnego obowiązuje odwrotne znaczenie.

W zależności od rodzaju szyny sprajty mogą uzyskać dodatkowe przesunięcia (offsets) :

Normal/electrified rail Monorail Maglev
TTD sprites 0 82 164
Action 1 sprite (pierwszy grunt sprite) 0 1 2
Action 1 sprite (inne 'sprites' w układzie) 0 0 0

Tak więc 'sprites' TTD i pierwszy 'sprite' naziemny są pod wpływem typu szyny, podczas gdy inne 'sprites' akcji 1 w układzie nie są. Przesunięcie "82" odnosi się do przesunięcia między domyślnymi 'sprites' torowymi TTD; jeśli używasz niedziałających naziemnych ikonek, które nie pochodzą z akcji 1, musisz dostarczyć fałszywe numery ikon, które zapobiegawczo odwrócą przesunięcia (to znaczy, potrzebujesz różnych układów ikon dla każdego typu linii, dla którego twoja stacja jest dostępna).

Ustawienie bitu 30 wymusza normalne wyświetlanie tego 'sprite' nawet w trybie "przezroczystych budynków" (transparent buildings) (obsługiwane tylko w TTDPatch 2.6 r1695 i późniejszych).

Poniżej znajduje się przykład połączonych 'sprites' , a także przezroczystych 'sprites' (np. Na dachu stacji).

Zauważ, że współrzędne tutaj są współrzędnymi 3D, przy czym x biegnie od prawego górnego rogu do lewego dolnego, zaś y biegnie od lewego górnego rogu do prawego dolnego rogu, przy czym wymiary kafli wynoszą 16 x 16 (i 8 dla jednego poziomu wysokości). Oznacza to, że wartości xiy powinny zawsze zawierać się w przedziale 0–15 (dziesiętnie).

Różni się to i jest niezależne od przesunięć x/y używanych w rzeczywistym pliku .NFO.  Obwiednia 3D jest używana przez sortownik sprite'ów TTD do określenia kolejności rysowania 'sprites' , a także do wskazania, które 'sprites' mają rysować, ponieważ te, których ramka graniczna wykracza poza aktualnie aktualizowany prostokąt ekranu, nie zostaną narysowane.  Upewnij się, że obwiednia 3D jest wystarczająco duża, aby pomieścić całego 'sprite' , ale nie tak duża, aby sortownik 'sprite' nie mógł określić, które 'sprites' powinny być z przodu.

Oznacza to, że kolejność określania 'sprites' jest nieistotna.  'Sprites' będą rysowane od tyłu do przodu, w kolejności, którą sortownik 'sprite' określa jako prawidłowy, z ich ramek ograniczających.  Istnieją jednak dwa wyjątki:

Skopiuj układ sprite (0A)

To nie jest właściwość jako taka, ale działanie.  Jako argument przyjmuje bajt interpretowany jako ID stacji do skopiowania niestandardowego układu ikonki.

Flagi callback (0B)

W przypadku stacji można zdefiniować następujące callbacks poprzez ustawienie odpowiedniego bitu we właściwości 0B:

Bit Wartość Zmienna wartość 0C 'Callback'
0 1 13 Czy udostępnić stację w oknie konstrukcyjnym (niezerowy 'zwrot' 'callback') czy nie ('callback' zwraca zero)
1 2 14 Użyj 'callback', aby wybrać układ sprite
2 4 141 Wybierz następną klatkę animacji
3 8 142 Zdecyduj o szybkości animacji
4 10 149 Niestandardowa kontrola nachylenia

Bit to bit, który musisz ustawić, robisz to poprzez dodanie wszystkich wartości dla wszystkich bitów. Zmienna wartość 0C to ta, dla której zostanie ustawiona zmienna 0C, do sprawdzania jej w VarAction2 dla wywołań zwrotnych.

Wybór liczby peronów i długości (0C, 0D)

Domyślnie dla wszystkich stacji dostępne są wszystkie długości platform i dowolna liczba platform.  Korzystając z tych właściwości, możesz wybrać, które mają być niedostępne, ustawiając odpowiedni bit we właściwości.

Wartości są bajtami używanymi jako maska ​​bitowa.  Bity od 0 do 6 kontrolują dostępność liczby lub długości od 1 do 7, a bit 7 kontroluje dostępność przycisku "+7" .  Każdy ustawiony bit wyłącza odpowiednią długość lub liczbę platform.

W celu zapewnienia zgodności z "największymi wyłączeniami" (largestations off) musi być dostępna co najmniej jedna długość od 1 do 5 (bity od 0 do 4) i jedna liczba platform od 1 do 4 (bity od 0 do 3), tzn. Co najmniej jeden z tych bitów musi być nieoprawny.

definiowanie układu niestandardowego (0E)

Pozwala to wybrać, który typ kafla jest budowany, na którym kaflu nowo budowany

stacja.  Istnieją cztery różne typy, które TTD zwykle określa jako

Typ kafla Wygląd
00 zwykła platforma
02 platforma z zabudową
04 platforma z 'roof', lewa strona
06 platforma z 'roof', prawa strona

Te liczby są używane dla stacji w kierunku NE-SW lub te liczby plus jeden dla stacji w kierunku NW-SE.  Aby zdefiniować niestandardowy układ, użyj tego formatu:

Rozmiar Nazwa Znaczenie
B length długość platform dla tego układu
B number liczba platform dla tego układu
V tiles długość*liczba bajtów typów kafli, jedna platforma po drugiej, tylko 00, 02, 04 lub 06 są dozwolone jako wartości

Powtarzaj to tak często, jak to konieczne, aby zdefiniować układy dla wszystkich obsługiwanych kombinacji długości i liczby.  Zakończ definicje 00 00 (długość zerowa i liczba zerowa).  Wszelkie niezdefiniowane kombinacje zostaną zbudowane przy użyciu domyślnego układu TTD. Zauważ, że łatwiejsze może być rysowanie różnych zestawów ikonek za pomocą VarAction2 w oparciu o station variable 40 , zamiast redefiniowania układu.  Ponadto callback 24 zostanie wykorzystany do dalszego dostosowania układu zgodnie z definicją tej właściwości (lub TTD, jeśli nie jest dostępny układ prop 0E). Może to być również łatwiejsze niż zdefiniowanie układu prop 0E dla każdej kombinacji długości i liczby platform.

kopiowanie układu niestandardowego (0F)

Podobnie jak właściwość 0A, kopiuje 'niestandardowy' układ z ID-stacji podanego przez argument.

Próg mały/dużo (10)

Ilość ładunku do zamiany z "małego" na "dużo" ładunku.  TTDPatch dzieli pełny zakres ilości ładunku (od 0 do 4095) na dwa oddzielne podzakresy, "mało" i "dużo" ładunku.  Umożliwia to lepszą kontrolę grafiki opartej na ilości ładunku (w razie potrzeby).  Właściwość 10 określa, przy jakiej ilości ładunku łata ma się przełączać z jednego do drugiego podzakresu.  Więcej informacji można znaleźć w Action 2 for stations .

Umieszczenie pylonu (11) i ułożenie przewodu (14)

'Prop.' 11 określa, które typy kafli powinny mieć pylony, gdy są używane z naelektryzowanymi ścieżkami. Domyślnie kafle 0-3 (domyślne stacje bez dachu) mają pylony, a kafle 4-7 (domyślne stacje z dachem) nie. Jest to nieco maska ​​typów kafli, a nieco ustawiony oznacza, że ​​należy narysować pylon. Typy kafli tutaj nie biorą pod uwagę callback 14 , ale raczej typ, w jakim został zbudowany, tj. Z prop. 0E.

Prop. 14 działa w podobny sposób, z tym wyjątkiem, że ustawia typy kafli, na których powinny być wyświetlane przewody nie . Przy domyślnej wartości "00" druty są wyświetlane wszędzie, a dla każdego zestawu bitów przewód jest pomijany na tym typie kafla.

Tej właściwości należy używać tylko wtedy, gdy druty powodują problemy z sortownikiem 'sprites' , ponieważ nawet jeśli drut jest zasłonięty przez halę stacji lub podobną, powinien nadal pokazywać się w trybie przezroczystym, aby każdy kafel mógł być łatwo zweryfikowana jako zelektryfikowana.

Typy ładunków dla losowych wyzwalaczy (12)

Określa, które typy ładunku powinny uruchamiać ponowną randomizację. Rodzaje ładunków podane są jako maska ​​bitowa bitów z kolumny 3 (typ B) w CargoTypes.  Jeśli nic nie jest ustawione (ustawienie domyślne), nie wystąpią żadne losowe wyzwalacze, aby zaoszczędzić czas procesora.

W wersji 7 i nowszych GRF zmienia się interpretacja bitów. Zamiast numerów szczelin ładunkowych zależnych od klimatu (typ B) musisz ustawić bity niezależnego od klimatu identyfikatora ładunku (typ A).

Flagi ogólne (13)

Bit Wartość Wersja Znaczenie
0 1 Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.52.5 użyj innego zestawu dla 'sprite' naziemnych ('wariant' 10 to 1 dla 'sprites' naziemnych, w przeciwnym razie 0)
1 2 Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 przy obliczaniu ilości ładunku do wyświetlenia należy podzielić ilość przez rozmiar stacji (aby zasymulować ładunek rozłożony na obszarze stacji)
2 4 Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.52.5 callback 141 potrzebuje losowych bitów w 'zmiennej' 10
3 8 Obsługiwane przez OpenTTD 1.01.0 Obsługiwane przez TTDPatch 2.62.6 Użyj niestandardowych fundamentów na nachylonych kaflach (najniższy bajt var. 10 to 2 dla podstawy sprite'y
4 10 Obsługiwane przez OpenTTD 1.01.0 Obsługiwane przez TTDPatch 2.62.6 Gdy bit 3 jest ustawiony, użyj rozszerzonego bloku fundamentowego zamiast prostego

Bit 3 działa nieco podobnie do bitu 0: wybór twojego 'sprite' zostanie ponownie wywołany, z 2 w najniższym bajcie variable 10 . Jeśli łańcuch zakończy się wynikiem wywołania zwrotnego, program przyjmie, że wybór fundamentu nie powiódł się, i użyje domyślnych 'sprites' Foundaton. Niskie słowo variable 18 będzie zawierać typ kafla bieżącego kafla; jeśli masz włączone callback 14 , będzie to jego wartość zwracana - w przeciwnym razie używane są domyślne typy TTD (platforma z budynkiem, platforma z lewym dachem itp.). W obu przypadkach jeden jest dodawany do orientacji NW-SE, na wypadek, gdyby twoja stacja potrzebowała różnych fundamentów w zależności od jej orientacji. Bity 16 i 17 są ustawiane, jeśli fundamenty NW i NE mają zostać połączone z odpowiednim sąsiadującym kaflem, więc nie należy rysować odpowiedniej krawędzi w ikonce fundamentu. Inne bity zmiennej 10 i zmiennej 18 są zarezerwowane do wykorzystania w przyszłości.

Twój kod wyboru 'sprite' powinien wybrać blok 'sprite' fundacji. Zawartość tego bloku zależy od tego, czy bit 4 jest ustawiony, czy nie.

File:simple_foundations.png

Program połączy potrzebny fundament z tych 8 'sprites' w zależności od aktualnego nachylenia. Nie musisz przejmować się danymi scalania w bitach 16..17 variable 18 ; zostanie to załatwione automatycznie poprzez dodanie siódmego i ósmego 'sprite' tylko w razie potrzeby.

File:extended_foundations.png

Musisz mieć jednego 'sprite' na każde nachylenie, które jest możliwe poniżej stacji kolejowej. Właściwy zostanie automatycznie wybrany w zależności od aktualnego nachylenia. Jednak nie obsługuje samego scalania, więc potrzebujesz czterech bloków fundamentowych: jeden bez usuniętych krawędzi, jeden z usuniętą krawędzią NW, jeden z usuniętą krawędzią NE i jeden z usuniętymi obydwoma krawędziami północnymi. Twój kod wyboru 'sprite' jest odpowiedzialny za wybranie poprawności tych bloków zgodnie z informacjami o scaleniu w variable 18.

W obu przypadkach można wprowadzić dodatkową wartość do rejestru 100h, która posłuży jako przesunięcie w wybranym bloku. Jeśli nie zmodyfikujesz rejestru 100h podczas łańcucha, domyślnie będzie to 0. Ważne jest, aby wymiary tych 'sprites' pozostały takie same - dlatego bit 6 w prawdziwych 'sprites' musi być ustawiony, aby GRFCodec nie przyciął pustych niebieskich obszarów . Odsunięcie tych fundamentów musi wynosić -31 w kierunku X i -9 w kierunku Y.

Może pociąg wprowadzić kafel (15)

Jak rekwizyty. 11 i 14, ta wartość zawiera osiem bitów odnoszących się do ośmiu możliwych rodzajów kafli. Jeśli bit jest ustawiony, pociągi nie mogą przejeżdżać ani wchodzić na żadne kafle tego typu.

Informacje o animacji (16)

Niższy bajt określa liczbę klatek animacji pomniejszoną o jedną, więc 00 oznacza 1 klatkę, 01 oznacza 2 klatki itp. Maksymalna liczba klatek wynosi 256, chociaż możesz mieć pewne problemy, jeśli twoja animacja przekracza liczbę klatek FD (253). Górny bajt musi wynosić 0 dla animacji nie zapętlonych i 01 dla animacji zapętlonych. Każda inna wartość jest zarezerwowana do wykorzystania w przyszłości. Ponadto, jeśli całe słowo zawiera FFFF, animacja jest wyłączona dla tej stacji (jest to wartość domyślna). Ponieważ nie możesz mieć właściwości dla poszczególnych kafli stacji, ta właściwość dotyczy każdego kafla stacji. Jeśli nie chcesz animować niektórych kafli, powinieneś sprawdzić bieżącą pozycję podczas callback 140 i zwrócić FD, jeśli bieżący kafel nie trzeba być animowanym. Jeśli potrzebujesz także animacji o różnej długości na kafel, musisz użyć callback 141 .

Prędkość animacji (17)

Znaczenie jest takie samo jak dla house property 1B , ale dolny limit to 0 zamiast 2, więc najszybsza możliwa animacja zmienia klatki przy każdym tyknięciu gry (27ms). Wartość domyślna to 2.

Wyzwalacze animacji (18)

Jest to nieco maska ​​zdarzeń, które powinny uruchomić callback 140 , umożliwiając zmianę stanu animacji

Bit Wartość Wersja Znaczenie Zdarza się Var 18
0 1 Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.52.5 Część stacji jest zbudowana nowo zbudowane kafle

1 2 Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.52.5 Nowy ładunek przybywa na stację cała stacja [1]
2 4 Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.52.5 Rodzaj ładunku zostaje usunięty ze stacji cała stacja [1]
3 8 Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.52.5 Pociąg wjeżdża na stację (rozpoczyna załadunek/rozładunek) platforma, na której znajduje się pociąg

4 10 Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.52.5 Stacja odjeżdża z pociągu (zakończony załadunek/rozładunek) platforma, na której znajduje się pociąg

5 20 Obsługiwane przez OpenTTD 1.2 (r22746)1.2 Obsługiwane przez TTDPatch 2.52.5 Pociąg ładuje/rozładowuje ładunek Pociąg ładuje / rozładowuje ładunek

6 40 Obsługiwane przez OpenTTD 0.70.7 Obsługiwane przez TTDPatch 2.52.5 Co 250 tyknięć cała stacja

Pozostałe bity są zarezerwowane dla przyszłych wyzwalaczy, na razie muszą wynosić zero.

Kolumna "dzieje się" (happens on) informuje, które kafle będą callback 140 .

  1. 1.0  1.1  Bity 8..15 z var 18 zawierają typ wyzwalającego ładunku. Jeśli twój GRF ma tabelę translacji ładunku, typ ładunku będzie indeksem w tej tabeli lub FFh, jeśli ładunku nie ma w tabeli. Jeśli nie masz tabeli translacji ładunku, typ ładunku będzie po prostu numerem typu ładunku zależnym od klimatu.

Wyznaczanie tras drogowych (19 - zarezerwowane do użytku w przyszłości)

Pozwoli mieć informacje o trasach dla pojazdów drogowych na dworcach

ogólnie rzecz biorąc, musisz odmówić pojazdowi szynowemu podróżującemu śmigłem 15

Ta właściwość nie jest jeszcze zaimplementowana Nieobsługiwane przez OpenTTDNieobsługiwane przez TTDPatch.

Zaawansowany układ sprite'ów z modyfikatorami rejestru (1A)

Obsługiwane przez OpenTTD 1.2 (r22518)1.2 Nieobsługiwane przez TTDPatch Format:

1A <num-layouts> <0x40 + num-sprites>
                 <groundsprite> <flags> [<register/value>]...
                 [ <buildingsprite> <flags>
                     ( <xoffset> <yoffset> <zoffset> <xextent> <yextent> <zextent> 

| <xpixeloffset> <ypixeloffset> 80)

                   [<register/value>]...
                 ]...

Aby uzyskać więcej informacji, zobacz tutaj na teraz.

Minimalna wysokość mostu (1B)

Ta właściwość pozwala budować mosty nad stacjami.

Właściwość wysokość mostu określa minimalne prześwity wymagane dla mostu dla każdego z czterech tile types tej stacji (lub zero, aby nie pozwolić na żaden most). Wartości podano w "height level" jednostek (1 level == 8px).

Wysokość (1) Wygląd
x1 y1 zwykła platforma
x2 y2 platforma z zabudową
x3 y3 platforma z 'roof', lewa strona
x4 y4 platforma z 'roof', prawa strona

(1) gdzie wartości są jednobajtowymi parami (kierunek x, kierunek y) wyrażone w notacji szesnastkowej.

'Składnia':

1B <1st pair> <2nd pair> <3rd pair> <4th pair>
1B x1 y1 x2 y2 x3 y3 x4 y4
1B 01 01 02 02 03 03 03 03 // 8px 16px 24px 24px

Ta właściwość jest obecnie dostępna tylko dla pakietu poprawek JGR (wer. 0.26.0 i nowszych) oraz rozwojowego 'widelca' "Nowe funkcje mapy" (New Map Features) (NMF) OpenTTD.

Przykłady

Używanie układów sprite TTD dla niektórych kafli

Aby użyć układu TTD, używasz 00 00 00 00 dla naziemnej liczby 'sprites' i odrzuć wszystko inne.

Więc zamiast na przykład

F4 03 00 00
   00 00 00    10 05 02    2E 84 00 00
   00 0B 00    10 05 02    30 84 00 00
   80

właśnie umieściłeś

00 00 00 00

Korzystanie z przezroczystych sprites

Możesz użyć przezroczystych 'sprites' , aby na przykład dach był półprzezroczysty, jak w stacjach TTD. Dach stacji TTD jest tak wykonany:

00 00 10    10 10 0A    37 84 00 00
00 00 80    00 00 00    3B 44 22 03

Pierwszym 'sprite' jest nieprzezroczysta rama dachu, narysowana w kolorach firmowych (ma ustawiony bit 15). Druga część to specjalny "połączony" (linked) 'sprites' bez własnego obwiedni, podobnie jak poprzedni 'sprite' . Dokonuje się tego poprzez ustawienie przesunięcia z na 80.

Aby ten drugi 'sprite' był przezroczysty, bit 14 jest ustawiany w numerze 'sprite' , a górne słowo jest ustawione na 322 (*), więc 0322443B oznacza pobranie 'sprite' 43B i narysowanie go w trybie przezroczystym. Kolory tego 'sprite' są całkowicie ignorowane, każdy piksel w kolorze 0 jest w pełni przezroczysty, a wszystkie pozostałe piksele są półprzezroczyste (zasadniczo powodując, że to, co jest rysowane, staje się ciemniejsze).

(*) To jest recolour sprite dla efektu szkła.