-
Notifications
You must be signed in to change notification settings - Fork 0
railTypes
EN PL |
Introduction |
- definicja typu szyny
- 'łańcuch' funkcji wydajnościowych dla typu szyny, z uwzględnieniem zmiennych związanych z grą, w tym grafiki
- aktywacja typu szyny
Funkcje wydajności typu szyny są używane do grupowania zestawów sprite'ów graficznych z poprzedniego spriteblock() lub do oceny zmiennych związanych z grą i udostępniania ich obu funkcji aktywacji typu szyny.
Aktywacja typu szyny tworzy instancję typu szyny poprzez ostateczne przypisanie zestawów graficznych do określonego elementu typu szyny (ikona, podkład toru, tunel, sieć trakcyjna, ...). Odbywa się to poprzez dostarczenie bloku funkcji specjalnych obsługujących odniesienia i elementy typu szyna do aktywacji typu szyny. Zobacz poniżej.
Funkcje |
Funkcje | Znaczenie |
---|---|
definerailtype(<Label>, <block>) | Definicja typu szyny |
makerailtype(<Label>, <block>) | Aktywacja typu szyny |
Opis |
Ta funkcja definiuje typ szyny. Jego parametrami są etykieta typu szyny i blok funkcji definiujących właściwości , gdzie względne położenie funkcji właściwości jest nieistotne.
Należy pamiętać, że etykieta musi być cytowana w ten sposób: {SABE}.
Identyfikatory typu szyny są nowe, lokalne GRF, z ID do mapowania etykiet. Dlatego, aby zmodyfikować istniejący typ 'szyny', należy określić jego etykietę w definerailtype(). Aby utworzyć nowy typ 'szyny', ponownie po prostu określ jego etykietę w definerailtype(). Jeśli etykieta koliduje z innym newGRF, to jeden newGRF zakończy modyfikację właściwości zamiast tworzenia nowego typu szyny.
Zarezerwowane etykiety dla domyślnych typów szyn to: RAIL (normalna kolej), ELRL (zelektryfikowana kolej), MONO (jednoszynowa), MGLV (maglev).
Zestawy typów szyn mogą wykorzystywać do 16 typów szyn i powinny używać jednej ze standardowych etykiet , zamiast wymyślać własne.
Przykład (defining new rail type 'DBHE'): deftxt(rt_tool, US, "Electrified main line construction", UK, "Electrified main line construction", D, "Bau elektrifizierter Hauptbahnen", F, UTF8 "Construction de voie ferré (voie principale, électrifié)", E, UTF8 "Construccíon de ferrocarril (vía primera, electrificado)", ) ... definerailtype({DBHE}, toolbartext(rt_tool) menutext(rt_menu) vehwindowtext(rt_window) autoreplacetext(rt_autoreplace) newenginetext(rt_engine) compatible_list({"RAIL"}, {"ELRL"}, {"SACE"}) powered_list({"ELRL"}) railtypeflags(RT_CATY) stationtype(RAIL) costfactor(15) speedlimit(160 km/h) acceleration(RAIL) mapcolour(176) )
Ta funkcja aktywuje zdefiniowany wcześniej typ szyny. Jego parametry to etykieta typu szyny i blok funkcji związanych ze specjalnym typem szyny:
Funkcja | Znaczenie |
---|---|
ink(<ref()>, <rail_type_element>) | Łączenie łańcucha grafik lub zmiennych zależności z określonym elementem typu szyny |
default(<ref()>) | Domyślny łańcuch do użycia z tym typem szyny |
Elementy typu szynowego przypisują określone typy grafiki zdefiniowane przez skojarzone z nimi łańcuchy:
Element typu szyna | Typ sprite'a | Num sprites | Stosowanie |
---|---|---|---|
RT_ICON | Ikony i kursory[*] | 16 | 4 kierunki kolejowe, autorail, depot, tunel i konwersja kolei. Najpierw wszystkie ikony, potem wszystkie kursory. |
RT_OLAY | Nakładki torowe dla rozjazdów i PBS[*] | 10 | 6 płaskich i 4 nachylone elementy. 'Sprites' powinny zawierać tylko ścieżkę, bez krajobrazu. |
RT_ULAY | Podkład[*] | 16 | 6 płaskich i 4 nachylone oraz 1 X skrzyżowań z torem i 5 skrzyżowań bez toru. Sprite powinny zawierać ścieżkę i 'balast' pod nią. Nie należy rysować krajobrazu. |
RT_TNNL | Tunel[*] | 4 | 1 'sprite' w każdym kierunku. Sprite jest nakładką na ścieżkę w istniejącej grafice tunelu. Rysowany jest pierwotny sprite naziemny, następnie nakładka, następnie prawdopodobnie pociąg i oryginalna głowica tunelu jest rysowana na górze. Zapewnia to zgodność z różnymi typami krajobrazu. Kolejność spriteów: SW, NW, NE, SE. Jeśli zdefiniowano również RT_TUPO, zachowanie jest nieco inne, patrz tunel portal overlay . |
RT_WIRE | Drut linowy | 28 | Ma taki sam układ drutów pierwszych 28 'sprites', jak Action5 type 5 (lub link akcja 5 ) . |
RT_PYLN | Słupy trakcyjne | 8 | Ma ten sam układ dla pylonów 8 'sprites' za drutami, jak w Action5 typu 5. |
RT_BRDG | Powierzchnie mostów[*] | 6 | 10 sprite'ów, jeśli kiedykolwiek uwzględnimy ukośne mosty. |
RT_XING | Nakładka na przejazd kolejowy[*] | 10 | 1 nakładka na szynę i 4 lekkie sprite'y dla X i Y. |
RT_DEPO | Depoty | 6 | 2 'sprites' dla każdego widoku południowego, 1 'sprite' dla każdego widoku północnego, zgodnie z oryginalnym układem 'sprites' depotu. |
RT_FNCE | Ogrodzenia | 8 | X, y, pionowe, poziome, nachylenie SW, nachylenie SE, nachylenie NE i nachylenie NW. Ma ten sam układ, co oryginalne sprite'y ogrodzenia (zaczynając od # 1301). |
RT_TUPO | Nakładka na 'portal' tunelu | 4 | 1 'sprite' na każdy kierunek, kolejność to SW, NW, NE, SE. (Od r23952) |
RT_SGNL | Sprites sygnałowe | 8 | 1 sprite dla każdego kierunku, kolejność to SW, NE, SE, NW, E, W, S, N. (od r24367) |
[*] Te 'sprites' muszą być zapewnione, inne mogą zostać pominięte, jeśli nie są potrzebne.
Numer sprite'a | Usage | |
---|---|---|
dla x | dla y | |
0 | 1 | Nakładka na szynę |
2 | 3 | Północne światło |
4 | 5 | Eastern light |
6 | 7 | Western light |
8 | 9 | Southern light |
Numer sprite'a | Stosowanie |
---|---|
0 | NE wall for SE-entry depot |
1 | Depot building for SE-entry |
2 | NW wall for SW-entry depot |
3 | Depot building for SW-entry |
4 | Depot building for NE-entry |
5 | Budynek zajezdni dla wejścia NW |
Jeśli ten element zostanie zdefiniowany, tunele dla tego typu szyny będą rysowane inaczej, co pozwoli na tworzenie niestandardowych 'portali' tuneli:
Podczas stawiania tunelu, gra najpierw rysuje 'sprite' bazowego z trawy (1), a następnie 'sprite' wraca z RT_TNNL (2). Następnie rysowane są sprite'y z pociągu (jeśli dotyczy), potem kolejna nakładka z trawy (3), a na końcu sprite z RT_TUPO (4). Wymagane sprite'y trawy (1, 3) są dostarczane przez podstawowy zestaw sprite'ów (lub przez niestandardowe podstawowe sprite'y ), który nie zawiera żadnych sprite'ów dla toru lub portalu, więc muszą być dostarczone przez zestaw sprite'ów typu rail.
Funkcji tuneltype() można użyć do rozróżnienia kilku żądanych odmian tunelu. Jeśli zwróci '0', tunel używa zwykłego portalu bez żadnych dodatkowych funkcji (takich jak ścieżki powyżej). Wszystkie inne wartości są zarezerwowane dla przyszłych rozszerzeń (np. Tunele bazowe).
Element dostarczający niestandardową grafikę sygnałową dla tego typu szyn. Powiązane zestawy 'sprites' dla różnych wariantów sygnału, typów i stanów muszą składać się z 8 'sprites', odpowiadających następującym kierunkom sygnału, tj. Skierowanym na południowy zachód, północny wschód, północny zachód, południowy wschód, wschód, zachód, południe i północ. Warianty sygnału to sygnał świetlny lub semafor, typy sygnałów to sygnał blokowy, sygnały wstępne (wejście, wyjście, kombi) i sygnały PBS (1-drożne, 2-drożne). Stan sygnału jest "czerwony" lub "zielony", więc łącznie 24 zestawy po 8 'sprites' sygnałowych każdy.
Funkcje signaltype(), signalvariant() i signalstate() zwracają dodatkowe informacje o sygnale, który ma zostać narysowany, dla typu, wariantu lub stanu sygnału. Funkcja signal() zwraca połączone informacje o sygnale. Zobacz przykład.
Jeśli rozstrzygnięcie nie powiedzie się lub zakończy się pustym zestawem 'sprites', zamiast tego zostaną użyte pasujące 'sprites' z podstawowego zestawu.
Przykłady |
makerailtype(DBHE, link(ref(7), RT_ICON) // icons and cursors link(ref(11), RT_OLAY) // track overlays for junctions and PBS link(ref(2), RT_ULAY) // track underlays link(ref(3), RT_TNNL) // tunnels link(ref(4), RT_BRDG) // bridge surfaces link(ref(5), RT_XING) // level crossing overlays link(ref(8), RT_DEPO) // depot sprites link(ref(10), RT_PYLN) // catenary pylons link(ref(9), RT_WIRE) // catenary wires link(ref(12), RT_FNCE) // track fences link(ref(13), RT_TUPO) // tunnel portal link(ref(15), RT_SGNL) // custom signals default(cbfail()) // s.b. )
Wartość domyślna będzie używana do wywołań zwrotnych typu kolejowego. Jednakże, ponieważ obecnie nie ma wywołań zwrotnych dla typów szyn, zawsze powinno to skutkować niepowodzeniem wywołania zwrotnego.