Loading

nuts

  1.  
  2. template overlay(){
  3. [0,     064, 31, -31, 0]
  4. [65,    064, 31, -31, 0]
  5. [130,   064, 31, -31, 0]
  6. [195,   064, 31, -31, 0]
  7. [260,   064, 31, -31, 0]
  8.  
  9. [0,     32, 64, 31, -31, 0]
  10. [65,    32, 64, 39, -31, -8]
  11. [130,   32, 64, 23, -32, 0]
  12. [195,   32, 64, 23, -31, 0]
  13. [260,   32, 64, 39, -29, -8]
  14. }
  15. template bridge_surfaces(x){
  16. [x+0,       72, 64, 31, -31, 0]
  17. [x+6572, 64, 31, -31, 0]
  18. [x+130, 72, 64, 39, -31, -8]
  19. [x+195, 72, 64, 23, -31, 0]
  20. [x+260, 72, 64, 23, -33, -1]
  21. [x+325, 72, 64, 39, -29, -9]
  22. }
  23. template underlay(){
  24. [0,     112,    64, 31, -31, 0]
  25. [65,    112,    64, 31, -31, 0]
  26. [130,   112,    64, 31, -31, 0]
  27. [195,   112,    64, 31, -31, 0]
  28. [260,   112,    64, 31, -31, 0]
  29.  
  30. [0,     144,    64, 31, -31, 0]
  31. [65,    144,    64, 39, -31, -8]
  32. [130,   144,    65, 23, -32, 0]
  33. [196,   144,    64, 23, -31, 0]
  34. [261,   144,    64, 39, -31, -8]
  35.  
  36. [0,     184,    64, 31, -31, 0] //X
  37.  
  38. [0,     216,    64, 31, -31, 0]
  39. [65,    216,    64, 31, -31, 0]
  40. [130,   216,    64, 31, -31, 0]
  41. [195,   216,    64, 31, -31, 0]
  42. [260,   216,    64, 31, -31, 0]
  43. }
  44. template tunnels(x){
  45. [260*x+340, 064, 59, -31, -28]
  46. [260*x+405, 064, 59, -31, -28]
  47. [260*x+470, 064, 59, -31, -28]
  48. [260*x+535, 064, 59, -31, -28]
  49. }
  50.  
  51. template road_crossing(){
  52. [0, 248,    64, 31, -31, 0]
  53. [65,    248,    64, 31, -31, 0]
  54.  
  55. [0, 280, 5, 12, 0, 0]
  56. [6, 280, 19, 19, 0, 0]
  57. [26,280, 23, 17, 0, 0]
  58. [50,280, 5, 12, 0, 0]
  59. [56,280, 25, 14, 0, 0]
  60. [82,280, 5, 12, 0, 0]
  61. [88,280, 5, 12, 0, 0]
  62. [94,280, 19, 14, 0, 0]
  63. }
  64.  
  65.  
  66.  
  67. template signals(x,y){
  68. [x+0,   25*y,   24, 24, -5, -19]
  69. [x+2525*y,   24, 24, -20, -13]
  70. [x+5025*y,   24, 24, -4, -13]
  71. [x+7525*y,   24, 24, -17, -20]
  72. [x+100, 25*y,   24, 24, -13, -18]
  73. [x+125, 25*y,   24, 24, -12, -17]
  74. [x+150, 25*y,   24, 24, -9, -17]
  75. [x+175, 25*y,   24, 24, -12, -12]
  76. }
  77.  
  78.  
  79.  
  80.    
  81. spriteset(canalrails_overlays, "gfx/_canalrails.png") {overlay()}  
  82. spriteset(canalrails_underlays, "gfx/_canalrails.png") {underlay()}
  83. spriteset(canalrails_tunnels, "gfx/_canalrails.png") {tunnels(0)}  
  84. spriteset(canalrails_tunnels_bk, "gfx/_canalrails.png") {tunnels(1)}   
  85. spriteset(canalrails_road_crossing, "gfx/_canalrails.png") {road_crossing()}   
  86.  
  87. spriteset(canalrails_signals_block_green,   "gfx/_signals.png") {signals(0,0)} 
  88. spriteset(canalrails_signals_block_red,     "gfx/_signals.png") {signals(0,1)} 
  89. spriteset(canalrails_signals_entry_green,   "gfx/_signals.png") {signals(0,2)} 
  90. spriteset(canalrails_signals_entry_red,     "gfx/_signals.png") {signals(0,3)} 
  91. spriteset(canalrails_signals_exit_green,    "gfx/_signals.png") {signals(0,4)} 
  92. spriteset(canalrails_signals_exit_red,      "gfx/_signals.png") {signals(0,5)} 
  93. spriteset(canalrails_signals_combo_green,   "gfx/_signals.png") {signals(0,6)} 
  94. spriteset(canalrails_signals_combo_red,     "gfx/_signals.png") {signals(0,7)} 
  95. spriteset(canalrails_signals_2wayPBS_green, "gfx/_signals.png") {signals(0,8)} 
  96. spriteset(canalrails_signals_2wayPBS_red,   "gfx/_signals.png") {signals(0,9)} 
  97. spriteset(canalrails_signals_1wayPBS_green, "gfx/_signals.png") {signals(0,10)}
  98. spriteset(canalrails_signals_1wayPBS_red,   "gfx/_signals.png") {signals(0,11)}
  99.  
  100. spriteset(canalrails_bridge_surfaces_original, "gfx/_canalrails.png") {bridge_surfaces(0)} 
  101. spriteset(canalrails_bridge_surfaces_newbridges, "gfx/_canalrails.png") {bridge_surfaces(400)} 
  102.  
  103. spriteset(signals_block_green,  "gfx/_signals.png") {signals(300,0)}   
  104. spriteset(signals_block_red,    "gfx/_signals.png") {signals(300,1)}   
  105. spriteset(signals_entry_green,  "gfx/_signals.png") {signals(300,2)}   
  106. spriteset(signals_entry_red,    "gfx/_signals.png") {signals(300,3)}   
  107. spriteset(signals_exit_green,   "gfx/_signals.png") {signals(300,4)}   
  108. spriteset(signals_exit_red,     "gfx/_signals.png") {signals(300,5)}   
  109. spriteset(signals_combo_green,  "gfx/_signals.png") {signals(300,6)}   
  110. spriteset(signals_combo_red,    "gfx/_signals.png") {signals(300,7)}   
  111. spriteset(signals_2wayPBS_green, "gfx/_signals.png") {signals(300,8)}  
  112. spriteset(signals_2wayPBS_red,  "gfx/_signals.png") {signals(300,9)}   
  113. spriteset(signals_1wayPBS_green, "gfx/_signals.png") {signals(300,10)} 
  114. spriteset(signals_1wayPBS_red,  "gfx/_signals.png") {signals(300,11)}  
  115.  
  116.  
  117.  
  118.  
  119.  
  120. bridge_overlay_stuff = 0;
  121.  
  122. if (grf_future_status("\53\5A\05\01")) {
  123.     bridge_overlay_stuff = 1;
  124. }
  125. if (grf_future_status("\74\67\74\62")) {
  126.     bridge_overlay_stuff = 1;
  127. }
  128.  
  129. tunnel_stuff = 0;
  130. if (grf_future_status("\42\4B\54\62")) {
  131.     tunnel_stuff = 1;
  132. }
  133.  
  134. switch(FEAT_RAILTYPES, SELF, bridge_overlay_switch, bridge_overlay_stuff) {
  135.   1: canalrails_bridge_surfaces_newbridges;
  136.   canalrails_bridge_surfaces_original;
  137. }
  138.  
  139. switch(FEAT_RAILTYPES, SELF, tunnels_switch, tunnel_stuff) {
  140.   1: canalrails_tunnels_bk;
  141.   canalrails_tunnels;
  142. }
  143.  
  144.  
  145.  
  146. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_block, (extra_callback_info2 & 0x000000FF)) {
  147.     0: canalrails_signals_block_red;
  148.     1: canalrails_signals_block_green;
  149. }
  150. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_entry, (extra_callback_info2 & 0x000000FF)) {
  151.     0: canalrails_signals_entry_red;
  152.     1: canalrails_signals_entry_green;
  153. }
  154. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_exit, (extra_callback_info2 & 0x000000FF)) {
  155.     0: canalrails_signals_exit_red;
  156.     1: canalrails_signals_exit_green;
  157. }
  158. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_combo, (extra_callback_info2 & 0x000000FF)) {
  159.     0: canalrails_signals_combo_red;
  160.     1: canalrails_signals_combo_green;
  161. }
  162. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_2wayPBS, (extra_callback_info2 & 0x000000FF)) {
  163.     0: canalrails_signals_2wayPBS_red;
  164.     1: canalrails_signals_2wayPBS_green;
  165. }
  166. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_1wayPBS, (extra_callback_info2 & 0x000000FF)) {
  167.     0: canalrails_signals_1wayPBS_red;
  168.     1: canalrails_signals_1wayPBS_green;
  169. }
  170.  
  171. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_type, (extra_callback_info2 & 0x00FF0000) >> 16) {
  172.     0: canalrails_signal_switch_block;
  173.     1: canalrails_signal_switch_entry;
  174.     2: canalrails_signal_switch_exit;
  175.     3: canalrails_signal_switch_combo;
  176.     4: canalrails_signal_switch_2wayPBS;
  177.     5: canalrails_signal_switch_1wayPBS;
  178. }
  179.  
  180. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch, (extra_callback_info2 & 0x0000FF00) >> 8) {
  181.     1: canalrails_signal_switch_type; //semaphore
  182.     0: canalrails_signal_switch_type;
  183. }
  184.  
  185. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_nosemaphore, (extra_callback_info2 & 0x0000FF00) >> 8) {
  186.     0: canalrails_signal_switch_type;
  187. }
  188.  
  189. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_nomodern, (extra_callback_info2 & 0x0000FF00) >> 8) {
  190.     1: canalrails_signal_switch_type;
  191. }
  192.  
  193. switch(FEAT_RAILTYPES, SELF, canalrails_signal_switch_none, (extra_callback_info2 & 0x0000FF00) >> 8) {
  194. }
  195.  
  196.  
  197.  
  198. switch(FEAT_RAILTYPES, SELF, signal_switch_block, (extra_callback_info2 & 0x000000FF)) {
  199.     0: signals_block_red;
  200.     1: signals_block_green;
  201. }
  202. switch(FEAT_RAILTYPES, SELF, signal_switch_entry, (extra_callback_info2 & 0x000000FF)) {
  203.     0: signals_entry_red;
  204.     1: signals_entry_green;
  205. }
  206. switch(FEAT_RAILTYPES, SELF, signal_switch_exit, (extra_callback_info2 & 0x000000FF)) {
  207.     0: signals_exit_red;
  208.     1: signals_exit_green;
  209. }
  210. switch(FEAT_RAILTYPES, SELF, signal_switch_combo, (extra_callback_info2 & 0x000000FF)) {
  211.     0: signals_combo_red;
  212.     1: signals_combo_green;
  213. }
  214. switch(FEAT_RAILTYPES, SELF, signal_switch_2wayPBS, (extra_callback_info2 & 0x000000FF)) {
  215.     0: signals_2wayPBS_red;
  216.     1: signals_2wayPBS_green;
  217. }
  218. switch(FEAT_RAILTYPES, SELF, signal_switch_1wayPBS, (extra_callback_info2 & 0x000000FF)) {
  219.     0: signals_1wayPBS_red;
  220.     1: signals_1wayPBS_green;
  221. }
  222.  
  223. switch(FEAT_RAILTYPES, SELF, signal_switch_type, (extra_callback_info2 & 0x00FF0000) >> 16) {
  224.     0: signal_switch_block;
  225.     1: signal_switch_entry;
  226.     2: signal_switch_exit;
  227.     3: signal_switch_combo;
  228.     4: signal_switch_2wayPBS;
  229.     5: signal_switch_1wayPBS;
  230. }
  231.  
  232.  
  233.  
  234. switch(FEAT_RAILTYPES, SELF, signal_switch, (extra_callback_info2 & 0x0000FF00) >> 8) {
  235.     1: signal_switch_type; //semaphore
  236. }
  237.  
  238.  
  239. semaphore_signal_stuff = 1;
  240.  
  241. if (param_signals == 0){
  242.   if (grf_future_status("\56\42\05\05")) {
  243.     semaphore_signal_stuff = 0;
  244.   }
  245. }
  246. if (param_signals == 1){
  247.   semaphore_signal_stuff = 0;
  248. }
  249.  
  250. electric_wetr_signal_stuff = 1;
  251. if (param_wetr_signals == 0){
  252.   if (grf_future_status("\56\42\05\05")) {
  253.     electric_wetr_signal_stuff = 0;
  254.   }
  255. }
  256. if (param_wetr_signals == 1){
  257.   electric_wetr_signal_stuff = 0;
  258. }
  259.  
  260.  
  261. //RAILTYPES
  262. item (FEAT_RAILTYPES, rail, 1){
  263.   property{
  264.   label:                            "RAIL";
  265.   introduction_date:                date(1920,01,01);
  266.   name:                             string(STR_RAIL);
  267.   toolbar_caption:              string(STR_RAIL);
  268.   menu_text:                        string(STR_RAIL);
  269.   build_window_caption:         string(STR_RAIL);
  270.   autoreplace_text:             string(STR_RAIL);
  271.   new_engine_text:              string(STR_RAIL);
  272.   compatible_railtype_list:     ["UNIV", "RAIL", "ELRL","UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  273.   powered_railtype_list:            ["UNIV","UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  274.   /*curve_speed_multiplier:         1;
  275.   station_graphics:             RAILTYPE_STATION_NORMAL;
  276.   speed_limit:                  0km/h;
  277.   acceleration_model:               ACC_MODEL_RAIL;*/
  278.   sort_order: 07;
  279.   }
  280. }
  281. if (semaphore_signal_stuff == 1) {
  282.   item (FEAT_RAILTYPES, rail, 1){
  283.     graphics{
  284.     signals: signal_switch;
  285.     }
  286.   }
  287. }
  288.  
  289. item (FEAT_RAILTYPES, elrl, 2){
  290.   property{
  291.   label:                            "ELRL";
  292.   introduction_date:                date(1920,01,01);
  293.   name:                             string(STR_ELRL);
  294.   toolbar_caption:              string(STR_ELRL);
  295.   menu_text:                        string(STR_ELRL);
  296.   build_window_caption:         string(STR_ELRL);
  297.   autoreplace_text:             string(STR_ELRL);
  298.   new_engine_text:              string(STR_ELRL);
  299.   compatible_railtype_list:     ["UNIV", "RAIL", "ELRL","UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  300.   powered_railtype_list:            ["UNIV", "ELRL","UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  301.   /*curve_speed_multiplier:         1;
  302.   station_graphics:             RAILTYPE_STATION_NORMAL;
  303.   speed_limit:                  0km/h;
  304.   acceleration_model:               ACC_MODEL_RAIL;*/
  305.   sort_order: 17;
  306.   }
  307. }
  308. if (semaphore_signal_stuff == 1) {
  309.   item (FEAT_RAILTYPES, elrl, 2){
  310.     graphics{
  311.     signals: signal_switch;
  312.     }
  313.   }
  314. }
  315.  
  316.  
  317. item (FEAT_RAILTYPES, mono, 3){
  318.   property{
  319.   label:                            "MONO";
  320.   introduction_date:                date(1987,01,01);
  321.   name:                             string(STR_MONO);
  322.   toolbar_caption:              string(STR_MONO);
  323.   menu_text:                        string(STR_MONO);
  324.   build_window_caption:         string(STR_MONO);
  325.   autoreplace_text:             string(STR_MONO);
  326.   new_engine_text:              string(STR_MONO);
  327.   compatible_railtype_list:     ["UNIV", "MONO","UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  328.   powered_railtype_list:            ["UNIV", "MONO","UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  329.   /*station_graphics:               RAILTYPE_STATION_MONORAIL;
  330.   speed_limit:                  0km/h;
  331.   acceleration_model:               ACC_MODEL_RAIL;*/
  332.   sort_order: 27;
  333.   }
  334. }
  335. if (semaphore_signal_stuff == 1) {
  336.   item (FEAT_RAILTYPES, mono, 3){
  337.     graphics{
  338.     signals: signal_switch;
  339.     }
  340.   }
  341. }
  342.  
  343. item (FEAT_RAILTYPES, mglv, 4){
  344.   property{
  345.   label:                            "MGLV";
  346.   introduction_date:                date(1997,01,01);
  347.   name:                             string(STR_MGLV);
  348.   toolbar_caption:              string(STR_MGLV);
  349.   menu_text:                        string(STR_MGLV);
  350.   build_window_caption:         string(STR_MGLV);
  351.   autoreplace_text:             string(STR_MGLV);
  352.   new_engine_text:              string(STR_MGLV);
  353.   compatible_railtype_list:     ["UNIV", "MGLV","UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  354.   powered_railtype_list:            ["UNIV", "MGLV", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  355.   sort_order: 37;
  356.   }
  357. }
  358. if (semaphore_signal_stuff == 1) {
  359.   item (FEAT_RAILTYPES, mglv, 4){
  360.     graphics{
  361.     signals: signal_switch;
  362.     }
  363.   }
  364. }
  365.  
  366. /*
  367. item (FEAT_RAILTYPES, universalrail, 15){
  368. property{
  369. label:                          "UNIV";
  370. introduction_date:              date(1950,01,01);
  371. name:                           string(STR_UNIV);
  372. toolbar_caption:                string(STR_UNIV);
  373. menu_text:                      string(STR_UNIV);
  374. build_window_caption:           string(STR_UNIV);
  375. autoreplace_text:               string(STR_UNIV);
  376. new_engine_text:                string(STR_UNIV);
  377. compatible_railtype_list:       ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR","UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  378. powered_railtype_list:          ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR","UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  379. curve_speed_multiplier:         0;
  380. sort_order: 255;
  381. construction_cost: 200;
  382. }
  383. }
  384. */
  385.  
  386. item (FEAT_RAILTYPES, wetrails, 12){
  387. property{
  388. label:                          "WETR";
  389. introduction_date:              date(1950,01,01);
  390. name:                           string(STR_WETR);
  391. toolbar_caption:                string(STR_WETR);
  392. menu_text:                      string(STR_WETR);
  393. build_window_caption:           string(STR_WETR);
  394. autoreplace_text:               string(STR_WETR);
  395. new_engine_text:                string(STR_WETR);
  396. compatible_railtype_list:       ["WETR", "UNIV", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  397. powered_railtype_list:          ["WETR", "UNIV", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  398. sort_order: 47;
  399. speed_limit: 121 km/h;
  400. }
  401. graphics{
  402. track_overlay: canalrails_overlays;
  403. underlay: canalrails_underlays;
  404. tunnels: tunnels_switch;
  405. bridge_surfaces: bridge_overlay_switch;
  406. level_crossings: canalrails_road_crossing;
  407. signals: canalrails_signal_switch_none;
  408. }
  409. }
  410. if (semaphore_signal_stuff == 1) {
  411.   if (electric_wetr_signal_stuff == 0){
  412.     item (FEAT_RAILTYPES, wetrails, 12){
  413.       graphics{
  414.       signals: canalrails_signal_switch_nomodern;
  415.       }
  416.     }
  417.   }
  418. }
  419. if (semaphore_signal_stuff == 0) {
  420.   if (electric_wetr_signal_stuff == 1){
  421.     item (FEAT_RAILTYPES, wetrails, 12){
  422.       graphics{
  423.       signals: canalrails_signal_switch_nosemaphore;
  424.       }
  425.     }
  426.   }
  427. }
  428. if (semaphore_signal_stuff == 1) {
  429.   if (electric_wetr_signal_stuff == 1){
  430.     item (FEAT_RAILTYPES, wetrails, 12){
  431.       graphics{
  432.       signals: canalrails_signal_switch;
  433.       }
  434.     }
  435.   }
  436. }
  437.  
  438. //------------------------------------------------------------------------------------------------------------------------------------------------
  439. //
  440. //------------------------------------------------------------------------------------------------------------------------------------------------
  441.  
  442. spriteset(univrail1_overlays, "gfx/_univrail1.png") {overlay()}
  443. spriteset(univrail1_underlays, "gfx/_univrail1.png") {underlay()}  
  444. spriteset(univrail1_tunnels, "gfx/_univrail1.png") {tunnels(0)}
  445. spriteset(univrail1_tunnels_bk, "gfx/_univrail1.png") {tunnels(1)} 
  446. spriteset(univrail1_road_crossing, "gfx/_univrail1.png") {road_crossing()}
  447.  
  448. spriteset(univrail1_bridge_surfaces_original, "gfx/_univrail1.png") {bridge_surfaces(0)}   
  449. spriteset(univrail1_bridge_surfaces_newbridges, "gfx/_univrail1.png") {bridge_surfaces(400)}   
  450.  
  451.  
  452. bridge_overlay_stuff1 = 0;
  453.  
  454. if (grf_future_status("\53\5A\05\01")) {
  455.     bridge_overlay_stuff1 = 1;
  456. }
  457. if (grf_future_status("\74\67\74\62")) {
  458.     bridge_overlay_stuff1 = 1;
  459. }
  460.  
  461. tunnel_stuff1 = 0;
  462. if (grf_future_status("\42\4B\54\62")) {
  463.     tunnel_stuff1 = 1;
  464. }  
  465.  
  466. switch(FEAT_RAILTYPES, SELF, univrail1_bridge_overlay_switch, bridge_overlay_stuff1) {
  467.   1: univrail1_bridge_surfaces_newbridges;
  468.   univrail1_bridge_surfaces_original;
  469. }
  470.  
  471. switch(FEAT_RAILTYPES, SELF, univrail1_tunnels_switch, tunnel_stuff1) {
  472.   1: univrail1_tunnels_bk;
  473.   univrail1_tunnels;
  474. }
  475.    
  476. //------------------------------------------------------------------------------------------------------------------------------------------------
  477. //
  478. //------------------------------------------------------------------------------------------------------------------------------------------------
  479.  
  480. spriteset(univrail2_overlays, "gfx/_univrail2.png") {overlay()}
  481. spriteset(univrail2_underlays, "gfx/_univrail2.png") {underlay()}  
  482. spriteset(univrail2_tunnels, "gfx/_univrail2.png") {tunnels(0)}
  483. spriteset(univrail2_tunnels_bk, "gfx/_univrail2.png") {tunnels(1)} 
  484. spriteset(univrail2_road_crossing, "gfx/_univrail2.png") {road_crossing()}
  485.  
  486. spriteset(univrail2_bridge_surfaces_original, "gfx/_univrail2.png") {bridge_surfaces(0)}   
  487. spriteset(univrail2_bridge_surfaces_newbridges, "gfx/_univrail2.png") {bridge_surfaces(400)}   
  488.  
  489. bridge_overlay_stuff2 = 0;
  490.  
  491. if (grf_future_status("\53\5A\05\01")) {
  492.     bridge_overlay_stuff2 = 1;
  493. }
  494. if (grf_future_status("\74\67\74\62")) {
  495.     bridge_overlay_stuff2 = 1;
  496. }
  497.  
  498. tunnel_stuff2 = 0;
  499. if (grf_future_status("\42\4B\54\62")) {
  500.     tunnel_stuff2 = 1;
  501. }  
  502.  
  503. switch(FEAT_RAILTYPES, SELF, univrail2_bridge_overlay_switch, bridge_overlay_stuff2) {
  504.   1: univrail2_bridge_surfaces_newbridges;
  505.   univrail2_bridge_surfaces_original;
  506. }
  507.  
  508. switch(FEAT_RAILTYPES, SELF, univrail2_tunnels_switch, tunnel_stuff2) {
  509.   1: univrail2_tunnels_bk;
  510.   univrail2_tunnels;
  511. }  
  512.    
  513. //------------------------------------------------------------------------------------------------------------------------------------------------
  514. //
  515. //------------------------------------------------------------------------------------------------------------------------------------------------
  516.  
  517. spriteset(univrail3_overlays, "gfx/_univrail3.png") {overlay()}
  518. spriteset(univrail3_underlays, "gfx/_univrail3.png") {underlay()}  
  519. spriteset(univrail3_tunnels, "gfx/_univrail3.png") {tunnels(0)}
  520. spriteset(univrail3_tunnels_bk, "gfx/_univrail3.png") {tunnels(1)} 
  521. spriteset(univrail3_road_crossing, "gfx/_univrail3.png") {road_crossing()}
  522.  
  523. spriteset(univrail3_bridge_surfaces_original, "gfx/_univrail3.png") {bridge_surfaces(0)}   
  524. spriteset(univrail3_bridge_surfaces_newbridges, "gfx/_univrail3.png") {bridge_surfaces(400)}   
  525.  
  526. bridge_overlay_stuff3 = 0;
  527.  
  528. if (grf_future_status("\53\5A\05\01")) {
  529.     bridge_overlay_stuff3 = 1;
  530. }
  531. if (grf_future_status("\74\67\74\62")) {
  532.     bridge_overlay_stuff3 = 1;
  533. }
  534.  
  535. tunnel_stuff3 = 0;
  536. if (grf_future_status("\42\4B\54\62")) {
  537.     tunnel_stuff3 = 1;
  538. }  
  539.  
  540. switch(FEAT_RAILTYPES, SELF, univrail3_bridge_overlay_switch, bridge_overlay_stuff3) {
  541.   1: univrail3_bridge_surfaces_newbridges;
  542.   univrail3_bridge_surfaces_original;
  543. }
  544.  
  545. switch(FEAT_RAILTYPES, SELF, univrail3_tunnels_switch, tunnel_stuff3) {
  546.   1: univrail3_tunnels_bk;
  547.   univrail3_tunnels;
  548. }
  549.  
  550. //------------------------------------------------------------------------------------------------------------------------------------------------
  551. //
  552. //------------------------------------------------------------------------------------------------------------------------------------------------
  553.  
  554. spriteset(univrail4_overlays, "gfx/_univrail4.png") {overlay()}
  555. spriteset(univrail4_underlays, "gfx/_univrail4.png") {underlay()}  
  556. spriteset(univrail4_tunnels, "gfx/_univrail4.png") {tunnels(0)}
  557. spriteset(univrail4_tunnels_bk, "gfx/_univrail4.png") {tunnels(1)} 
  558. spriteset(univrail4_road_crossing, "gfx/_univrail4.png") {road_crossing()}
  559.  
  560. spriteset(univrail4_bridge_surfaces_original, "gfx/_univrail4.png") {bridge_surfaces(0)}   
  561. spriteset(univrail4_bridge_surfaces_newbridges, "gfx/_univrail4.png") {bridge_surfaces(400)}   
  562.  
  563. bridge_overlay_stuff4 = 0;
  564.  
  565. if (grf_future_status("\53\5A\05\01")) {
  566.     bridge_overlay_stuff4 = 1;
  567. }
  568. if (grf_future_status("\74\67\74\62")) {
  569.     bridge_overlay_stuff4 = 1;
  570. }
  571.  
  572. tunnel_stuff4 = 0;
  573. if (grf_future_status("\42\4B\54\62")) {
  574.     tunnel_stuff4 = 1;
  575. }  
  576.  
  577. switch(FEAT_RAILTYPES, SELF, univrail4_bridge_overlay_switch, bridge_overlay_stuff4) {
  578.   1: univrail4_bridge_surfaces_newbridges;
  579.   univrail4_bridge_surfaces_original;
  580. }
  581.  
  582. switch(FEAT_RAILTYPES, SELF, univrail4_tunnels_switch, tunnel_stuff4) {
  583.   1: univrail4_tunnels_bk;
  584.   univrail4_tunnels;
  585. }
  586.  
  587. //------------------------------------------------------------------------------------------------------------------------------------------------
  588. //
  589. //------------------------------------------------------------------------------------------------------------------------------------------------
  590.  
  591. spriteset(univrail5_overlays, "gfx/_univrail5.png") {overlay()}
  592. spriteset(univrail5_underlays, "gfx/_univrail5.png") {underlay()}  
  593. spriteset(univrail5_tunnels, "gfx/_univrail5.png") {tunnels(0)}
  594. spriteset(univrail5_tunnels_bk, "gfx/_univrail5.png") {tunnels(1)} 
  595. spriteset(univrail5_road_crossing, "gfx/_univrail5.png") {road_crossing()}
  596.  
  597. spriteset(univrail5_bridge_surfaces_original, "gfx/_univrail5.png") {bridge_surfaces(0)}   
  598. spriteset(univrail5_bridge_surfaces_newbridges, "gfx/_univrail5.png") {bridge_surfaces(400)}   
  599.  
  600.  
  601. bridge_overlay_stuff5 = 0;
  602.  
  603. if (grf_future_status("\53\5A\05\01")) {
  604.     bridge_overlay_stuff5 = 1;
  605. }
  606. if (grf_future_status("\74\67\74\62")) {
  607.     bridge_overlay_stuff5= 1;
  608. }
  609.  
  610. tunnel_stuff5 = 0;
  611. if (grf_future_status("\42\4B\54\62")) {
  612.     tunnel_stuff5 = 1;
  613. }  
  614.  
  615. switch(FEAT_RAILTYPES, SELF, univrail5_bridge_overlay_switch, bridge_overlay_stuff5) {
  616.   1: univrail5_bridge_surfaces_newbridges;
  617.   univrail5_bridge_surfaces_original;
  618. }
  619.  
  620. switch(FEAT_RAILTYPES, SELF, univrail5_tunnels_switch, tunnel_stuff5) {
  621.   1: univrail5_tunnels_bk;
  622.   univrail5_tunnels;
  623. }
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630. //------------------------------------------------------------------------------------------------------------------------------------------------
  631. //
  632. //------------------------------------------------------------------------------------------------------------------------------------------------
  633.  
  634. //CLEAN
  635. item (FEAT_RAILTYPES, univrail1, 6){
  636. property{
  637. label:                          "UNI1";
  638. introduction_date:              date(0,01,01);
  639. name:                           string(STR_UNI1);
  640. toolbar_caption:                string(STR_UNI1);
  641. menu_text:                      string(STR_UNI1);
  642. build_window_caption:           string(STR_UNI1);
  643. autoreplace_text:               string(STR_UNI1);
  644. new_engine_text:                string(STR_UNI1);
  645. compatible_railtype_list:       ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  646. powered_railtype_list:          ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  647. curve_speed_multiplier:         0;
  648. sort_order: 200;
  649. construction_cost: 20;
  650. station_graphics:    RAILTYPE_STATION_NORMAL;
  651. }
  652. graphics{
  653. track_overlay: univrail1_overlays;
  654. underlay: univrail1_underlays;
  655. tunnels: univrail1_tunnels_switch;
  656. bridge_surfaces: univrail1_bridge_overlay_switch;
  657. level_crossings: univrail1_road_crossing;
  658. }
  659. }
  660.  
  661. if (semaphore_signal_stuff == 1) {
  662.   item (FEAT_RAILTYPES, univrail1, 6){
  663.     graphics{
  664.     signals: signal_switch;
  665.     }
  666.   }
  667. }
  668.  
  669. //YELLOW
  670. item (FEAT_RAILTYPES, univrail2, 7){
  671. property{
  672. label:                          "UNI2";
  673. introduction_date:              date(0,01,01);
  674. name:                           string(STR_UNI2);
  675. toolbar_caption:                string(STR_UNI2);
  676. menu_text:                      string(STR_UNI2);
  677. build_window_caption:           string(STR_UNI2);
  678. autoreplace_text:               string(STR_UNI2);
  679. new_engine_text:                string(STR_UNI2);
  680. compatible_railtype_list:       ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  681. powered_railtype_list:          ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  682. curve_speed_multiplier:         0;
  683. sort_order: 201;
  684. construction_cost: 35;
  685. station_graphics:    RAILTYPE_STATION_NORMAL;
  686. }
  687. graphics{
  688. track_overlay: univrail2_overlays;
  689. underlay: univrail2_underlays;
  690. tunnels: univrail2_tunnels_switch;
  691. bridge_surfaces: univrail2_bridge_overlay_switch;
  692. level_crossings: univrail2_road_crossing;
  693. }
  694. }
  695.  
  696. if (semaphore_signal_stuff == 1) {
  697.   item (FEAT_RAILTYPES, univrail2, 7){
  698.     graphics{
  699.     signals: signal_switch;
  700.     }
  701.   }
  702. }
  703.  
  704. //RED
  705. item (FEAT_RAILTYPES, univrail3, 8){
  706. property{
  707. label:                          "UNI3";
  708. introduction_date:              date(0,01,01);
  709. name:                           string(STR_UNI3);
  710. toolbar_caption:                string(STR_UNI3);
  711. menu_text:                      string(STR_UNI3);
  712. build_window_caption:           string(STR_UNI3);
  713. autoreplace_text:               string(STR_UNI3);
  714. new_engine_text:                string(STR_UNI3);
  715. compatible_railtype_list:       ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  716. powered_railtype_list:          ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  717. curve_speed_multiplier:         0;
  718. sort_order: 202;
  719. construction_cost: 35;
  720. station_graphics:    RAILTYPE_STATION_NORMAL;
  721. }
  722. graphics{
  723. track_overlay: univrail3_overlays;
  724. underlay: univrail3_underlays;
  725. tunnels: univrail3_tunnels_switch;
  726. bridge_surfaces: univrail3_bridge_overlay_switch;
  727. level_crossings: univrail3_road_crossing;
  728. }
  729. }
  730.  
  731. if (semaphore_signal_stuff == 1) {
  732.   item (FEAT_RAILTYPES, univrail3, 8){
  733.     graphics{
  734.     signals: signal_switch;
  735.     }
  736.   }
  737. }
  738.  
  739. //BLUE
  740. item (FEAT_RAILTYPES, univrail4, 9){
  741. property{
  742. label:                          "UNI4";
  743. introduction_date:              date(0,01,01);
  744. name:                           string(STR_UNI4);
  745. toolbar_caption:                string(STR_UNI4);
  746. menu_text:                      string(STR_UNI4);
  747. build_window_caption:           string(STR_UNI4);
  748. autoreplace_text:               string(STR_UNI4);
  749. new_engine_text:                string(STR_UNI4);
  750. compatible_railtype_list:       ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  751. powered_railtype_list:          ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  752. curve_speed_multiplier:         0;
  753. sort_order: 203;
  754. construction_cost: 35;
  755. station_graphics:    RAILTYPE_STATION_NORMAL;
  756. }
  757. graphics{
  758. track_overlay: univrail4_overlays;
  759. underlay: univrail4_underlays;
  760. tunnels: univrail4_tunnels_switch;
  761. bridge_surfaces: univrail4_bridge_overlay_switch;
  762. level_crossings: univrail4_road_crossing;
  763. }
  764. }
  765.  
  766. if (semaphore_signal_stuff == 1) {
  767.   item (FEAT_RAILTYPES, univrail4, 9){
  768.     graphics{
  769.     signals: signal_switch;
  770.     }
  771.   }
  772. }
  773.  
  774. //GREEN
  775. item (FEAT_RAILTYPES, univrail5, 10){
  776. property{
  777. label:                          "UNI5";
  778. introduction_date:              date(0,01,01);
  779. name:                           string(STR_UNI5);
  780. toolbar_caption:                string(STR_UNI5);
  781. menu_text:                      string(STR_UNI5);
  782. build_window_caption:           string(STR_UNI5);
  783. autoreplace_text:               string(STR_UNI5);
  784. new_engine_text:                string(STR_UNI5);
  785. compatible_railtype_list:       ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  786. powered_railtype_list:          ["UNIV", "RAIL", "ELRL", "MONO", "MGLV", "WETR", "UNI1", "UNI2","UNI3","UNI4","UNI5","UNI6","UNI7","UNI8"];
  787. curve_speed_multiplier:         0;
  788. sort_order: 204;
  789. construction_cost: 35;
  790. station_graphics:    RAILTYPE_STATION_NORMAL;
  791. }
  792. graphics{
  793. track_overlay: univrail5_overlays;
  794. underlay: univrail5_underlays;
  795. tunnels: univrail5_tunnels_switch;
  796. bridge_surfaces: univrail5_bridge_overlay_switch;
  797. level_crossings: univrail5_road_crossing;
  798. }
  799. }
  800.  
  801. if (semaphore_signal_stuff == 1) {
  802.   item (FEAT_RAILTYPES, univrail5, 10){
  803.     graphics{
  804.     signals: signal_switch;
  805.     }
  806.   }
  807. }

Comments