Loading

Paste #pvks9qe5u

  1. /* ******************************************************************
  2.  * Definition of the industry tile, its callbacks, and graphics chain
  3.  * ******************************************************************/
  4.             spriteset(assembly_plant_spriteset_0_0, "src/graphics/industries/groundtiles.png") {
  5.                     tmpl_ground_tile(80, 10)
  6.             }
  7.             spriteset(assembly_plant_spriteset_0_0_snow, "src/graphics/industries/groundtiles.png") {
  8.                     tmpl_ground_tile(220, 10)
  9.             }
  10.             spriteset(assembly_plant_spriteset_1_0, "src/graphics/industries/groundtiles.png") {
  11.                     tmpl_ground_tile(360, 10)
  12.             }
  13.             spriteset(assembly_plant_spriteset_1_0_snow, "src/graphics/industries/groundtiles.png") {
  14.                     tmpl_ground_tile(220, 10)
  15.             }
  16.             spriteset(assembly_plant_spriteset_2_0) {
  17.                         [10, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  18.             }
  19.             spriteset(assembly_plant_spriteset_2_0_snow) {
  20.                             [10, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  21.             }
  22.             spriteset(assembly_plant_spriteset_3_0) {
  23.                         [150, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  24.             }
  25.             spriteset(assembly_plant_spriteset_3_0_snow) {
  26.                             [150, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  27.             }
  28.             spriteset(assembly_plant_spriteset_4_0) {
  29.                         [220, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  30.             }
  31.             spriteset(assembly_plant_spriteset_4_0_snow) {
  32.                             [220, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  33.             }
  34.             spriteset(assembly_plant_spriteset_5_0) {
  35.                         [290, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  36.             }
  37.             spriteset(assembly_plant_spriteset_5_0_snow) {
  38.                             [290, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  39.             }
  40.             spriteset(assembly_plant_spriteset_6_0) {
  41.                         [360, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  42.             }
  43.             spriteset(assembly_plant_spriteset_6_0_snow) {
  44.                             [360, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  45.             }
  46.             spriteset(assembly_plant_spriteset_7_0) {
  47.                         [430, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  48.             }
  49.             spriteset(assembly_plant_spriteset_7_0_snow) {
  50.                             [430, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  51.             }
  52.             spriteset(assembly_plant_spriteset_8_0) {
  53.                         [500, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  54.             }
  55.             spriteset(assembly_plant_spriteset_8_0_snow) {
  56.                             [500, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  57.             }
  58.             spriteset(assembly_plant_spriteset_9_0) {
  59.                         [570, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  60.             }
  61.             spriteset(assembly_plant_spriteset_9_0_snow) {
  62.                             [570, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  63.             }
  64.             spriteset(assembly_plant_spriteset_10_0) {
  65.                         [640, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  66.             }
  67.             spriteset(assembly_plant_spriteset_10_0_snow) {
  68.                             [640, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  69.             }
  70.             spriteset(assembly_plant_spriteset_11_0) {
  71.                         [710, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  72.             }
  73.             spriteset(assembly_plant_spriteset_11_0_snow) {
  74.                             [710, 10, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  75.             }
  76.             spriteset(assembly_plant_spriteset_12_0) {
  77.                         [640, 100, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1.png"]
  78.             }
  79.             spriteset(assembly_plant_spriteset_12_0_snow) {
  80.                             [640, 100, 64, 80, -31, -49, ANIM | NOCROP, "src/graphics/industries/assembly_plant_1_snow.png"]
  81.             }
  82.         spritelayout assembly_plant_spritelayout_rear_assembly_hall_windows {
  83.             // Industry-specific ground (snow aware)
  84.             // non-snow
  85.             childsprite {
  86.                 sprite: assembly_plant_spriteset_0_0(0);
  87.                 recolour_mode: RECOLOUR_REMAP;
  88.                 palette: PALETTE_USE_DEFAULT;
  89.                 hide_sprite: (LOAD_TEMP(13));
  90.                 always_draw: 1;
  91.             }
  92.             childsprite {
  93.                 sprite: assembly_plant_spriteset_1_0(0);
  94.                 recolour_mode: RECOLOUR_REMAP;
  95.                 palette: PALETTE_USE_DEFAULT;
  96.                 hide_sprite: (LOAD_TEMP(13));
  97.                 always_draw: 1;
  98.             }
  99.             // snow
  100.             childsprite {
  101.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  102.                 recolour_mode: RECOLOUR_REMAP;
  103.                 palette: PALETTE_USE_DEFAULT;
  104.                 hide_sprite: (!LOAD_TEMP(13));
  105.                 always_draw: 1;
  106.             }
  107.             childsprite {
  108.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  109.                 recolour_mode: RECOLOUR_REMAP;
  110.                 palette: PALETTE_USE_DEFAULT;
  111.                 hide_sprite: (!LOAD_TEMP(13));
  112.                 always_draw: 1;
  113.             }
  114.                 // fences NE
  115.                 building {
  116.                     sprite: 1302 + LOAD_TEMP(1);
  117.                     hide_sprite: (LOAD_TEMP(9) == 0);
  118.                     xoffset:  0;
  119.                     yoffset:  0;
  120.                     zoffset:  LOAD_TEMP(5) * 8;
  121.                     xextent: 1;
  122.                     yextent: 16;
  123.                     zextent: 6;
  124.                     recolour_mode: RECOLOUR_REMAP;
  125.                     palette:       PALETTE_USE_DEFAULT;
  126.                 }
  127.                 // fences NW
  128.                 building {
  129.                     sprite: 1301 + LOAD_TEMP(2);
  130.                     hide_sprite: (LOAD_TEMP(10) == 0);
  131.                     xoffset:  0;
  132.                     yoffset:  0;
  133.                     zoffset:  LOAD_TEMP(6) * 8;
  134.                     xextent: 16;
  135.                     yextent: 1;
  136.                     zextent: 6;
  137.                     recolour_mode: RECOLOUR_REMAP;
  138.                     palette:       PALETTE_USE_DEFAULT;
  139.                 }
  140.                     // buildings (snow aware)
  141.                     building {
  142.                         sprite: assembly_plant_spriteset_2_0(0);
  143.                         recolour_mode: RECOLOUR_REMAP;
  144.                         palette: PALETTE_USE_DEFAULT;
  145.                         xoffset: 0;
  146.                         yoffset: 0;
  147.                         zoffset: 0;
  148.                         xextent: 16;
  149.                         yextent: 16;
  150.                         zextent: 32;
  151.                         always_draw: 0;
  152.                         hide_sprite: (LOAD_TEMP(255));
  153.                     }
  154.                     building {
  155.                         sprite: assembly_plant_spriteset_2_0_snow(0);
  156.                         recolour_mode: RECOLOUR_REMAP;
  157.                         palette: PALETTE_USE_DEFAULT;
  158.                         xoffset: 0;
  159.                         yoffset: 0;
  160.                         zoffset: 0;
  161.                         xextent: 16;
  162.                         yextent: 16;
  163.                         zextent: 32;
  164.                         always_draw: 0;
  165.                         hide_sprite: (LOAD_TEMP(245));
  166.                     }
  167.                 // fences SE
  168.                 building {
  169.                     sprite: 1301 + LOAD_TEMP(3);
  170.                     hide_sprite: (LOAD_TEMP(11) == 0);
  171.                     xoffset: 0;
  172.                     yoffset:  16;
  173.                     zoffset:  LOAD_TEMP(7) * 8;
  174.                     xextent: 16;
  175.                     yextent: 1;
  176.                     zextent: 6;
  177.                     recolour_mode: RECOLOUR_REMAP;
  178.                     palette:       PALETTE_USE_DEFAULT;
  179.                 }
  180.                 // fences SW
  181.                 building {
  182.                     sprite: 1302 + LOAD_TEMP(4);
  183.                     hide_sprite: (LOAD_TEMP(12) == 0);
  184.                     xoffset: 16;
  185.                     yoffset:  0;
  186.                     zoffset:  LOAD_TEMP(8) * 8;
  187.                     xextent: 1;
  188.                     yextent: 16;
  189.                     zextent: 6;
  190.                     recolour_mode: RECOLOUR_REMAP;
  191.                     palette:       PALETTE_USE_DEFAULT;
  192.                 }
  193.         }
  194.         spritelayout assembly_plant_spritelayout_central_assembly_hall {
  195.             // Industry-specific ground (snow aware)
  196.             // non-snow
  197.             childsprite {
  198.                 sprite: assembly_plant_spriteset_0_0(0);
  199.                 recolour_mode: RECOLOUR_REMAP;
  200.                 palette: PALETTE_USE_DEFAULT;
  201.                 hide_sprite: (LOAD_TEMP(13));
  202.                 always_draw: 1;
  203.             }
  204.             childsprite {
  205.                 sprite: assembly_plant_spriteset_1_0(0);
  206.                 recolour_mode: RECOLOUR_REMAP;
  207.                 palette: PALETTE_USE_DEFAULT;
  208.                 hide_sprite: (LOAD_TEMP(13));
  209.                 always_draw: 1;
  210.             }
  211.             // snow
  212.             childsprite {
  213.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  214.                 recolour_mode: RECOLOUR_REMAP;
  215.                 palette: PALETTE_USE_DEFAULT;
  216.                 hide_sprite: (!LOAD_TEMP(13));
  217.                 always_draw: 1;
  218.             }
  219.             childsprite {
  220.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  221.                 recolour_mode: RECOLOUR_REMAP;
  222.                 palette: PALETTE_USE_DEFAULT;
  223.                 hide_sprite: (!LOAD_TEMP(13));
  224.                 always_draw: 1;
  225.             }
  226.                 // fences NE
  227.                 building {
  228.                     sprite: 1302 + LOAD_TEMP(1);
  229.                     hide_sprite: (LOAD_TEMP(9) == 0);
  230.                     xoffset:  0;
  231.                     yoffset:  0;
  232.                     zoffset:  LOAD_TEMP(5) * 8;
  233.                     xextent: 1;
  234.                     yextent: 16;
  235.                     zextent: 6;
  236.                     recolour_mode: RECOLOUR_REMAP;
  237.                     palette:       PALETTE_USE_DEFAULT;
  238.                 }
  239.                 // fences NW
  240.                 building {
  241.                     sprite: 1301 + LOAD_TEMP(2);
  242.                     hide_sprite: (LOAD_TEMP(10) == 0);
  243.                     xoffset:  0;
  244.                     yoffset:  0;
  245.                     zoffset:  LOAD_TEMP(6) * 8;
  246.                     xextent: 16;
  247.                     yextent: 1;
  248.                     zextent: 6;
  249.                     recolour_mode: RECOLOUR_REMAP;
  250.                     palette:       PALETTE_USE_DEFAULT;
  251.                 }
  252.                     // buildings (snow aware)
  253.                     building {
  254.                         sprite: assembly_plant_spriteset_3_0(0);
  255.                         recolour_mode: RECOLOUR_REMAP;
  256.                         palette: PALETTE_USE_DEFAULT;
  257.                         xoffset: 0;
  258.                         yoffset: 0;
  259.                         zoffset: 0;
  260.                         xextent: 16;
  261.                         yextent: 16;
  262.                         zextent: 32;
  263.                         always_draw: 0;
  264.                         hide_sprite: (LOAD_TEMP(255));
  265.                     }
  266.                     building {
  267.                         sprite: assembly_plant_spriteset_3_0_snow(0);
  268.                         recolour_mode: RECOLOUR_REMAP;
  269.                         palette: PALETTE_USE_DEFAULT;
  270.                         xoffset: 0;
  271.                         yoffset: 0;
  272.                         zoffset: 0;
  273.                         xextent: 16;
  274.                         yextent: 16;
  275.                         zextent: 32;
  276.                         always_draw: 0;
  277.                         hide_sprite: (LOAD_TEMP(245));
  278.                     }
  279.                 // fences SE
  280.                 building {
  281.                     sprite: 1301 + LOAD_TEMP(3);
  282.                     hide_sprite: (LOAD_TEMP(11) == 0);
  283.                     xoffset: 0;
  284.                     yoffset:  16;
  285.                     zoffset:  LOAD_TEMP(7) * 8;
  286.                     xextent: 16;
  287.                     yextent: 1;
  288.                     zextent: 6;
  289.                     recolour_mode: RECOLOUR_REMAP;
  290.                     palette:       PALETTE_USE_DEFAULT;
  291.                 }
  292.                 // fences SW
  293.                 building {
  294.                     sprite: 1302 + LOAD_TEMP(4);
  295.                     hide_sprite: (LOAD_TEMP(12) == 0);
  296.                     xoffset: 16;
  297.                     yoffset:  0;
  298.                     zoffset:  LOAD_TEMP(8) * 8;
  299.                     xextent: 1;
  300.                     yextent: 16;
  301.                     zextent: 6;
  302.                     recolour_mode: RECOLOUR_REMAP;
  303.                     palette:       PALETTE_USE_DEFAULT;
  304.                 }
  305.         }
  306.         spritelayout assembly_plant_spritelayout_front_assembly_hall_windows {
  307.             // Industry-specific ground (snow aware)
  308.             // non-snow
  309.             childsprite {
  310.                 sprite: assembly_plant_spriteset_0_0(0);
  311.                 recolour_mode: RECOLOUR_REMAP;
  312.                 palette: PALETTE_USE_DEFAULT;
  313.                 hide_sprite: (LOAD_TEMP(13));
  314.                 always_draw: 1;
  315.             }
  316.             childsprite {
  317.                 sprite: assembly_plant_spriteset_1_0(0);
  318.                 recolour_mode: RECOLOUR_REMAP;
  319.                 palette: PALETTE_USE_DEFAULT;
  320.                 hide_sprite: (LOAD_TEMP(13));
  321.                 always_draw: 1;
  322.             }
  323.             // snow
  324.             childsprite {
  325.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  326.                 recolour_mode: RECOLOUR_REMAP;
  327.                 palette: PALETTE_USE_DEFAULT;
  328.                 hide_sprite: (!LOAD_TEMP(13));
  329.                 always_draw: 1;
  330.             }
  331.             childsprite {
  332.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  333.                 recolour_mode: RECOLOUR_REMAP;
  334.                 palette: PALETTE_USE_DEFAULT;
  335.                 hide_sprite: (!LOAD_TEMP(13));
  336.                 always_draw: 1;
  337.             }
  338.                 // fences NE
  339.                 building {
  340.                     sprite: 1302 + LOAD_TEMP(1);
  341.                     hide_sprite: (LOAD_TEMP(9) == 0);
  342.                     xoffset:  0;
  343.                     yoffset:  0;
  344.                     zoffset:  LOAD_TEMP(5) * 8;
  345.                     xextent: 1;
  346.                     yextent: 16;
  347.                     zextent: 6;
  348.                     recolour_mode: RECOLOUR_REMAP;
  349.                     palette:       PALETTE_USE_DEFAULT;
  350.                 }
  351.                 // fences NW
  352.                 building {
  353.                     sprite: 1301 + LOAD_TEMP(2);
  354.                     hide_sprite: (LOAD_TEMP(10) == 0);
  355.                     xoffset:  0;
  356.                     yoffset:  0;
  357.                     zoffset:  LOAD_TEMP(6) * 8;
  358.                     xextent: 16;
  359.                     yextent: 1;
  360.                     zextent: 6;
  361.                     recolour_mode: RECOLOUR_REMAP;
  362.                     palette:       PALETTE_USE_DEFAULT;
  363.                 }
  364.                     // buildings (snow aware)
  365.                     building {
  366.                         sprite: assembly_plant_spriteset_4_0(0);
  367.                         recolour_mode: RECOLOUR_REMAP;
  368.                         palette: PALETTE_USE_DEFAULT;
  369.                         xoffset: 0;
  370.                         yoffset: 0;
  371.                         zoffset: 0;
  372.                         xextent: 16;
  373.                         yextent: 16;
  374.                         zextent: 32;
  375.                         always_draw: 0;
  376.                         hide_sprite: (LOAD_TEMP(255));
  377.                     }
  378.                     building {
  379.                         sprite: assembly_plant_spriteset_4_0_snow(0);
  380.                         recolour_mode: RECOLOUR_REMAP;
  381.                         palette: PALETTE_USE_DEFAULT;
  382.                         xoffset: 0;
  383.                         yoffset: 0;
  384.                         zoffset: 0;
  385.                         xextent: 16;
  386.                         yextent: 16;
  387.                         zextent: 32;
  388.                         always_draw: 0;
  389.                         hide_sprite: (LOAD_TEMP(245));
  390.                     }
  391.                 // fences SE
  392.                 building {
  393.                     sprite: 1301 + LOAD_TEMP(3);
  394.                     hide_sprite: (LOAD_TEMP(11) == 0);
  395.                     xoffset: 0;
  396.                     yoffset:  16;
  397.                     zoffset:  LOAD_TEMP(7) * 8;
  398.                     xextent: 16;
  399.                     yextent: 1;
  400.                     zextent: 6;
  401.                     recolour_mode: RECOLOUR_REMAP;
  402.                     palette:       PALETTE_USE_DEFAULT;
  403.                 }
  404.                 // fences SW
  405.                 building {
  406.                     sprite: 1302 + LOAD_TEMP(4);
  407.                     hide_sprite: (LOAD_TEMP(12) == 0);
  408.                     xoffset: 16;
  409.                     yoffset:  0;
  410.                     zoffset:  LOAD_TEMP(8) * 8;
  411.                     xextent: 1;
  412.                     yextent: 16;
  413.                     zextent: 6;
  414.                     recolour_mode: RECOLOUR_REMAP;
  415.                     palette:       PALETTE_USE_DEFAULT;
  416.                 }
  417.         }
  418.         spritelayout assembly_plant_spritelayout_front_assembly_hall_doors {
  419.             // Industry-specific ground (snow aware)
  420.             // non-snow
  421.             childsprite {
  422.                 sprite: assembly_plant_spriteset_0_0(0);
  423.                 recolour_mode: RECOLOUR_REMAP;
  424.                 palette: PALETTE_USE_DEFAULT;
  425.                 hide_sprite: (LOAD_TEMP(13));
  426.                 always_draw: 1;
  427.             }
  428.             childsprite {
  429.                 sprite: assembly_plant_spriteset_1_0(0);
  430.                 recolour_mode: RECOLOUR_REMAP;
  431.                 palette: PALETTE_USE_DEFAULT;
  432.                 hide_sprite: (LOAD_TEMP(13));
  433.                 always_draw: 1;
  434.             }
  435.             // snow
  436.             childsprite {
  437.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  438.                 recolour_mode: RECOLOUR_REMAP;
  439.                 palette: PALETTE_USE_DEFAULT;
  440.                 hide_sprite: (!LOAD_TEMP(13));
  441.                 always_draw: 1;
  442.             }
  443.             childsprite {
  444.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  445.                 recolour_mode: RECOLOUR_REMAP;
  446.                 palette: PALETTE_USE_DEFAULT;
  447.                 hide_sprite: (!LOAD_TEMP(13));
  448.                 always_draw: 1;
  449.             }
  450.                 // fences NE
  451.                 building {
  452.                     sprite: 1302 + LOAD_TEMP(1);
  453.                     hide_sprite: (LOAD_TEMP(9) == 0);
  454.                     xoffset:  0;
  455.                     yoffset:  0;
  456.                     zoffset:  LOAD_TEMP(5) * 8;
  457.                     xextent: 1;
  458.                     yextent: 16;
  459.                     zextent: 6;
  460.                     recolour_mode: RECOLOUR_REMAP;
  461.                     palette:       PALETTE_USE_DEFAULT;
  462.                 }
  463.                 // fences NW
  464.                 building {
  465.                     sprite: 1301 + LOAD_TEMP(2);
  466.                     hide_sprite: (LOAD_TEMP(10) == 0);
  467.                     xoffset:  0;
  468.                     yoffset:  0;
  469.                     zoffset:  LOAD_TEMP(6) * 8;
  470.                     xextent: 16;
  471.                     yextent: 1;
  472.                     zextent: 6;
  473.                     recolour_mode: RECOLOUR_REMAP;
  474.                     palette:       PALETTE_USE_DEFAULT;
  475.                 }
  476.                     // buildings (snow aware)
  477.                     building {
  478.                         sprite: assembly_plant_spriteset_5_0(0);
  479.                         recolour_mode: RECOLOUR_REMAP;
  480.                         palette: PALETTE_USE_DEFAULT;
  481.                         xoffset: 0;
  482.                         yoffset: 0;
  483.                         zoffset: 0;
  484.                         xextent: 16;
  485.                         yextent: 16;
  486.                         zextent: 32;
  487.                         always_draw: 0;
  488.                         hide_sprite: (LOAD_TEMP(255));
  489.                     }
  490.                     building {
  491.                         sprite: assembly_plant_spriteset_5_0_snow(0);
  492.                         recolour_mode: RECOLOUR_REMAP;
  493.                         palette: PALETTE_USE_DEFAULT;
  494.                         xoffset: 0;
  495.                         yoffset: 0;
  496.                         zoffset: 0;
  497.                         xextent: 16;
  498.                         yextent: 16;
  499.                         zextent: 32;
  500.                         always_draw: 0;
  501.                         hide_sprite: (LOAD_TEMP(245));
  502.                     }
  503.                 // fences SE
  504.                 building {
  505.                     sprite: 1301 + LOAD_TEMP(3);
  506.                     hide_sprite: (LOAD_TEMP(11) == 0);
  507.                     xoffset: 0;
  508.                     yoffset:  16;
  509.                     zoffset:  LOAD_TEMP(7) * 8;
  510.                     xextent: 16;
  511.                     yextent: 1;
  512.                     zextent: 6;
  513.                     recolour_mode: RECOLOUR_REMAP;
  514.                     palette:       PALETTE_USE_DEFAULT;
  515.                 }
  516.                 // fences SW
  517.                 building {
  518.                     sprite: 1302 + LOAD_TEMP(4);
  519.                     hide_sprite: (LOAD_TEMP(12) == 0);
  520.                     xoffset: 16;
  521.                     yoffset:  0;
  522.                     zoffset:  LOAD_TEMP(8) * 8;
  523.                     xextent: 1;
  524.                     yextent: 16;
  525.                     zextent: 6;
  526.                     recolour_mode: RECOLOUR_REMAP;
  527.                     palette:       PALETTE_USE_DEFAULT;
  528.                 }
  529.         }
  530.         spritelayout assembly_plant_spritelayout_goods_in_1 {
  531.             // Industry-specific ground (snow aware)
  532.             // non-snow
  533.             childsprite {
  534.                 sprite: assembly_plant_spriteset_0_0(0);
  535.                 recolour_mode: RECOLOUR_REMAP;
  536.                 palette: PALETTE_USE_DEFAULT;
  537.                 hide_sprite: (LOAD_TEMP(13));
  538.                 always_draw: 1;
  539.             }
  540.             childsprite {
  541.                 sprite: assembly_plant_spriteset_1_0(0);
  542.                 recolour_mode: RECOLOUR_REMAP;
  543.                 palette: PALETTE_USE_DEFAULT;
  544.                 hide_sprite: (LOAD_TEMP(13));
  545.                 always_draw: 1;
  546.             }
  547.             // snow
  548.             childsprite {
  549.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  550.                 recolour_mode: RECOLOUR_REMAP;
  551.                 palette: PALETTE_USE_DEFAULT;
  552.                 hide_sprite: (!LOAD_TEMP(13));
  553.                 always_draw: 1;
  554.             }
  555.             childsprite {
  556.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  557.                 recolour_mode: RECOLOUR_REMAP;
  558.                 palette: PALETTE_USE_DEFAULT;
  559.                 hide_sprite: (!LOAD_TEMP(13));
  560.                 always_draw: 1;
  561.             }
  562.                 // fences NE
  563.                 building {
  564.                     sprite: 1302 + LOAD_TEMP(1);
  565.                     hide_sprite: (LOAD_TEMP(9) == 0);
  566.                     xoffset:  0;
  567.                     yoffset:  0;
  568.                     zoffset:  LOAD_TEMP(5) * 8;
  569.                     xextent: 1;
  570.                     yextent: 16;
  571.                     zextent: 6;
  572.                     recolour_mode: RECOLOUR_REMAP;
  573.                     palette:       PALETTE_USE_DEFAULT;
  574.                 }
  575.                 // fences NW
  576.                 building {
  577.                     sprite: 1301 + LOAD_TEMP(2);
  578.                     hide_sprite: (LOAD_TEMP(10) == 0);
  579.                     xoffset:  0;
  580.                     yoffset:  0;
  581.                     zoffset:  LOAD_TEMP(6) * 8;
  582.                     xextent: 16;
  583.                     yextent: 1;
  584.                     zextent: 6;
  585.                     recolour_mode: RECOLOUR_REMAP;
  586.                     palette:       PALETTE_USE_DEFAULT;
  587.                 }
  588.                     // buildings (snow aware)
  589.                     building {
  590.                         sprite: assembly_plant_spriteset_6_0(0);
  591.                         recolour_mode: RECOLOUR_REMAP;
  592.                         palette: PALETTE_USE_DEFAULT;
  593.                         xoffset: 0;
  594.                         yoffset: 0;
  595.                         zoffset: 0;
  596.                         xextent: 16;
  597.                         yextent: 16;
  598.                         zextent: 32;
  599.                         always_draw: 0;
  600.                         hide_sprite: (LOAD_TEMP(255));
  601.                     }
  602.                     building {
  603.                         sprite: assembly_plant_spriteset_6_0_snow(0);
  604.                         recolour_mode: RECOLOUR_REMAP;
  605.                         palette: PALETTE_USE_DEFAULT;
  606.                         xoffset: 0;
  607.                         yoffset: 0;
  608.                         zoffset: 0;
  609.                         xextent: 16;
  610.                         yextent: 16;
  611.                         zextent: 32;
  612.                         always_draw: 0;
  613.                         hide_sprite: (LOAD_TEMP(245));
  614.                     }
  615.                 // fences SE
  616.                 building {
  617.                     sprite: 1301 + LOAD_TEMP(3);
  618.                     hide_sprite: (LOAD_TEMP(11) == 0);
  619.                     xoffset: 0;
  620.                     yoffset:  16;
  621.                     zoffset:  LOAD_TEMP(7) * 8;
  622.                     xextent: 16;
  623.                     yextent: 1;
  624.                     zextent: 6;
  625.                     recolour_mode: RECOLOUR_REMAP;
  626.                     palette:       PALETTE_USE_DEFAULT;
  627.                 }
  628.                 // fences SW
  629.                 building {
  630.                     sprite: 1302 + LOAD_TEMP(4);
  631.                     hide_sprite: (LOAD_TEMP(12) == 0);
  632.                     xoffset: 16;
  633.                     yoffset:  0;
  634.                     zoffset:  LOAD_TEMP(8) * 8;
  635.                     xextent: 1;
  636.                     yextent: 16;
  637.                     zextent: 6;
  638.                     recolour_mode: RECOLOUR_REMAP;
  639.                     palette:       PALETTE_USE_DEFAULT;
  640.                 }
  641.         }
  642.         spritelayout assembly_plant_spritelayout_offices {
  643.             // Industry-specific ground (snow aware)
  644.             // non-snow
  645.             childsprite {
  646.                 sprite: assembly_plant_spriteset_0_0(0);
  647.                 recolour_mode: RECOLOUR_REMAP;
  648.                 palette: PALETTE_USE_DEFAULT;
  649.                 hide_sprite: (LOAD_TEMP(13));
  650.                 always_draw: 1;
  651.             }
  652.             childsprite {
  653.                 sprite: assembly_plant_spriteset_1_0(0);
  654.                 recolour_mode: RECOLOUR_REMAP;
  655.                 palette: PALETTE_USE_DEFAULT;
  656.                 hide_sprite: (LOAD_TEMP(13));
  657.                 always_draw: 1;
  658.             }
  659.             // snow
  660.             childsprite {
  661.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  662.                 recolour_mode: RECOLOUR_REMAP;
  663.                 palette: PALETTE_USE_DEFAULT;
  664.                 hide_sprite: (!LOAD_TEMP(13));
  665.                 always_draw: 1;
  666.             }
  667.             childsprite {
  668.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  669.                 recolour_mode: RECOLOUR_REMAP;
  670.                 palette: PALETTE_USE_DEFAULT;
  671.                 hide_sprite: (!LOAD_TEMP(13));
  672.                 always_draw: 1;
  673.             }
  674.                 // fences NE
  675.                 building {
  676.                     sprite: 1302 + LOAD_TEMP(1);
  677.                     hide_sprite: (LOAD_TEMP(9) == 0);
  678.                     xoffset:  0;
  679.                     yoffset:  0;
  680.                     zoffset:  LOAD_TEMP(5) * 8;
  681.                     xextent: 1;
  682.                     yextent: 16;
  683.                     zextent: 6;
  684.                     recolour_mode: RECOLOUR_REMAP;
  685.                     palette:       PALETTE_USE_DEFAULT;
  686.                 }
  687.                 // fences NW
  688.                 building {
  689.                     sprite: 1301 + LOAD_TEMP(2);
  690.                     hide_sprite: (LOAD_TEMP(10) == 0);
  691.                     xoffset:  0;
  692.                     yoffset:  0;
  693.                     zoffset:  LOAD_TEMP(6) * 8;
  694.                     xextent: 16;
  695.                     yextent: 1;
  696.                     zextent: 6;
  697.                     recolour_mode: RECOLOUR_REMAP;
  698.                     palette:       PALETTE_USE_DEFAULT;
  699.                 }
  700.                     // buildings (snow aware)
  701.                     building {
  702.                         sprite: assembly_plant_spriteset_8_0(0);
  703.                         recolour_mode: RECOLOUR_REMAP;
  704.                         palette: PALETTE_USE_DEFAULT;
  705.                         xoffset: 0;
  706.                         yoffset: 0;
  707.                         zoffset: 0;
  708.                         xextent: 16;
  709.                         yextent: 16;
  710.                         zextent: 32;
  711.                         always_draw: 0;
  712.                         hide_sprite: (LOAD_TEMP(255));
  713.                     }
  714.                     building {
  715.                         sprite: assembly_plant_spriteset_8_0_snow(0);
  716.                         recolour_mode: RECOLOUR_REMAP;
  717.                         palette: PALETTE_USE_DEFAULT;
  718.                         xoffset: 0;
  719.                         yoffset: 0;
  720.                         zoffset: 0;
  721.                         xextent: 16;
  722.                         yextent: 16;
  723.                         zextent: 32;
  724.                         always_draw: 0;
  725.                         hide_sprite: (LOAD_TEMP(245));
  726.                     }
  727.                 // fences SE
  728.                 building {
  729.                     sprite: 1301 + LOAD_TEMP(3);
  730.                     hide_sprite: (LOAD_TEMP(11) == 0);
  731.                     xoffset: 0;
  732.                     yoffset:  16;
  733.                     zoffset:  LOAD_TEMP(7) * 8;
  734.                     xextent: 16;
  735.                     yextent: 1;
  736.                     zextent: 6;
  737.                     recolour_mode: RECOLOUR_REMAP;
  738.                     palette:       PALETTE_USE_DEFAULT;
  739.                 }
  740.                 // fences SW
  741.                 building {
  742.                     sprite: 1302 + LOAD_TEMP(4);
  743.                     hide_sprite: (LOAD_TEMP(12) == 0);
  744.                     xoffset: 16;
  745.                     yoffset:  0;
  746.                     zoffset:  LOAD_TEMP(8) * 8;
  747.                     xextent: 1;
  748.                     yextent: 16;
  749.                     zextent: 6;
  750.                     recolour_mode: RECOLOUR_REMAP;
  751.                     palette:       PALETTE_USE_DEFAULT;
  752.                 }
  753.         }
  754.         spritelayout assembly_plant_spritelayout_tyres {
  755.             // Industry-specific ground (snow aware)
  756.             // non-snow
  757.             childsprite {
  758.                 sprite: assembly_plant_spriteset_0_0(0);
  759.                 recolour_mode: RECOLOUR_REMAP;
  760.                 palette: PALETTE_USE_DEFAULT;
  761.                 hide_sprite: (LOAD_TEMP(13));
  762.                 always_draw: 1;
  763.             }
  764.             childsprite {
  765.                 sprite: assembly_plant_spriteset_1_0(0);
  766.                 recolour_mode: RECOLOUR_REMAP;
  767.                 palette: PALETTE_USE_DEFAULT;
  768.                 hide_sprite: (LOAD_TEMP(13));
  769.                 always_draw: 1;
  770.             }
  771.             // snow
  772.             childsprite {
  773.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  774.                 recolour_mode: RECOLOUR_REMAP;
  775.                 palette: PALETTE_USE_DEFAULT;
  776.                 hide_sprite: (!LOAD_TEMP(13));
  777.                 always_draw: 1;
  778.             }
  779.             childsprite {
  780.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  781.                 recolour_mode: RECOLOUR_REMAP;
  782.                 palette: PALETTE_USE_DEFAULT;
  783.                 hide_sprite: (!LOAD_TEMP(13));
  784.                 always_draw: 1;
  785.             }
  786.                 // fences NE
  787.                 building {
  788.                     sprite: 1302 + LOAD_TEMP(1);
  789.                     hide_sprite: (LOAD_TEMP(9) == 0);
  790.                     xoffset:  0;
  791.                     yoffset:  0;
  792.                     zoffset:  LOAD_TEMP(5) * 8;
  793.                     xextent: 1;
  794.                     yextent: 16;
  795.                     zextent: 6;
  796.                     recolour_mode: RECOLOUR_REMAP;
  797.                     palette:       PALETTE_USE_DEFAULT;
  798.                 }
  799.                 // fences NW
  800.                 building {
  801.                     sprite: 1301 + LOAD_TEMP(2);
  802.                     hide_sprite: (LOAD_TEMP(10) == 0);
  803.                     xoffset:  0;
  804.                     yoffset:  0;
  805.                     zoffset:  LOAD_TEMP(6) * 8;
  806.                     xextent: 16;
  807.                     yextent: 1;
  808.                     zextent: 6;
  809.                     recolour_mode: RECOLOUR_REMAP;
  810.                     palette:       PALETTE_USE_DEFAULT;
  811.                 }
  812.                     // buildings (snow aware)
  813.                     building {
  814.                         sprite: assembly_plant_spriteset_9_0(0);
  815.                         recolour_mode: RECOLOUR_REMAP;
  816.                         palette: PALETTE_USE_DEFAULT;
  817.                         xoffset: 0;
  818.                         yoffset: 0;
  819.                         zoffset: 0;
  820.                         xextent: 16;
  821.                         yextent: 16;
  822.                         zextent: 32;
  823.                         always_draw: 0;
  824.                         hide_sprite: (LOAD_TEMP(255));
  825.                     }
  826.                     building {
  827.                         sprite: assembly_plant_spriteset_9_0_snow(0);
  828.                         recolour_mode: RECOLOUR_REMAP;
  829.                         palette: PALETTE_USE_DEFAULT;
  830.                         xoffset: 0;
  831.                         yoffset: 0;
  832.                         zoffset: 0;
  833.                         xextent: 16;
  834.                         yextent: 16;
  835.                         zextent: 32;
  836.                         always_draw: 0;
  837.                         hide_sprite: (LOAD_TEMP(245));
  838.                     }
  839.                 // fences SE
  840.                 building {
  841.                     sprite: 1301 + LOAD_TEMP(3);
  842.                     hide_sprite: (LOAD_TEMP(11) == 0);
  843.                     xoffset: 0;
  844.                     yoffset:  16;
  845.                     zoffset:  LOAD_TEMP(7) * 8;
  846.                     xextent: 16;
  847.                     yextent: 1;
  848.                     zextent: 6;
  849.                     recolour_mode: RECOLOUR_REMAP;
  850.                     palette:       PALETTE_USE_DEFAULT;
  851.                 }
  852.                 // fences SW
  853.                 building {
  854.                     sprite: 1302 + LOAD_TEMP(4);
  855.                     hide_sprite: (LOAD_TEMP(12) == 0);
  856.                     xoffset: 16;
  857.                     yoffset:  0;
  858.                     zoffset:  LOAD_TEMP(8) * 8;
  859.                     xextent: 1;
  860.                     yextent: 16;
  861.                     zextent: 6;
  862.                     recolour_mode: RECOLOUR_REMAP;
  863.                     palette:       PALETTE_USE_DEFAULT;
  864.                 }
  865.         }
  866.         spritelayout assembly_plant_spritelayout_vehicles_1 {
  867.             // Industry-specific ground (snow aware)
  868.             // non-snow
  869.             childsprite {
  870.                 sprite: assembly_plant_spriteset_0_0(0);
  871.                 recolour_mode: RECOLOUR_REMAP;
  872.                 palette: PALETTE_USE_DEFAULT;
  873.                 hide_sprite: (LOAD_TEMP(13));
  874.                 always_draw: 1;
  875.             }
  876.             childsprite {
  877.                 sprite: assembly_plant_spriteset_1_0(0);
  878.                 recolour_mode: RECOLOUR_REMAP;
  879.                 palette: PALETTE_USE_DEFAULT;
  880.                 hide_sprite: (LOAD_TEMP(13));
  881.                 always_draw: 1;
  882.             }
  883.             // snow
  884.             childsprite {
  885.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  886.                 recolour_mode: RECOLOUR_REMAP;
  887.                 palette: PALETTE_USE_DEFAULT;
  888.                 hide_sprite: (!LOAD_TEMP(13));
  889.                 always_draw: 1;
  890.             }
  891.             childsprite {
  892.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  893.                 recolour_mode: RECOLOUR_REMAP;
  894.                 palette: PALETTE_USE_DEFAULT;
  895.                 hide_sprite: (!LOAD_TEMP(13));
  896.                 always_draw: 1;
  897.             }
  898.                 // fences NE
  899.                 building {
  900.                     sprite: 1302 + LOAD_TEMP(1);
  901.                     hide_sprite: (LOAD_TEMP(9) == 0);
  902.                     xoffset:  0;
  903.                     yoffset:  0;
  904.                     zoffset:  LOAD_TEMP(5) * 8;
  905.                     xextent: 1;
  906.                     yextent: 16;
  907.                     zextent: 6;
  908.                     recolour_mode: RECOLOUR_REMAP;
  909.                     palette:       PALETTE_USE_DEFAULT;
  910.                 }
  911.                 // fences NW
  912.                 building {
  913.                     sprite: 1301 + LOAD_TEMP(2);
  914.                     hide_sprite: (LOAD_TEMP(10) == 0);
  915.                     xoffset:  0;
  916.                     yoffset:  0;
  917.                     zoffset:  LOAD_TEMP(6) * 8;
  918.                     xextent: 16;
  919.                     yextent: 1;
  920.                     zextent: 6;
  921.                     recolour_mode: RECOLOUR_REMAP;
  922.                     palette:       PALETTE_USE_DEFAULT;
  923.                 }
  924.                     // buildings (snow aware)
  925.                     building {
  926.                         sprite: assembly_plant_spriteset_10_0(0);
  927.                         recolour_mode: RECOLOUR_REMAP;
  928.                         palette: PALETTE_USE_DEFAULT;
  929.                         xoffset: 0;
  930.                         yoffset: 0;
  931.                         zoffset: 0;
  932.                         xextent: 16;
  933.                         yextent: 16;
  934.                         zextent: 32;
  935.                         always_draw: 0;
  936.                         hide_sprite: (LOAD_TEMP(255));
  937.                     }
  938.                     building {
  939.                         sprite: assembly_plant_spriteset_10_0_snow(0);
  940.                         recolour_mode: RECOLOUR_REMAP;
  941.                         palette: PALETTE_USE_DEFAULT;
  942.                         xoffset: 0;
  943.                         yoffset: 0;
  944.                         zoffset: 0;
  945.                         xextent: 16;
  946.                         yextent: 16;
  947.                         zextent: 32;
  948.                         always_draw: 0;
  949.                         hide_sprite: (LOAD_TEMP(245));
  950.                     }
  951.                 // fences SE
  952.                 building {
  953.                     sprite: 1301 + LOAD_TEMP(3);
  954.                     hide_sprite: (LOAD_TEMP(11) == 0);
  955.                     xoffset: 0;
  956.                     yoffset:  16;
  957.                     zoffset:  LOAD_TEMP(7) * 8;
  958.                     xextent: 16;
  959.                     yextent: 1;
  960.                     zextent: 6;
  961.                     recolour_mode: RECOLOUR_REMAP;
  962.                     palette:       PALETTE_USE_DEFAULT;
  963.                 }
  964.                 // fences SW
  965.                 building {
  966.                     sprite: 1302 + LOAD_TEMP(4);
  967.                     hide_sprite: (LOAD_TEMP(12) == 0);
  968.                     xoffset: 16;
  969.                     yoffset:  0;
  970.                     zoffset:  LOAD_TEMP(8) * 8;
  971.                     xextent: 1;
  972.                     yextent: 16;
  973.                     zextent: 6;
  974.                     recolour_mode: RECOLOUR_REMAP;
  975.                     palette:       PALETTE_USE_DEFAULT;
  976.                 }
  977.         }
  978.         spritelayout assembly_plant_spritelayout_vehicles_2 {
  979.             // Industry-specific ground (snow aware)
  980.             // non-snow
  981.             childsprite {
  982.                 sprite: assembly_plant_spriteset_0_0(0);
  983.                 recolour_mode: RECOLOUR_REMAP;
  984.                 palette: PALETTE_USE_DEFAULT;
  985.                 hide_sprite: (LOAD_TEMP(13));
  986.                 always_draw: 1;
  987.             }
  988.             childsprite {
  989.                 sprite: assembly_plant_spriteset_1_0(0);
  990.                 recolour_mode: RECOLOUR_REMAP;
  991.                 palette: PALETTE_USE_DEFAULT;
  992.                 hide_sprite: (LOAD_TEMP(13));
  993.                 always_draw: 1;
  994.             }
  995.             // snow
  996.             childsprite {
  997.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  998.                 recolour_mode: RECOLOUR_REMAP;
  999.                 palette: PALETTE_USE_DEFAULT;
  1000.                 hide_sprite: (!LOAD_TEMP(13));
  1001.                 always_draw: 1;
  1002.             }
  1003.             childsprite {
  1004.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  1005.                 recolour_mode: RECOLOUR_REMAP;
  1006.                 palette: PALETTE_USE_DEFAULT;
  1007.                 hide_sprite: (!LOAD_TEMP(13));
  1008.                 always_draw: 1;
  1009.             }
  1010.                 // fences NE
  1011.                 building {
  1012.                     sprite: 1302 + LOAD_TEMP(1);
  1013.                     hide_sprite: (LOAD_TEMP(9) == 0);
  1014.                     xoffset:  0;
  1015.                     yoffset:  0;
  1016.                     zoffset:  LOAD_TEMP(5) * 8;
  1017.                     xextent: 1;
  1018.                     yextent: 16;
  1019.                     zextent: 6;
  1020.                     recolour_mode: RECOLOUR_REMAP;
  1021.                     palette:       PALETTE_USE_DEFAULT;
  1022.                 }
  1023.                 // fences NW
  1024.                 building {
  1025.                     sprite: 1301 + LOAD_TEMP(2);
  1026.                     hide_sprite: (LOAD_TEMP(10) == 0);
  1027.                     xoffset:  0;
  1028.                     yoffset:  0;
  1029.                     zoffset:  LOAD_TEMP(6) * 8;
  1030.                     xextent: 16;
  1031.                     yextent: 1;
  1032.                     zextent: 6;
  1033.                     recolour_mode: RECOLOUR_REMAP;
  1034.                     palette:       PALETTE_USE_DEFAULT;
  1035.                 }
  1036.                     // buildings (snow aware)
  1037.                     building {
  1038.                         sprite: assembly_plant_spriteset_11_0(0);
  1039.                         recolour_mode: RECOLOUR_REMAP;
  1040.                         palette: PALETTE_USE_DEFAULT;
  1041.                         xoffset: 0;
  1042.                         yoffset: 0;
  1043.                         zoffset: 0;
  1044.                         xextent: 16;
  1045.                         yextent: 16;
  1046.                         zextent: 32;
  1047.                         always_draw: 0;
  1048.                         hide_sprite: (LOAD_TEMP(255));
  1049.                     }
  1050.                     building {
  1051.                         sprite: assembly_plant_spriteset_11_0_snow(0);
  1052.                         recolour_mode: RECOLOUR_REMAP;
  1053.                         palette: PALETTE_USE_DEFAULT;
  1054.                         xoffset: 0;
  1055.                         yoffset: 0;
  1056.                         zoffset: 0;
  1057.                         xextent: 16;
  1058.                         yextent: 16;
  1059.                         zextent: 32;
  1060.                         always_draw: 0;
  1061.                         hide_sprite: (LOAD_TEMP(245));
  1062.                     }
  1063.                 // fences SE
  1064.                 building {
  1065.                     sprite: 1301 + LOAD_TEMP(3);
  1066.                     hide_sprite: (LOAD_TEMP(11) == 0);
  1067.                     xoffset: 0;
  1068.                     yoffset:  16;
  1069.                     zoffset:  LOAD_TEMP(7) * 8;
  1070.                     xextent: 16;
  1071.                     yextent: 1;
  1072.                     zextent: 6;
  1073.                     recolour_mode: RECOLOUR_REMAP;
  1074.                     palette:       PALETTE_USE_DEFAULT;
  1075.                 }
  1076.                 // fences SW
  1077.                 building {
  1078.                     sprite: 1302 + LOAD_TEMP(4);
  1079.                     hide_sprite: (LOAD_TEMP(12) == 0);
  1080.                     xoffset: 16;
  1081.                     yoffset:  0;
  1082.                     zoffset:  LOAD_TEMP(8) * 8;
  1083.                     xextent: 1;
  1084.                     yextent: 16;
  1085.                     zextent: 6;
  1086.                     recolour_mode: RECOLOUR_REMAP;
  1087.                     palette:       PALETTE_USE_DEFAULT;
  1088.                 }
  1089.         }
  1090.         spritelayout assembly_plant_spritelayout_vehicles_3 {
  1091.             // Industry-specific ground (snow aware)
  1092.             // non-snow
  1093.             childsprite {
  1094.                 sprite: assembly_plant_spriteset_0_0(0);
  1095.                 recolour_mode: RECOLOUR_REMAP;
  1096.                 palette: PALETTE_USE_DEFAULT;
  1097.                 hide_sprite: (LOAD_TEMP(13));
  1098.                 always_draw: 1;
  1099.             }
  1100.             childsprite {
  1101.                 sprite: assembly_plant_spriteset_1_0(0);
  1102.                 recolour_mode: RECOLOUR_REMAP;
  1103.                 palette: PALETTE_USE_DEFAULT;
  1104.                 hide_sprite: (LOAD_TEMP(13));
  1105.                 always_draw: 1;
  1106.             }
  1107.             // snow
  1108.             childsprite {
  1109.                 sprite: assembly_plant_spriteset_0_0_snow(0);
  1110.                 recolour_mode: RECOLOUR_REMAP;
  1111.                 palette: PALETTE_USE_DEFAULT;
  1112.                 hide_sprite: (!LOAD_TEMP(13));
  1113.                 always_draw: 1;
  1114.             }
  1115.             childsprite {
  1116.                 sprite: assembly_plant_spriteset_1_0_snow(0);
  1117.                 recolour_mode: RECOLOUR_REMAP;
  1118.                 palette: PALETTE_USE_DEFAULT;
  1119.                 hide_sprite: (!LOAD_TEMP(13));
  1120.                 always_draw: 1;
  1121.             }
  1122.                 // fences NE
  1123.                 building {
  1124.                     sprite: 1302 + LOAD_TEMP(1);
  1125.                     hide_sprite: (LOAD_TEMP(9) == 0);
  1126.                     xoffset:  0;
  1127.                     yoffset:  0;
  1128.                     zoffset:  LOAD_TEMP(5) * 8;
  1129.                     xextent: 1;
  1130.                     yextent: 16;
  1131.                     zextent: 6;
  1132.                     recolour_mode: RECOLOUR_REMAP;
  1133.                     palette:       PALETTE_USE_DEFAULT;
  1134.                 }
  1135.                 // fences NW
  1136.                 building {
  1137.                     sprite: 1301 + LOAD_TEMP(2);
  1138.                     hide_sprite: (LOAD_TEMP(10) == 0);
  1139.                     xoffset:  0;
  1140.                     yoffset:  0;
  1141.                     zoffset:  LOAD_TEMP(6) * 8;
  1142.                     xextent: 16;
  1143.                     yextent: 1;
  1144.                     zextent: 6;
  1145.                     recolour_mode: RECOLOUR_REMAP;
  1146.                     palette:       PALETTE_USE_DEFAULT;
  1147.                 }
  1148.                     // buildings (snow aware)
  1149.                     building {
  1150.                         sprite: assembly_plant_spriteset_12_0(0);
  1151.                         recolour_mode: RECOLOUR_REMAP;
  1152.                         palette: PALETTE_USE_DEFAULT;
  1153.                         xoffset: 0;
  1154.                         yoffset: 0;
  1155.                         zoffset: 0;
  1156.                         xextent: 16;
  1157.                         yextent: 16;
  1158.                         zextent: 32;
  1159.                         always_draw: 0;
  1160.                         hide_sprite: (LOAD_TEMP(255));
  1161.                     }
  1162.                     building {
  1163.                         sprite: assembly_plant_spriteset_12_0_snow(0);
  1164.                         recolour_mode: RECOLOUR_REMAP;
  1165.                         palette: PALETTE_USE_DEFAULT;
  1166.                         xoffset: 0;
  1167.                         yoffset: 0;
  1168.                         zoffset: 0;
  1169.                         xextent: 16;
  1170.                         yextent: 16;
  1171.                         zextent: 32;
  1172.                         always_draw: 0;
  1173.                         hide_sprite: (LOAD_TEMP(245));
  1174.                     }
  1175.                 // fences SE
  1176.                 building {
  1177.                     sprite: 1301 + LOAD_TEMP(3);
  1178.                     hide_sprite: (LOAD_TEMP(11) == 0);
  1179.                     xoffset: 0;
  1180.                     yoffset:  16;
  1181.                     zoffset:  LOAD_TEMP(7) * 8;
  1182.                     xextent: 16;
  1183.                     yextent: 1;
  1184.                     zextent: 6;
  1185.                     recolour_mode: RECOLOUR_REMAP;
  1186.                     palette:       PALETTE_USE_DEFAULT;
  1187.                 }
  1188.                 // fences SW
  1189.                 building {
  1190.                     sprite: 1302 + LOAD_TEMP(4);
  1191.                     hide_sprite: (LOAD_TEMP(12) == 0);
  1192.                     xoffset: 16;
  1193.                     yoffset:  0;
  1194.                     zoffset:  LOAD_TEMP(8) * 8;
  1195.                     xextent: 1;
  1196.                     yextent: 16;
  1197.                     zextent: 6;
  1198.                     recolour_mode: RECOLOUR_REMAP;
  1199.                     palette:       PALETTE_USE_DEFAULT;
  1200.                 }
  1201.         }
  1202.         switch(FEAT_INDUSTRYTILES, SELF, assembly_plant_industry_layout_1_graphics_switch, relative_pos) {
  1203.                 relative_coord(0, 0): assembly_plant_spritelayout_rear_assembly_hall_windows;
  1204.                 relative_coord(0, 1): assembly_plant_spritelayout_central_assembly_hall;
  1205.                 relative_coord(0, 2): assembly_plant_spritelayout_front_assembly_hall_doors;
  1206.                 relative_coord(0, 3): assembly_plant_spritelayout_vehicles_1;
  1207.                 relative_coord(1, 0): assembly_plant_spritelayout_rear_assembly_hall_windows;
  1208.                 relative_coord(1, 1): assembly_plant_spritelayout_central_assembly_hall;
  1209.                 relative_coord(1, 2): assembly_plant_spritelayout_front_assembly_hall_windows;
  1210.                 relative_coord(1, 3): assembly_plant_spritelayout_vehicles_2;
  1211.                 relative_coord(2, 0): assembly_plant_spritelayout_rear_assembly_hall_windows;
  1212.                 relative_coord(2, 1): assembly_plant_spritelayout_central_assembly_hall;
  1213.                 relative_coord(2, 2): assembly_plant_spritelayout_front_assembly_hall_doors;
  1214.                 relative_coord(2, 3): assembly_plant_spritelayout_vehicles_1;
  1215.                 relative_coord(3, 0): assembly_plant_spritelayout_offices;
  1216.                 relative_coord(3, 1): assembly_plant_spritelayout_offices;
  1217.                 relative_coord(3, 2): assembly_plant_spritelayout_tyres;
  1218.                 relative_coord(3, 3): assembly_plant_spritelayout_vehicles_2;
  1219.                 relative_coord(4, 0): assembly_plant_spritelayout_goods_in_1;
  1220.                 relative_coord(4, 1): assembly_plant_spritelayout_tyres;
  1221.                 relative_coord(4, 2): assembly_plant_spritelayout_vehicles_3;
  1222.                 relative_coord(4, 3): assembly_plant_spritelayout_vehicles_3;
  1223.             assembly_plant_spritelayout_rear_assembly_hall_windows; // a default is needed, but should never be reached, layout definitions are explicit
  1224.         }
  1225.     switch(FEAT_INDUSTRYTILES, PARENT, assembly_plant_industry_graphics_switch_layouts, layout_num) {
  1226.             1: assembly_plant_industry_layout_1_graphics_switch;
  1227.         assembly_plant_industry_layout_1_graphics_switch; // default
  1228.     }
  1229.     switch(FEAT_INDUSTRYTILES, SELF, assembly_plant_industry_construction_state_graphics_switch, construction_state) {
  1230.         0..2: spritelayout_default_construction_states;
  1231.         assembly_plant_industry_graphics_switch_layouts; // default
  1232.     }
  1233.     switch(FEAT_INDUSTRYTILES, SELF, assembly_plant_store_temp_vars,
  1234.             [STORE_TEMP(terrain_type == TILETYPE_SNOW, 13)
  1235.                     , STORE_TEMP(0,
  1236.                                  255)
  1237.                     , STORE_TEMP(construction_state != 3 ? 1 : LOAD_TEMP(255),
  1238.                                  255)
  1239.                     , STORE_TEMP(LOAD_TEMP(13) == 0 ? 1 : LOAD_TEMP(255),
  1240.                                  245)
  1241.                     , STORE_TEMP(LOAD_TEMP(13) == 1 ? 1 : LOAD_TEMP(255),
  1242.                                  255)
  1243.             ]) {
  1244.         assembly_plant_industry_construction_state_graphics_switch; // default
  1245.     }
  1246.     switch(FEAT_INDUSTRYTILES, PARENT, assembly_plant_industry_master_graphics_switch, STORE_TEMP(random_bits, 14)) {
  1247.         assembly_plant_store_temp_vars; // default
  1248.     }
  1249.     switch (FEAT_INDUSTRYTILES, SELF, assembly_plant_tile_fence_station, [
  1250.                 STORE_TEMP(LOAD_TEMP(9) * (nearby_tile_class(-1,  0) != TILE_CLASS_STATION), 9),
  1251.                 STORE_TEMP(LOAD_TEMP(10) * (nearby_tile_class( 0, -1) != TILE_CLASS_STATION), 10),
  1252.                 STORE_TEMP(LOAD_TEMP(11) * (nearby_tile_class( 0,  1) != TILE_CLASS_STATION), 11),
  1253.                 STORE_TEMP(LOAD_TEMP(12) * (nearby_tile_class( 1,  0) != TILE_CLASS_STATION), 12),
  1254.             ]) {
  1255.         assembly_plant_industry_master_graphics_switch;
  1256.     }
  1257.     switch (FEAT_INDUSTRYTILES, SELF, assembly_plant_tile_fence_industry, [
  1258.                 STORE_TEMP(LOAD_TEMP(9) * !nearby_tile_is_same_industry(-1,  0), 9),
  1259.                 STORE_TEMP(LOAD_TEMP(10) * !nearby_tile_is_same_industry( 0, -1), 10),
  1260.                 STORE_TEMP(LOAD_TEMP(11) * !nearby_tile_is_same_industry( 0,  1), 11),
  1261.                 STORE_TEMP(LOAD_TEMP(12) * !nearby_tile_is_same_industry( 1,  0), 12),
  1262.             ]) {
  1263.         assembly_plant_tile_fence_station;
  1264.     }
  1265.     switch (FEAT_INDUSTRYTILES, SELF, assembly_plant_tile_fences, [
  1266.                 STORE_TEMP(0, 1),
  1267.                 STORE_TEMP(0, 2),
  1268.                 STORE_TEMP(0, 3),
  1269.                 STORE_TEMP(0, 4),
  1270.                 STORE_TEMP(1, 9),
  1271.                 STORE_TEMP(1, 10),
  1272.                 STORE_TEMP(1, 11),
  1273.                 STORE_TEMP(1, 12),
  1274.                 STORE_TEMP(0, 5),
  1275.                 STORE_TEMP(0, 6),
  1276.                 STORE_TEMP(0, 7),
  1277.                 STORE_TEMP(0, 8),
  1278.                 ]) {
  1279.         assembly_plant_tile_fence_industry;
  1280.     }
  1281.     switch(FEAT_INDUSTRYTILES, SELF, assembly_plant_tile_1_lc_2,
  1282.         (nearby_tile_class( 1,  1) == TILE_CLASS_INDUSTRY) |
  1283.         (nearby_tile_class( 1,  0) == TILE_CLASS_INDUSTRY) |
  1284.         (nearby_tile_class( 1, -1) == TILE_CLASS_INDUSTRY) |
  1285.         (nearby_tile_class( 0, -1) == TILE_CLASS_INDUSTRY) |
  1286.         (nearby_tile_class(-1, -1) == TILE_CLASS_INDUSTRY) |
  1287.         (nearby_tile_class(-1,  0) == TILE_CLASS_INDUSTRY) |
  1288.         (nearby_tile_class(-1,  1) == TILE_CLASS_INDUSTRY) |
  1289.         (nearby_tile_class( 0,  1) == TILE_CLASS_INDUSTRY)) {
  1290.         1: return CB_RESULT_LOCATION_DISALLOW;
  1291.         return CB_RESULT_LOCATION_ALLOW;
  1292.     }
  1293.     switch (FEAT_INDUSTRYTILES, PARENT, assembly_plant_tile_1_lc_1, (
  1294.                 (((extra_callback_info2 & 0xFF00) >> 8) == IND_CREATION_FUND) ||
  1295.                 (((extra_callback_info2 & 0xFF00) >> 8) == IND_CREATION_PROSPECT)
  1296.                 )
  1297.             ) {
  1298.         1: return CB_RESULT_LOCATION_ALLOW;
  1299.         assembly_plant_tile_1_lc_2;
  1300.     }
  1301.     switch (FEAT_INDUSTRYTILES, SELF, assembly_plant_tile_1_lc_0,
  1302.                 (
  1303.                 nearby_tile_height(-relative_x, -relative_y)
  1304.                 + (nearby_tile_slope(-relative_x, -relative_y)
  1305.                 == SLOPE_FLAT ? 0 :
  1306.                 nearby_tile_slope(-relative_x, -relative_y) == bitmask(IS_STEEP_SLOPE) ? 2 : 1
  1307.                 )) == (nearby_tile_height(0, 0)
  1308.                 + (nearby_tile_slope(0, 0)
  1309.                 == SLOPE_FLAT ? 0 :
  1310.                 nearby_tile_slope(0, 0) == bitmask(IS_STEEP_SLOPE) ? 2 : 1))
  1311.                 ) {
  1312.         1: assembly_plant_tile_1_lc_1;
  1313.         return CB_RESULT_LOCATION_DISALLOW;
  1314.     }
  1315.     item(FEAT_INDUSTRYTILES, assembly_plant_tile_1, 232) {
  1316.         property {
  1317.             substitute:         0;
  1318.             land_shape_flags:   0;
  1319.             special_flags: bitmask(INDTILE_FLAG_ACCEPT_ALL);
  1320.                 animation_info: [ANIMATION_LOOPING, 71];
  1321.                 animation_speed: 2;
  1322.             animation_triggers: bitmask();
  1323.         }
  1324.         graphics {
  1325.                 tile_check: assembly_plant_tile_1_lc_0;
  1326.             assembly_plant_tile_fences;
  1327.         }
  1328.     }
  1329. /* *************************************************
  1330.  * Definition of the industry
  1331.  * *************************************************/
  1332.     tilelayout assembly_plant_industry_layout_1_tilelayout {
  1333.             0, 0: assembly_plant_tile_1;
  1334.             0, 1: assembly_plant_tile_1;
  1335.             0, 2: assembly_plant_tile_1;
  1336.             0, 3: assembly_plant_tile_1;
  1337.             1, 0: assembly_plant_tile_1;
  1338.             1, 1: assembly_plant_tile_1;
  1339.             1, 2: assembly_plant_tile_1;
  1340.             1, 3: assembly_plant_tile_1;
  1341.             2, 0: assembly_plant_tile_1;
  1342.             2, 1: assembly_plant_tile_1;
  1343.             2, 2: assembly_plant_tile_1;
  1344.             2, 3: assembly_plant_tile_1;
  1345.             3, 0: assembly_plant_tile_1;
  1346.             3, 1: assembly_plant_tile_1;
  1347.             3, 2: assembly_plant_tile_1;
  1348.             3, 3: assembly_plant_tile_1;
  1349.             4, 0: assembly_plant_tile_1;
  1350.             4, 1: assembly_plant_tile_1;
  1351.             4, 2: assembly_plant_tile_1;
  1352.             4, 3: assembly_plant_tile_1;
  1353.     }
  1354.     produce (assembly_plant_produce_0,
  1355.         [
  1356.                 VPTS: incoming_cargo_waiting("VPTS");
  1357.                 VBOD: incoming_cargo_waiting("VBOD");
  1358.                 VENG: incoming_cargo_waiting("VENG");
  1359.                 TYRE: incoming_cargo_waiting("TYRE");
  1360.         ],
  1361.         [
  1362.                 VEHI: (LOAD_PERM(2) * 4) / 8;
  1363.                 ENSP: (LOAD_PERM(2) * 2) / 8;
  1364.                 FMSP: (LOAD_PERM(2) * 2) / 8;
  1365.         ],
  1366.     0)
  1367.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_produce_calculation_0,
  1368.             [
  1369.                 STORE_PERM(0, 1),
  1370.                 STORE_PERM(0, 2),
  1371.                     STORE_PERM(
  1372.                         max(LOAD_PERM(3), (incoming_cargo_waiting("VPTS") > 0) * current_date),
  1373.                         3
  1374.                     ),
  1375.                     STORE_PERM(
  1376.                         LOAD_PERM(1)
  1377.                         + (
  1378.                             (current_date - LOAD_PERM(3)) <= 90
  1379.                             ? 2 : 0
  1380.                         ),
  1381.                         1
  1382.                     ),
  1383.                     STORE_PERM(
  1384.                         max(LOAD_PERM(4), (incoming_cargo_waiting("VBOD") > 0) * current_date),
  1385.                         4
  1386.                     ),
  1387.                     STORE_PERM(
  1388.                         LOAD_PERM(1)
  1389.                         + (
  1390.                             (current_date - LOAD_PERM(4)) <= 90
  1391.                             ? 2 : 0
  1392.                         ),
  1393.                         1
  1394.                     ),
  1395.                     STORE_PERM(
  1396.                         max(LOAD_PERM(5), (incoming_cargo_waiting("VENG") > 0) * current_date),
  1397.                         5
  1398.                     ),
  1399.                     STORE_PERM(
  1400.                         LOAD_PERM(1)
  1401.                         + (
  1402.                             (current_date - LOAD_PERM(5)) <= 90
  1403.                             ? 2 : 0
  1404.                         ),
  1405.                         1
  1406.                     ),
  1407.                     STORE_PERM(
  1408.                         max(LOAD_PERM(6), (incoming_cargo_waiting("TYRE") > 0) * current_date),
  1409.                         6
  1410.                     ),
  1411.                     STORE_PERM(
  1412.                         LOAD_PERM(1)
  1413.                         + (
  1414.                             (current_date - LOAD_PERM(6)) <= 90
  1415.                             ? 2 : 0
  1416.                         ),
  1417.                         1
  1418.                     ),
  1419.                     STORE_PERM(
  1420.                         LOAD_PERM(2)
  1421.                         + ((incoming_cargo_waiting("VPTS") * LOAD_PERM(1)) / 8),
  1422.                         2
  1423.                     ),
  1424.                     STORE_PERM(
  1425.                         LOAD_PERM(2)
  1426.                         + ((incoming_cargo_waiting("VBOD") * LOAD_PERM(1)) / 8),
  1427.                         2
  1428.                     ),
  1429.                     STORE_PERM(
  1430.                         LOAD_PERM(2)
  1431.                         + ((incoming_cargo_waiting("VENG") * LOAD_PERM(1)) / 8),
  1432.                         2
  1433.                     ),
  1434.                     STORE_PERM(
  1435.                         LOAD_PERM(2)
  1436.                         + ((incoming_cargo_waiting("TYRE") * LOAD_PERM(1)) / 8),
  1437.                         2
  1438.                     ),
  1439.                 STORE_PERM(
  1440.                     (LOAD_PERM(2) == 0)
  1441.                     ? LOAD_PERM(0) : 0,
  1442.                     0
  1443.                 ),
  1444.             ]) {
  1445.         assembly_plant_produce_0;
  1446.     }
  1447.     produce (assembly_plant_produce_1,
  1448.         [
  1449.                 VPTS: incoming_cargo_waiting("VPTS");
  1450.                 VBOD: incoming_cargo_waiting("VBOD");
  1451.                 VENG: incoming_cargo_waiting("VENG");
  1452.                 TYRE: incoming_cargo_waiting("TYRE");
  1453.         ],
  1454.         [
  1455.                 VEHI: (LOAD_PERM(2) * 4) / 8;
  1456.                 ENSP: (LOAD_PERM(2) * 2) / 8;
  1457.                 FMSP: (LOAD_PERM(2) * 2) / 8;
  1458.         ],
  1459.     0)
  1460.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_produce_calculation_1,
  1461.             [
  1462.                 STORE_PERM(0, 1),
  1463.                 STORE_PERM(0, 2),
  1464.                     STORE_PERM(
  1465.                         max(LOAD_PERM(3), (incoming_cargo_waiting("VPTS") > 0) * current_date),
  1466.                         3
  1467.                     ),
  1468.                     STORE_PERM(
  1469.                         LOAD_PERM(1)
  1470.                         + (
  1471.                             (current_date - LOAD_PERM(3)) <= 90
  1472.                             ? 2 : 0
  1473.                         ),
  1474.                         1
  1475.                     ),
  1476.                     STORE_PERM(
  1477.                         max(LOAD_PERM(4), (incoming_cargo_waiting("VBOD") > 0) * current_date),
  1478.                         4
  1479.                     ),
  1480.                     STORE_PERM(
  1481.                         LOAD_PERM(1)
  1482.                         + (
  1483.                             (current_date - LOAD_PERM(4)) <= 90
  1484.                             ? 2 : 0
  1485.                         ),
  1486.                         1
  1487.                     ),
  1488.                     STORE_PERM(
  1489.                         max(LOAD_PERM(5), (incoming_cargo_waiting("VENG") > 0) * current_date),
  1490.                         5
  1491.                     ),
  1492.                     STORE_PERM(
  1493.                         LOAD_PERM(1)
  1494.                         + (
  1495.                             (current_date - LOAD_PERM(5)) <= 90
  1496.                             ? 2 : 0
  1497.                         ),
  1498.                         1
  1499.                     ),
  1500.                     STORE_PERM(
  1501.                         max(LOAD_PERM(6), (incoming_cargo_waiting("TYRE") > 0) * current_date),
  1502.                         6
  1503.                     ),
  1504.                     STORE_PERM(
  1505.                         LOAD_PERM(1)
  1506.                         + (
  1507.                             (current_date - LOAD_PERM(6)) <= 90
  1508.                             ? 2 : 0
  1509.                         ),
  1510.                         1
  1511.                     ),
  1512.                     STORE_PERM(
  1513.                         LOAD_PERM(2)
  1514.                         + ((incoming_cargo_waiting("VPTS") * LOAD_PERM(1)) / 8),
  1515.                         2
  1516.                     ),
  1517.                     STORE_PERM(
  1518.                         LOAD_PERM(2)
  1519.                         + ((incoming_cargo_waiting("VBOD") * LOAD_PERM(1)) / 8),
  1520.                         2
  1521.                     ),
  1522.                     STORE_PERM(
  1523.                         LOAD_PERM(2)
  1524.                         + ((incoming_cargo_waiting("VENG") * LOAD_PERM(1)) / 8),
  1525.                         2
  1526.                     ),
  1527.                     STORE_PERM(
  1528.                         LOAD_PERM(2)
  1529.                         + ((incoming_cargo_waiting("TYRE") * LOAD_PERM(1)) / 8),
  1530.                         2
  1531.                     ),
  1532.                 STORE_PERM(
  1533.                     (LOAD_PERM(2) == 0)
  1534.                     ? LOAD_PERM(0) : 0,
  1535.                     0
  1536.                 ),
  1537.             ]) {
  1538.         assembly_plant_produce_1;
  1539.     }
  1540.     produce (assembly_plant_produce_4,
  1541.         [
  1542.                 VPTS: incoming_cargo_waiting("VPTS");
  1543.                 VBOD: incoming_cargo_waiting("VBOD");
  1544.                 VENG: incoming_cargo_waiting("VENG");
  1545.                 TYRE: incoming_cargo_waiting("TYRE");
  1546.         ],
  1547.         [
  1548.                 VEHI: (LOAD_PERM(2) * 4) / 8;
  1549.                 ENSP: (LOAD_PERM(2) * 2) / 8;
  1550.                 FMSP: (LOAD_PERM(2) * 2) / 8;
  1551.         ],
  1552.     0)
  1553.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_produce_calculation_4,
  1554.             [
  1555.                 STORE_PERM(0, 1),
  1556.                 STORE_PERM(0, 2),
  1557.                     STORE_PERM(
  1558.                         max(LOAD_PERM(3), (incoming_cargo_waiting("VPTS") > 0) * current_date),
  1559.                         3
  1560.                     ),
  1561.                     STORE_PERM(
  1562.                         LOAD_PERM(1)
  1563.                         + (
  1564.                             (current_date - LOAD_PERM(3)) <= 90
  1565.                             ? 2 : 0
  1566.                         ),
  1567.                         1
  1568.                     ),
  1569.                     STORE_PERM(
  1570.                         max(LOAD_PERM(4), (incoming_cargo_waiting("VBOD") > 0) * current_date),
  1571.                         4
  1572.                     ),
  1573.                     STORE_PERM(
  1574.                         LOAD_PERM(1)
  1575.                         + (
  1576.                             (current_date - LOAD_PERM(4)) <= 90
  1577.                             ? 2 : 0
  1578.                         ),
  1579.                         1
  1580.                     ),
  1581.                     STORE_PERM(
  1582.                         max(LOAD_PERM(5), (incoming_cargo_waiting("VENG") > 0) * current_date),
  1583.                         5
  1584.                     ),
  1585.                     STORE_PERM(
  1586.                         LOAD_PERM(1)
  1587.                         + (
  1588.                             (current_date - LOAD_PERM(5)) <= 90
  1589.                             ? 2 : 0
  1590.                         ),
  1591.                         1
  1592.                     ),
  1593.                     STORE_PERM(
  1594.                         max(LOAD_PERM(6), (incoming_cargo_waiting("TYRE") > 0) * current_date),
  1595.                         6
  1596.                     ),
  1597.                     STORE_PERM(
  1598.                         LOAD_PERM(1)
  1599.                         + (
  1600.                             (current_date - LOAD_PERM(6)) <= 90
  1601.                             ? 2 : 0
  1602.                         ),
  1603.                         1
  1604.                     ),
  1605.                     STORE_PERM(
  1606.                         LOAD_PERM(2)
  1607.                         + ((incoming_cargo_waiting("VPTS") * LOAD_PERM(1)) / 8),
  1608.                         2
  1609.                     ),
  1610.                     STORE_PERM(
  1611.                         LOAD_PERM(2)
  1612.                         + ((incoming_cargo_waiting("VBOD") * LOAD_PERM(1)) / 8),
  1613.                         2
  1614.                     ),
  1615.                     STORE_PERM(
  1616.                         LOAD_PERM(2)
  1617.                         + ((incoming_cargo_waiting("VENG") * LOAD_PERM(1)) / 8),
  1618.                         2
  1619.                     ),
  1620.                     STORE_PERM(
  1621.                         LOAD_PERM(2)
  1622.                         + ((incoming_cargo_waiting("TYRE") * LOAD_PERM(1)) / 8),
  1623.                         2
  1624.                     ),
  1625.                 STORE_PERM(
  1626.                     (LOAD_PERM(2) == 0)
  1627.                     ? LOAD_PERM(0) : 0,
  1628.                     0
  1629.                 ),
  1630.             ]) {
  1631.         assembly_plant_produce_4;
  1632.     }
  1633.     produce (assembly_plant_produce_5,
  1634.         [
  1635.                 VPTS: incoming_cargo_waiting("VPTS");
  1636.                 VBOD: incoming_cargo_waiting("VBOD");
  1637.                 VENG: incoming_cargo_waiting("VENG");
  1638.                 TYRE: incoming_cargo_waiting("TYRE");
  1639.         ],
  1640.         [
  1641.                 VEHI: (LOAD_PERM(2) * 4) / 8;
  1642.                 ENSP: (LOAD_PERM(2) * 2) / 8;
  1643.                 FMSP: (LOAD_PERM(2) * 2) / 8;
  1644.         ],
  1645.     0)
  1646.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_produce_calculation_5,
  1647.             [
  1648.                 STORE_PERM(0, 1),
  1649.                 STORE_PERM(0, 2),
  1650.                     STORE_PERM(
  1651.                         max(LOAD_PERM(3), (incoming_cargo_waiting("VPTS") > 0) * current_date),
  1652.                         3
  1653.                     ),
  1654.                     STORE_PERM(
  1655.                         LOAD_PERM(1)
  1656.                         + (
  1657.                             (current_date - LOAD_PERM(3)) <= 90
  1658.                             ? 2 : 0
  1659.                         ),
  1660.                         1
  1661.                     ),
  1662.                     STORE_PERM(
  1663.                         max(LOAD_PERM(4), (incoming_cargo_waiting("VBOD") > 0) * current_date),
  1664.                         4
  1665.                     ),
  1666.                     STORE_PERM(
  1667.                         LOAD_PERM(1)
  1668.                         + (
  1669.                             (current_date - LOAD_PERM(4)) <= 90
  1670.                             ? 2 : 0
  1671.                         ),
  1672.                         1
  1673.                     ),
  1674.                     STORE_PERM(
  1675.                         max(LOAD_PERM(5), (incoming_cargo_waiting("VENG") > 0) * current_date),
  1676.                         5
  1677.                     ),
  1678.                     STORE_PERM(
  1679.                         LOAD_PERM(1)
  1680.                         + (
  1681.                             (current_date - LOAD_PERM(5)) <= 90
  1682.                             ? 2 : 0
  1683.                         ),
  1684.                         1
  1685.                     ),
  1686.                     STORE_PERM(
  1687.                         max(LOAD_PERM(6), (incoming_cargo_waiting("TYRE") > 0) * current_date),
  1688.                         6
  1689.                     ),
  1690.                     STORE_PERM(
  1691.                         LOAD_PERM(1)
  1692.                         + (
  1693.                             (current_date - LOAD_PERM(6)) <= 90
  1694.                             ? 2 : 0
  1695.                         ),
  1696.                         1
  1697.                     ),
  1698.                     STORE_PERM(
  1699.                         LOAD_PERM(2)
  1700.                         + ((incoming_cargo_waiting("VPTS") * LOAD_PERM(1)) / 8),
  1701.                         2
  1702.                     ),
  1703.                     STORE_PERM(
  1704.                         LOAD_PERM(2)
  1705.                         + ((incoming_cargo_waiting("VBOD") * LOAD_PERM(1)) / 8),
  1706.                         2
  1707.                     ),
  1708.                     STORE_PERM(
  1709.                         LOAD_PERM(2)
  1710.                         + ((incoming_cargo_waiting("VENG") * LOAD_PERM(1)) / 8),
  1711.                         2
  1712.                     ),
  1713.                     STORE_PERM(
  1714.                         LOAD_PERM(2)
  1715.                         + ((incoming_cargo_waiting("TYRE") * LOAD_PERM(1)) / 8),
  1716.                         2
  1717.                     ),
  1718.                 STORE_PERM(
  1719.                     (LOAD_PERM(2) == 0)
  1720.                     ? LOAD_PERM(0) : 0,
  1721.                     0
  1722.                 ),
  1723.             ]) {
  1724.         assembly_plant_produce_5;
  1725.     }
  1726.     produce (assembly_plant_produce_3,
  1727.         [
  1728.                 VPTS: incoming_cargo_waiting("VPTS");
  1729.                 VBOD: incoming_cargo_waiting("VBOD");
  1730.                 VENG: incoming_cargo_waiting("VENG");
  1731.                 TYRE: incoming_cargo_waiting("TYRE");
  1732.         ],
  1733.         [
  1734.                 VEHI: (LOAD_PERM(2) * 4) / 8;
  1735.                 ENSP: (LOAD_PERM(2) * 2) / 8;
  1736.                 FMSP: (LOAD_PERM(2) * 2) / 8;
  1737.         ],
  1738.     0)
  1739.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_produce_calculation_3,
  1740.             [
  1741.                 STORE_PERM(0, 1),
  1742.                 STORE_PERM(0, 2),
  1743.                     STORE_PERM(
  1744.                         max(LOAD_PERM(3), (incoming_cargo_waiting("VPTS") > 0) * current_date),
  1745.                         3
  1746.                     ),
  1747.                     STORE_PERM(
  1748.                         LOAD_PERM(1)
  1749.                         + (
  1750.                             (current_date - LOAD_PERM(3)) <= 90
  1751.                             ? 2 : 0
  1752.                         ),
  1753.                         1
  1754.                     ),
  1755.                     STORE_PERM(
  1756.                         max(LOAD_PERM(4), (incoming_cargo_waiting("VBOD") > 0) * current_date),
  1757.                         4
  1758.                     ),
  1759.                     STORE_PERM(
  1760.                         LOAD_PERM(1)
  1761.                         + (
  1762.                             (current_date - LOAD_PERM(4)) <= 90
  1763.                             ? 2 : 0
  1764.                         ),
  1765.                         1
  1766.                     ),
  1767.                     STORE_PERM(
  1768.                         max(LOAD_PERM(5), (incoming_cargo_waiting("VENG") > 0) * current_date),
  1769.                         5
  1770.                     ),
  1771.                     STORE_PERM(
  1772.                         LOAD_PERM(1)
  1773.                         + (
  1774.                             (current_date - LOAD_PERM(5)) <= 90
  1775.                             ? 2 : 0
  1776.                         ),
  1777.                         1
  1778.                     ),
  1779.                     STORE_PERM(
  1780.                         max(LOAD_PERM(6), (incoming_cargo_waiting("TYRE") > 0) * current_date),
  1781.                         6
  1782.                     ),
  1783.                     STORE_PERM(
  1784.                         LOAD_PERM(1)
  1785.                         + (
  1786.                             (current_date - LOAD_PERM(6)) <= 90
  1787.                             ? 2 : 0
  1788.                         ),
  1789.                         1
  1790.                     ),
  1791.                     STORE_PERM(
  1792.                         LOAD_PERM(2)
  1793.                         + ((incoming_cargo_waiting("VPTS") * LOAD_PERM(1)) / 8),
  1794.                         2
  1795.                     ),
  1796.                     STORE_PERM(
  1797.                         LOAD_PERM(2)
  1798.                         + ((incoming_cargo_waiting("VBOD") * LOAD_PERM(1)) / 8),
  1799.                         2
  1800.                     ),
  1801.                     STORE_PERM(
  1802.                         LOAD_PERM(2)
  1803.                         + ((incoming_cargo_waiting("VENG") * LOAD_PERM(1)) / 8),
  1804.                         2
  1805.                     ),
  1806.                     STORE_PERM(
  1807.                         LOAD_PERM(2)
  1808.                         + ((incoming_cargo_waiting("TYRE") * LOAD_PERM(1)) / 8),
  1809.                         2
  1810.                     ),
  1811.                 STORE_PERM(
  1812.                     (LOAD_PERM(2) == 0)
  1813.                     ? LOAD_PERM(0) : 0,
  1814.                     0
  1815.                 ),
  1816.             ]) {
  1817.         assembly_plant_produce_3;
  1818.     }
  1819.     produce (assembly_plant_produce_2,
  1820.         [
  1821.                 VPTS: incoming_cargo_waiting("VPTS");
  1822.                 VBOD: incoming_cargo_waiting("VBOD");
  1823.                 VENG: incoming_cargo_waiting("VENG");
  1824.                 TYRE: incoming_cargo_waiting("TYRE");
  1825.         ],
  1826.         [
  1827.                 VEHI: (LOAD_PERM(2) * 4) / 8;
  1828.                 ENSP: (LOAD_PERM(2) * 2) / 8;
  1829.                 FMSP: (LOAD_PERM(2) * 2) / 8;
  1830.         ],
  1831.     0)
  1832.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_produce_calculation_2,
  1833.             [
  1834.                 STORE_PERM(0, 1),
  1835.                 STORE_PERM(0, 2),
  1836.                     STORE_PERM(
  1837.                         max(LOAD_PERM(3), (incoming_cargo_waiting("VPTS") > 0) * current_date),
  1838.                         3
  1839.                     ),
  1840.                     STORE_PERM(
  1841.                         LOAD_PERM(1)
  1842.                         + (
  1843.                             (current_date - LOAD_PERM(3)) <= 90
  1844.                             ? 2 : 0
  1845.                         ),
  1846.                         1
  1847.                     ),
  1848.                     STORE_PERM(
  1849.                         max(LOAD_PERM(4), (incoming_cargo_waiting("VBOD") > 0) * current_date),
  1850.                         4
  1851.                     ),
  1852.                     STORE_PERM(
  1853.                         LOAD_PERM(1)
  1854.                         + (
  1855.                             (current_date - LOAD_PERM(4)) <= 90
  1856.                             ? 2 : 0
  1857.                         ),
  1858.                         1
  1859.                     ),
  1860.                     STORE_PERM(
  1861.                         max(LOAD_PERM(5), (incoming_cargo_waiting("VENG") > 0) * current_date),
  1862.                         5
  1863.                     ),
  1864.                     STORE_PERM(
  1865.                         LOAD_PERM(1)
  1866.                         + (
  1867.                             (current_date - LOAD_PERM(5)) <= 90
  1868.                             ? 2 : 0
  1869.                         ),
  1870.                         1
  1871.                     ),
  1872.                     STORE_PERM(
  1873.                         max(LOAD_PERM(6), (incoming_cargo_waiting("TYRE") > 0) * current_date),
  1874.                         6
  1875.                     ),
  1876.                     STORE_PERM(
  1877.                         LOAD_PERM(1)
  1878.                         + (
  1879.                             (current_date - LOAD_PERM(6)) <= 90
  1880.                             ? 2 : 0
  1881.                         ),
  1882.                         1
  1883.                     ),
  1884.                     STORE_PERM(
  1885.                         LOAD_PERM(2)
  1886.                         + ((incoming_cargo_waiting("VPTS") * LOAD_PERM(1)) / 8),
  1887.                         2
  1888.                     ),
  1889.                     STORE_PERM(
  1890.                         LOAD_PERM(2)
  1891.                         + ((incoming_cargo_waiting("VBOD") * LOAD_PERM(1)) / 8),
  1892.                         2
  1893.                     ),
  1894.                     STORE_PERM(
  1895.                         LOAD_PERM(2)
  1896.                         + ((incoming_cargo_waiting("VENG") * LOAD_PERM(1)) / 8),
  1897.                         2
  1898.                     ),
  1899.                     STORE_PERM(
  1900.                         LOAD_PERM(2)
  1901.                         + ((incoming_cargo_waiting("TYRE") * LOAD_PERM(1)) / 8),
  1902.                         2
  1903.                     ),
  1904.                 STORE_PERM(
  1905.                     (LOAD_PERM(2) == 0)
  1906.                     ? LOAD_PERM(0) : 0,
  1907.                     0
  1908.                 ),
  1909.             ]) {
  1910.         assembly_plant_produce_2;
  1911.     }
  1912. switch (FEAT_INDUSTRIES, SELF, assembly_plant_produce_cargo_arrival, economy) {
  1913.         0: assembly_plant_produce_calculation_0;
  1914.         1: assembly_plant_produce_calculation_1;
  1915.         4: assembly_plant_produce_calculation_4;
  1916.         5: assembly_plant_produce_calculation_5;
  1917.         3: assembly_plant_produce_calculation_3;
  1918.         2: assembly_plant_produce_calculation_2;
  1919. }
  1920. switch (FEAT_INDUSTRIES, SELF, assembly_plant_extra_text, economy) {
  1921.             5: return string(STR_EXTRA_TEXT_SECONDARY_COMBINATORY);
  1922. }
  1923.             switch (FEAT_INDUSTRIES, SELF, assembly_plant_cargo_subtype_display_cargo_VPTS_economy_5, [
  1924.                     current_date - LOAD_PERM(3) > 90
  1925.                 ]) {
  1926.                 0: return 0x3800 + string(STR_CARGO_SUBTYPE_DISPLAY_SECONDARY_CARGO_DELIVERED);
  1927.                 1: return 0x3800 + string(STR_EMPTY);
  1928.             }
  1929.             switch (FEAT_INDUSTRIES, SELF, assembly_plant_cargo_subtype_display_cargo_VBOD_economy_5, [
  1930.                     current_date - LOAD_PERM(4) > 90
  1931.                 ]) {
  1932.                 0: return 0x3800 + string(STR_CARGO_SUBTYPE_DISPLAY_SECONDARY_CARGO_DELIVERED);
  1933.                 1: return 0x3800 + string(STR_EMPTY);
  1934.             }
  1935.             switch (FEAT_INDUSTRIES, SELF, assembly_plant_cargo_subtype_display_cargo_VENG_economy_5, [
  1936.                     current_date - LOAD_PERM(5) > 90
  1937.                 ]) {
  1938.                 0: return 0x3800 + string(STR_CARGO_SUBTYPE_DISPLAY_SECONDARY_CARGO_DELIVERED);
  1939.                 1: return 0x3800 + string(STR_EMPTY);
  1940.             }
  1941.             switch (FEAT_INDUSTRIES, SELF, assembly_plant_cargo_subtype_display_cargo_TYRE_economy_5, [
  1942.                     current_date - LOAD_PERM(6) > 90
  1943.                 ]) {
  1944.                 0: return 0x3800 + string(STR_CARGO_SUBTYPE_DISPLAY_SECONDARY_CARGO_DELIVERED);
  1945.                 1: return 0x3800 + string(STR_EMPTY);
  1946.             }
  1947.         switch (FEAT_INDUSTRIES, SELF, assembly_plant_cargo_subtype_display_switch_cargo_economy_5, getbits(extra_callback_info2, 16, 23)) {
  1948.                 VPTS: assembly_plant_cargo_subtype_display_cargo_VPTS_economy_5;
  1949.                 VBOD: assembly_plant_cargo_subtype_display_cargo_VBOD_economy_5;
  1950.                 VENG: assembly_plant_cargo_subtype_display_cargo_VENG_economy_5;
  1951.                 TYRE: assembly_plant_cargo_subtype_display_cargo_TYRE_economy_5;
  1952.             return CB_RESULT_NO_TEXT;
  1953.         }
  1954. switch (FEAT_INDUSTRIES, SELF, assembly_plant_cargo_subtype_display_switch_economy, economy) {
  1955.             5:  assembly_plant_cargo_subtype_display_switch_cargo_economy_5;
  1956. }
  1957. switch (FEAT_INDUSTRIES, SELF, assembly_plant_cargo_subtype_display, getbits(extra_callback_info2, 8, 8)) {
  1958.     1: assembly_plant_cargo_subtype_display_switch_economy;
  1959.     return CB_RESULT_NO_TEXT;
  1960. }
  1961. switch(FEAT_INDUSTRIES, SELF, assembly_plant_check_availability_param, restrict_open_during_gameplay) {
  1962.     1..255: return CB_RESULT_IND_NO_CONSTRUCTION;         // disallow when restrictions in place
  1963.     return CB_RESULT_IND_PROBABILITY_FROM_PROPERTY;       // we may build
  1964. }
  1965. switch (FEAT_INDUSTRIES, SELF, assembly_plant_check_map_gen, extra_callback_info2 == IND_CREATION_GENERATION) {
  1966.     1: return CB_RESULT_IND_PROBABILITY_FROM_PROPERTY;
  1967.     assembly_plant_check_availability_param;
  1968. }
  1969. switch (FEAT_INDUSTRIES, SELF, assembly_plant_available_game_mode, game_mode == GAMEMODE_GAME) {
  1970.     1: assembly_plant_check_map_gen;
  1971.     return CB_RESULT_IND_PROBABILITY_FROM_PROPERTY;
  1972. }
  1973.     /* 0 */
  1974.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_check_availability_0, current_date) {
  1975.         date(0,1,1) .. date(5000000,12,31): assembly_plant_available_game_mode;
  1976.         return CB_RESULT_IND_NO_CONSTRUCTION;
  1977.     }
  1978.     /* 0 */
  1979.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_check_availability_1, current_date) {
  1980.         date(0,1,1) .. date(5000000,12,31): assembly_plant_available_game_mode;
  1981.         return CB_RESULT_IND_NO_CONSTRUCTION;
  1982.     }
  1983.     /* 0 */
  1984.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_check_availability_4, current_date) {
  1985.         date(0,1,1) .. date(5000000,12,31): assembly_plant_available_game_mode;
  1986.         return CB_RESULT_IND_NO_CONSTRUCTION;
  1987.     }
  1988.     /* 0 */
  1989.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_check_availability_5, current_date) {
  1990.         date(0,1,1) .. date(5000000,12,31): assembly_plant_available_game_mode;
  1991.         return CB_RESULT_IND_NO_CONSTRUCTION;
  1992.     }
  1993.     /* 0 */
  1994.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_check_availability_3, current_date) {
  1995.         date(0,1,1) .. date(5000000,12,31): assembly_plant_available_game_mode;
  1996.         return CB_RESULT_IND_NO_CONSTRUCTION;
  1997.     }
  1998.     /* 0 */
  1999.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_check_availability_2, current_date) {
  2000.         date(0,1,1) .. date(5000000,12,31): assembly_plant_available_game_mode;
  2001.         return CB_RESULT_IND_NO_CONSTRUCTION;
  2002.     }
  2003. switch (FEAT_INDUSTRIES, SELF, assembly_plant_check_availability, economy) {
  2004.         0: assembly_plant_check_availability_0;
  2005.         1: assembly_plant_check_availability_1;
  2006.         4: assembly_plant_check_availability_4;
  2007.         5: assembly_plant_check_availability_5;
  2008.         3: assembly_plant_check_availability_3;
  2009.         2: assembly_plant_check_availability_2;
  2010. }
  2011.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_min_distance_70, industry_distance(70)) {
  2012.         0 .. 16: return CB_RESULT_LOCATION_DISALLOW;
  2013.         return CB_RESULT_LOCATION_ALLOW;
  2014.     }
  2015.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_min_distance_33, industry_distance(33)) {
  2016.         0 .. 16: return CB_RESULT_LOCATION_DISALLOW;
  2017.         assembly_plant_min_distance_70;
  2018.     }
  2019.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_min_distance_2, industry_distance(2)) {
  2020.         0 .. 16: return CB_RESULT_LOCATION_DISALLOW;
  2021.         assembly_plant_min_distance_33;
  2022.     }
  2023.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_min_distance_81, industry_distance(81)) {
  2024.         0 .. 16: return CB_RESULT_LOCATION_DISALLOW;
  2025.         assembly_plant_min_distance_2;
  2026.     }
  2027.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_min_distance_88, industry_distance(88)) {
  2028.         0 .. 16: return CB_RESULT_LOCATION_DISALLOW;
  2029.         assembly_plant_min_distance_81;
  2030.     }
  2031.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_min_distance_62, industry_distance(62)) {
  2032.         0 .. 56: return CB_RESULT_LOCATION_DISALLOW;
  2033.         assembly_plant_min_distance_88;
  2034.     }
  2035.     switch (FEAT_INDUSTRIES, SELF, assembly_plant_check_location, (
  2036.                 (extra_callback_info2 == IND_CREATION_FUND) ||
  2037.                 (extra_callback_info2 == IND_CREATION_PROSPECT)
  2038.                 )
  2039.             ) {
  2040.         1: return CB_RESULT_LOCATION_ALLOW;
  2041.         assembly_plant_min_distance_62;
  2042.     }
  2043.         if (economy==5) {
  2044.             item(FEAT_INDUSTRIES, assembly_plant, 62) {
  2045.                 property {
  2046.                     substitute: 0;
  2047.                     override: 0;
  2048.                     map_colour: 141;
  2049.                     life_type: IND_LIFE_TYPE_PROCESSING;
  2050.                     min_cargo_distr: 1;
  2051.                     layouts: [assembly_plant_industry_layout_1_tilelayout];
  2052.                     spec_flags: bitmask(IND_FLAG_LONG_CARGO_TYPE_LISTS);
  2053.                     conflicting_ind_types: []; // set this prop empty, FIRS has it's own better checks for this
  2054.                    random_sound_effects: []; // set this empty to avoid spurious default industry sounds (as of May 2017 FIRS does not yet use sound effects)
  2055.                    name: string(STR_IND_ASSEMBLY_PLANT);
  2056.                    prob_random: 5;
  2057.                    prob_in_game: 3;
  2058.                    fund_cost_multiplier: 145;
  2059.                    remove_cost_multiplier: 0;
  2060.                    remove_cost_multiplier: 0;
  2061.                    cargo_types: [accept_cargo("VPTS"),accept_cargo("VBOD"),accept_cargo("VENG"),accept_cargo("TYRE"),produce_cargo("VEHI",0),produce_cargo("ENSP",0),produce_cargo("FMSP",0)];
  2062.                    nearby_station_name: string(STR_STATION, string(STR_TOWN),string(STR_STATION_AUTOMOTIVE));
  2063.                }
  2064.            }
  2065.        }
  2066.        if (economy==5) {
  2067.            item(FEAT_INDUSTRIES, assembly_plant, 62) {
  2068.                graphics {
  2069.                    construction_probability: assembly_plant_check_availability;
  2070.                    produce_cargo_arrival:    assembly_plant_produce_cargo_arrival;
  2071.                    monthly_prod_change:      CB_RESULT_IND_PROD_NO_CHANGE;
  2072.                    random_prod_change:       CB_RESULT_IND_PROD_NO_CHANGE;
  2073.                    location_check:           assembly_plant_check_location;
  2074.                    extra_text_fund:          return CB_RESULT_NO_TEXT;
  2075.                    extra_text_industry:      assembly_plant_extra_text;
  2076.                    cargo_subtype_display:    assembly_plant_cargo_subtype_display;
  2077.                    colour:                   switch_colour;
  2078.                }
  2079.            }
  2080.        }

Comments