Contents |
Wprowadzenie
Jest to dostępne od wersji TTDPatch 2.6 alpha 0 r1247 i późniejszych.
Ten typ VarAction2 wymaga zastosowania zaawansowanych obliczeń: VarAction2Advanced
Zmienne
Opis
Zmienna 10
Bit | Znaczenie |
---|---|
0 | Green |
1-3 | 'Front': 0=SW, 1=NE, 2=NW, 3=SE, 4=E, 5=W, 6=S, 7=N |
4-5 | 'Presignals': 0=norm, 1='wjazd', 2=exit, 3=combo |
6 | Semafor |
7 | PBS |
8 | 'Restricted' |
9 | 'Programowane' |
10 | 'Through' |
11 | 'Inverted' |
Uwaga: są to te same bity, które byłyby użyte do zamówienia bloku Action5 typu 4.
Zmienna 18
Bit | Znaczenie |
---|---|
0-7 |
L5 kafla sygnałowego
0: track w X 1: track w Y 2: track w N 3: track w S 4: track w W 5: track w E |
8-15 | Niska połowa L3 kafli, bity 4-7-bitowej maski, w tym sygnały obecne poniżej, bity 0-3: typ ścieżki |
16-23 |
Który sygnał jest obecnie rysowany, indeks bitowy maski sygnału L3:
* Do toru w kierunku X: 6: sygnału w kierunku SW 7: signal w NE direction * Dla toru w kierunku Y: 6: signal w NW direction 7: signal w SE direction * Dla tracks w W-E direction: 4: signal w W direction na torze w narożniku S 5: sygnału w kierunku E na torze w narożniku S 6: signal w W direction na track w N corner 7: signal w E direction ma track w N corner * Dla tracks w N-S direction: 4: signal w S direction na track w E corner 5: signal w N direction na track w E corner 6: signal w S direction na track w W corner 7: signal in the N direction on the track in the W corner |
24-27 | Land/Typ ogrodzenia |
28-31 | Typ terenu: 0=normal, 1=desert, 2=rainforest, 4=snow |
Sparametryzowana zmienna 60
Parametr to dwa podpisane przesunięcia, które można dodać do współrzędnych kafla.
Niski węzeł jest dodawany do współrzędnej X (od 'prawej' do prawej do 'lewej z lewej').
Wysoki węzeł jest dodawany do współrzędnej Y (od 'lewej górnej' do 'prawej dolnej').
Informacje są pobierane z kafla po dopasowaniu współrzędnych, zaczynając od kafla, który jest obecnie rysowany.
Bit | Znaczenie |
---|---|
0-7 | L5 |
8-15 | L3 niski |
16-20 | Wysokość bezwzględna kafla<<3 |
21-25 | Mapa nachylenia kafla |
26 | Kafel ma tego samego właściciela |
27 | Semafory |
28 | Kafel ma te same bity 'toru' |
29 | Kafel ma takie samo nachylenie i wysokość |
30 | Kafel ma sygnalizatory |
31 | Kafel jest kafel 'track' |
Zwracana wartość 'buforowana' w varaction2var 10
Output
Wartość zwracana przez wywołanie zwrotne
Bit | Znaczenie |
---|---|
0 | Używaj nowych 'sprites' |
1-4 | Num sprites, varaction2vars 0x20-2F |
5 | Użyj 'zmiennokolorowego' 'sprite' określonego w varaction2var 0x30 |
6 | Użyj zwykłej liczby ikonek: varaction2var 0x20, (to zastępuje wszystkie inne bity) |
Wartość Varaction2var 20-2F
Bit | Znaczenie |
---|---|
0-12 | Sprite offset 'do' action5 block 0E. |
13 | Dodaj sprite yrel do korekty Y dla następnego sprite'a (sub z 3D Z), (yrel musi mieścić się w 'signed' bajcie) |
14-18 |
Sprite Y (-3D Z) korekta dla następnego 'sprite', (znak), (dodana do sumy) Ogólna zmiana na 3D Z, (-Y korekta), musi być dodatnia, w przeciwnym razie istnieje ryzyko awarii TTD |
19-23 | Korekta Sprite Y (-3D Z) tylko dla tego 'sprite' (ze znakiem), (nie dodawana do całości) |
24-27 | Korekta Sprite X dla następnego 'sprite' << 1, (znak), (dodane do sumy) |
28-31 | Korekta Sprite X tylko dla tego 'sprite' << 1, (signed), (nie dodawane do całości) |
---
Do odniesienia do akcji 2 należy użyć ogólnej funkcji 0E 0E.
'Wywołanie zwrotne' 0x146 wywoła tę akcję 3, gdy zostanie wyciągnięty sygnał.
Jeśli GRF nie obsługuje typu sygnału wskazanego w zmiennej 10, należy zwrócić niepoprawny wynik wywołania zwrotnego. Zwrócenie 0 zapobiegnie zapytaniu o nowe pliki GRF sygnału i spowoduje użycie domyślnej grafiki sygnału. Zwracanie 0 powinno być wykonywane tylko po to, aby jawnie zapobiec potencjalnemu pobieraniu nowych sygnałów przez GRF o niższym priorytecie.
Wynik wywołania zwrotnego ('cb') powinien zostać zwrócony jako wynik obliczenia.
Bity 1-4 wyniku wywołania zwrotnego wskazują, ile wariacji varaction2vars rozpoczynających się od 0x20 zostanie użytych do określenia 'sprites' , które zostaną narysowane. Operator 0E powinien być używany do przechowywania odpowiednich wartości w zmiennych 0x20-2F i odpowiednio 30.
Ponowne kolorowanie 'sprites' określonych w varaction2var 0x30 i bit 5 wyniku wywołania zwrotnego są stosowane do wszystkich rysowanych 'sprites' .