//Ra 2fa3: zwrotnik rozjazdu krzyżowego, pokazujący Wz5, Wz6, Wz7 i Wz8

// p1 - nazwa rozjazdu krzyzowego, p2, p3, p4 - polozenie, p5 - rotacja
// 4 zwrotnice wchodzace w sklad rozjazdu krzyzowego maja sie nazywac (p1)a, (p1)b, (p1)c i (p1)d
//Ra 2fa3: zwrotnica "a" ma być po lewej stronie zwrotnicy "b", patrząc w stronę rosnącego kilometrażu
//Ra 2fa3: zwrotnice "b" oraz "d" mają mieć prosty tor jako drugi, aby nie startować z X
//Ra 2fa3: wprowadzenie powyższych zasad wymagać będzie modyfikacji większości scenerii

//globalne (zewnętrzne) procedury sterujące:
event (p1)ac multiple 0 none (p1)_wz5 (p1)_av100 (p1)_bv0 (p1)_a0 (p1)_b0 (p1)_c0 (p1)_d0 endevent
event (p1)bd multiple 0 none (p1)_wz6 (p1)_bv100 (p1)_av0 (p1)_a1 (p1)_b1 (p1)_c1 (p1)_d1 endevent
event (p1)bc multiple 0 none (p1)_wz8 (p1)_bv40  (p1)_av0 (p1)_a0 (p1)_b0 (p1)_c1 (p1)_d1 endevent
event (p1)ad multiple 0 none (p1)_wz7 (p1)_av40  (p1)_bv0 (p1)_a1 (p1)_b1 (p1)_c0 (p1)_d0 endevent

//tylko do testów - usunąć, bo będzie zamulać scenerię
//node -1 0 (p1) eventlauncher (p2) (p3) (p4) 4.0 t 0 (p1)ac (p1)ad end
//node -1 0 (p1) eventlauncher (p2) (p3) (p4) 4.0 s 0 (p1)bd (p1)bc end 

//wewnętrzne deklaracje:

//model latarni zwrotnika 
node -1 0 (p1)_wz model (p2) (p3) (p4) (p5) wzk.t3d none lights 0 1 1 0 endmodel

//wyświetlanie wskazówek zwrotnika b a c d
event (p1)_wz5 lights 0.8 (p1)_wz 0 1 1 0 endevent //ac
event (p1)_wz6 lights 0.8 (p1)_wz 1 0 0 1 endevent //bd
event (p1)_wz7 lights 0.8 (p1)_wz 0 1 0 1 endevent //ad
event (p1)_wz8 lights 0.8 (p1)_wz 1 0 1 0 endevent //bc

//przełączanie zwrotnic o nazwie (p1)a,b,c,d
event (p1)_a0 switch 0 (p1)a 0 endevent
event (p1)_a1 switch 0 (p1)a 1 endevent
event (p1)_b0 switch 0 (p1)b 0 endevent
event (p1)_b1 switch 0 (p1)b 1 endevent
event (p1)_c0 switch 2 (p1)c 0 endevent
event (p1)_c1 switch 2 (p1)c 1 endevent
event (p1)_d0 switch 2 (p1)d 0 endevent
event (p1)_d1 switch 2 (p1)d 1 endevent

//ustawianie ograniczenia predkości 
//Ra 2fa3: tymczasowo stop na rozprucie, żeby wyłapać błędy w sceneriuszach
event (p1)_av100 trackvel 0 (p1)a 100 endevent
event (p1)_av40 trackvel 0 (p1)a 40 endevent
event (p1)_av0 trackvel 0 (p1)a 0 endevent
event (p1)_bv100 trackvel 0 (p1)b 100 endevent
event (p1)_bv40 trackvel 0 (p1)b 40 endevent
event (p1)_bv0 trackvel 0 (p1)b 0 endevent

