Loading

Paste #pk0ub5j5s

  1.         // buildings (snow aware)
  2.                 building {
  3.                     sprite: machine_shop_spriteset_1_0(0* animation_frame);
  4.                     recolour_mode: RECOLOUR_REMAP;
  5.                     palette: PALETTE_USE_DEFAULT;
  6.                     xoffset: 0;
  7.                     yoffset: 0;
  8.                     zoffset: 0;
  9.                     xextent: 16;
  10.                     yextent: 16;
  11.                     zextent: 32;
  12.                     always_draw: 0;
  13.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  14.                 }
  15.                 building {
  16.                     sprite: machine_shop_spriteset_1_0_snow(0* animation_frame);
  17.                     recolour_mode: RECOLOUR_REMAP;
  18.                     palette: PALETTE_USE_DEFAULT;
  19.                     xoffset: 0;
  20.                     yoffset: 0;
  21.                     zoffset: 0;
  22.                     xextent: 16;
  23.                     yextent: 16;
  24.                     zextent: 32;
  25.                     always_draw: 0;
  26.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  27.                 }
  28.  
  29.  
  30.  
  31.                 building {
  32.                     sprite: machine_shop_spriteset_1_1(0* animation_frame);
  33.                     recolour_mode: RECOLOUR_REMAP;
  34.                     palette: PALETTE_USE_DEFAULT;
  35.                     xoffset: 0;
  36.                     yoffset: 0;
  37.                     zoffset: 0;
  38.                     xextent: 16;
  39.                     yextent: 16;
  40.                     zextent: 32;
  41.                     always_draw: 0;
  42.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  43.                 }
  44.                 building {
  45.                     sprite: machine_shop_spriteset_1_1_snow(0* animation_frame);
  46.                     recolour_mode: RECOLOUR_REMAP;
  47.                     palette: PALETTE_USE_DEFAULT;
  48.                     xoffset: 0;
  49.                     yoffset: 0;
  50.                     zoffset: 0;
  51.                     xextent: 16;
  52.                     yextent: 16;
  53.                     zextent: 32;
  54.                     always_draw: 0;
  55.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  56.                 }
  57.  
  58.  
  59.  
  60.                 building {
  61.                     sprite: machine_shop_spriteset_1_2(0* animation_frame);
  62.                     recolour_mode: RECOLOUR_REMAP;
  63.                     palette: PALETTE_USE_DEFAULT;
  64.                     xoffset: 0;
  65.                     yoffset: 0;
  66.                     zoffset: 0;
  67.                     xextent: 16;
  68.                     yextent: 16;
  69.                     zextent: 32;
  70.                     always_draw: 0;
  71.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  72.                 }
  73.                 building {
  74.                     sprite: machine_shop_spriteset_1_2_snow(0* animation_frame);
  75.                     recolour_mode: RECOLOUR_REMAP;
  76.                     palette: PALETTE_USE_DEFAULT;
  77.                     xoffset: 0;
  78.                     yoffset: 0;
  79.                     zoffset: 0;
  80.                     xextent: 16;
  81.                     yextent: 16;
  82.                     zextent: 32;
  83.                     always_draw: 0;
  84.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  85.                 }
  86.  
  87.  
  88.  
  89.                 building {
  90.                     sprite: machine_shop_spriteset_1_3(0* animation_frame);
  91.                     recolour_mode: RECOLOUR_REMAP;
  92.                     palette: PALETTE_USE_DEFAULT;
  93.                     xoffset: 0;
  94.                     yoffset: 0;
  95.                     zoffset: 0;
  96.                     xextent: 16;
  97.                     yextent: 16;
  98.                     zextent: 32;
  99.                     always_draw: 0;
  100.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  101.                 }
  102.                 building {
  103.                     sprite: machine_shop_spriteset_1_3_snow(0* animation_frame);
  104.                     recolour_mode: RECOLOUR_REMAP;
  105.                     palette: PALETTE_USE_DEFAULT;
  106.                     xoffset: 0;
  107.                     yoffset: 0;
  108.                     zoffset: 0;
  109.                     xextent: 16;
  110.                     yextent: 16;
  111.                     zextent: 32;
  112.                     always_draw: 0;
  113.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  114.                 }
  115.  
  116.  
  117.  
  118.                 building {
  119.                     sprite: machine_shop_spriteset_1_4(0* animation_frame);
  120.                     recolour_mode: RECOLOUR_REMAP;
  121.                     palette: PALETTE_USE_DEFAULT;
  122.                     xoffset: 0;
  123.                     yoffset: 0;
  124.                     zoffset: 0;
  125.                     xextent: 16;
  126.                     yextent: 16;
  127.                     zextent: 32;
  128.                     always_draw: 0;
  129.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  130.                 }
  131.                 building {
  132.                     sprite: machine_shop_spriteset_1_4_snow(0* animation_frame);
  133.                     recolour_mode: RECOLOUR_REMAP;
  134.                     palette: PALETTE_USE_DEFAULT;
  135.                     xoffset: 0;
  136.                     yoffset: 0;
  137.                     zoffset: 0;
  138.                     xextent: 16;
  139.                     yextent: 16;
  140.                     zextent: 32;
  141.                     always_draw: 0;
  142.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  143.                 }
  144.  
  145.  
  146.  
  147.                 building {
  148.                     sprite: machine_shop_spriteset_1_5(0* animation_frame);
  149.                     recolour_mode: RECOLOUR_REMAP;
  150.                     palette: PALETTE_USE_DEFAULT;
  151.                     xoffset: 0;
  152.                     yoffset: 0;
  153.                     zoffset: 0;
  154.                     xextent: 16;
  155.                     yextent: 16;
  156.                     zextent: 32;
  157.                     always_draw: 0;
  158.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  159.                 }
  160.                 building {
  161.                     sprite: machine_shop_spriteset_1_5_snow(0* animation_frame);
  162.                     recolour_mode: RECOLOUR_REMAP;
  163.                     palette: PALETTE_USE_DEFAULT;
  164.                     xoffset: 0;
  165.                     yoffset: 0;
  166.                     zoffset: 0;
  167.                     xextent: 16;
  168.                     yextent: 16;
  169.                     zextent: 32;
  170.                     always_draw: 0;
  171.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  172.                 }
  173.  
  174.  
  175.  
  176.         // smoke sprites
  177.  
  178.  
  179.         // fences SE and SW
  180.  
  181.             building {
  182.                 sprite: 1301 + LOAD_TEMP(3);
  183.                 hide_sprite: (LOAD_TEMP(11) == 0);
  184.                 xoffset: 0;
  185.                 yoffset: 16;
  186.                 zoffset: LOAD_TEMP(7) * 8;
  187.                 xextent: 16;
  188.                 yextent: 1;
  189.                 zextent: 6;
  190.                 recolour_mode: RECOLOUR_REMAP;
  191.                 palette: PALETTE_USE_DEFAULT;
  192.             }
  193.  
  194.  
  195.             building {
  196.                 sprite: 1302 + LOAD_TEMP(4);
  197.                 hide_sprite: (LOAD_TEMP(12) == 0);
  198.                 xoffset: 16;
  199.                 yoffset: 0;
  200.                 zoffset: LOAD_TEMP(8) * 8;
  201.                 xextent: 1;
  202.                 yextent: 16;
  203.                 zextent: 6;
  204.                 recolour_mode: RECOLOUR_REMAP;
  205.                 palette: PALETTE_USE_DEFAULT;
  206.             }
  207.  
  208.  
  209.     }
  210.  
  211.     spritelayout machine_shop_spritelayout_2 {
  212.  
  213.  
  214.         // industry-specific ground (snow aware)
  215.         // normal
  216.         childsprite {
  217.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  218.             recolour_mode: RECOLOUR_REMAP;
  219.             palette: PALETTE_USE_DEFAULT;
  220.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  221.             always_draw: 1;
  222.         }
  223.         childsprite {
  224.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  225.             recolour_mode: RECOLOUR_REMAP;
  226.             palette: PALETTE_USE_DEFAULT;
  227.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  228.             always_draw: 1;
  229.         }
  230.         // snow
  231.         childsprite {
  232.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  233.             recolour_mode: RECOLOUR_REMAP;
  234.             palette: PALETTE_USE_DEFAULT;
  235.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  236.             always_draw: 1;
  237.         }
  238.         childsprite {
  239.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  240.             recolour_mode: RECOLOUR_REMAP;
  241.             palette: PALETTE_USE_DEFAULT;
  242.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  243.             always_draw: 1;
  244.         }
  245.         // fences NE and NW
  246.  
  247.             building {
  248.                 sprite: 1302 + LOAD_TEMP(1);
  249.                 hide_sprite: (LOAD_TEMP(9) == 0);
  250.                 xoffset: 0;
  251.                 yoffset: 0;
  252.                 zoffset: LOAD_TEMP(5) * 8;
  253.                 xextent: 1;
  254.                 yextent: 16;
  255.                 zextent: 6;
  256.                 recolour_mode: RECOLOUR_REMAP;
  257.                 palette: PALETTE_USE_DEFAULT;
  258.             }
  259.  
  260.  
  261.             building {
  262.                 sprite: 1301 + LOAD_TEMP(2);
  263.                 hide_sprite: (LOAD_TEMP(10) == 0);
  264.                 xoffset: 0;
  265.                 yoffset: 0;
  266.                 zoffset: LOAD_TEMP(6) * 8;
  267.                 xextent: 16;
  268.                 yextent: 1;
  269.                 zextent: 6;
  270.                 recolour_mode: RECOLOUR_REMAP;
  271.                 palette: PALETTE_USE_DEFAULT;
  272.             }
  273.  
  274.  
  275.         // construction stages - optional
  276.  
  277.             // construction states (no snow awareness)
  278.             building {
  279.                 sprite: machine_shop_spriteset_2_0(0* animation_frame);
  280.                 recolour_mode: RECOLOUR_REMAP;
  281.                 palette: PALETTE_USE_DEFAULT;
  282.                 xoffset: 0;
  283.                 yoffset: 0;
  284.                 zoffset: 0;
  285.                 xextent: 16;
  286.                 yextent: 16;
  287.                 zextent: 32;
  288.                 always_draw: 0;
  289.                 hide_sprite: (construction_state != 0);
  290.             }
  291.             building {
  292.                 sprite: machine_shop_spriteset_2_0(0* animation_frame);
  293.                 recolour_mode: RECOLOUR_REMAP;
  294.                 palette: PALETTE_USE_DEFAULT;
  295.                 xoffset: 0;
  296.                 yoffset: 0;
  297.                 zoffset: 0;
  298.                 xextent: 16;
  299.                 yextent: 16;
  300.                 zextent: 32;
  301.                 always_draw: 0;
  302.                 hide_sprite: (construction_state != 1);
  303.             }
  304.             building {
  305.                 sprite: machine_shop_spriteset_2_0(0* animation_frame);
  306.                 recolour_mode: RECOLOUR_REMAP;
  307.                 palette: PALETTE_USE_DEFAULT;
  308.                 xoffset: 0;
  309.                 yoffset: 0;
  310.                 zoffset: 0;
  311.                 xextent: 16;
  312.                 yextent: 16;
  313.                 zextent: 32;
  314.                 always_draw: 0;
  315.                 hide_sprite: (construction_state != 2);
  316.             }
  317.  
  318.         // buildings (snow aware)
  319.  
  320.  
  321.                 building {
  322.                     sprite: machine_shop_spriteset_2_0(0* animation_frame);
  323.                     recolour_mode: RECOLOUR_REMAP;
  324.                     palette: PALETTE_USE_DEFAULT;
  325.                     xoffset: 0;
  326.                     yoffset: 0;
  327.                     zoffset: 0;
  328.                     xextent: 16;
  329.                     yextent: 16;
  330.                     zextent: 32;
  331.                     always_draw: 0;
  332.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  333.                 }
  334.                 building {
  335.                     sprite: machine_shop_spriteset_2_0_snow(0* animation_frame);
  336.                     recolour_mode: RECOLOUR_REMAP;
  337.                     palette: PALETTE_USE_DEFAULT;
  338.                     xoffset: 0;
  339.                     yoffset: 0;
  340.                     zoffset: 0;
  341.                     xextent: 16;
  342.                     yextent: 16;
  343.                     zextent: 32;
  344.                     always_draw: 0;
  345.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  346.                 }
  347.  
  348.  
  349.  
  350.                 building {
  351.                     sprite: machine_shop_spriteset_2_1(0* animation_frame);
  352.                     recolour_mode: RECOLOUR_REMAP;
  353.                     palette: PALETTE_USE_DEFAULT;
  354.                     xoffset: 0;
  355.                     yoffset: 0;
  356.                     zoffset: 0;
  357.                     xextent: 16;
  358.                     yextent: 16;
  359.                     zextent: 32;
  360.                     always_draw: 0;
  361.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  362.                 }
  363.                 building {
  364.                     sprite: machine_shop_spriteset_2_1_snow(0* animation_frame);
  365.                     recolour_mode: RECOLOUR_REMAP;
  366.                     palette: PALETTE_USE_DEFAULT;
  367.                     xoffset: 0;
  368.                     yoffset: 0;
  369.                     zoffset: 0;
  370.                     xextent: 16;
  371.                     yextent: 16;
  372.                     zextent: 32;
  373.                     always_draw: 0;
  374.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  375.                 }
  376.  
  377.  
  378.  
  379.                 building {
  380.                     sprite: machine_shop_spriteset_2_2(0* animation_frame);
  381.                     recolour_mode: RECOLOUR_REMAP;
  382.                     palette: PALETTE_USE_DEFAULT;
  383.                     xoffset: 0;
  384.                     yoffset: 0;
  385.                     zoffset: 0;
  386.                     xextent: 16;
  387.                     yextent: 16;
  388.                     zextent: 32;
  389.                     always_draw: 0;
  390.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  391.                 }
  392.                 building {
  393.                     sprite: machine_shop_spriteset_2_2_snow(0* animation_frame);
  394.                     recolour_mode: RECOLOUR_REMAP;
  395.                     palette: PALETTE_USE_DEFAULT;
  396.                     xoffset: 0;
  397.                     yoffset: 0;
  398.                     zoffset: 0;
  399.                     xextent: 16;
  400.                     yextent: 16;
  401.                     zextent: 32;
  402.                     always_draw: 0;
  403.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  404.                 }
  405.  
  406.  
  407.  
  408.                 building {
  409.                     sprite: machine_shop_spriteset_2_3(0* animation_frame);
  410.                     recolour_mode: RECOLOUR_REMAP;
  411.                     palette: PALETTE_USE_DEFAULT;
  412.                     xoffset: 0;
  413.                     yoffset: 0;
  414.                     zoffset: 0;
  415.                     xextent: 16;
  416.                     yextent: 16;
  417.                     zextent: 32;
  418.                     always_draw: 0;
  419.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  420.                 }
  421.                 building {
  422.                     sprite: machine_shop_spriteset_2_3_snow(0* animation_frame);
  423.                     recolour_mode: RECOLOUR_REMAP;
  424.                     palette: PALETTE_USE_DEFAULT;
  425.                     xoffset: 0;
  426.                     yoffset: 0;
  427.                     zoffset: 0;
  428.                     xextent: 16;
  429.                     yextent: 16;
  430.                     zextent: 32;
  431.                     always_draw: 0;
  432.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  433.                 }
  434.  
  435.  
  436.  
  437.                 building {
  438.                     sprite: machine_shop_spriteset_2_4(0* animation_frame);
  439.                     recolour_mode: RECOLOUR_REMAP;
  440.                     palette: PALETTE_USE_DEFAULT;
  441.                     xoffset: 0;
  442.                     yoffset: 0;
  443.                     zoffset: 0;
  444.                     xextent: 16;
  445.                     yextent: 16;
  446.                     zextent: 32;
  447.                     always_draw: 0;
  448.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  449.                 }
  450.                 building {
  451.                     sprite: machine_shop_spriteset_2_4_snow(0* animation_frame);
  452.                     recolour_mode: RECOLOUR_REMAP;
  453.                     palette: PALETTE_USE_DEFAULT;
  454.                     xoffset: 0;
  455.                     yoffset: 0;
  456.                     zoffset: 0;
  457.                     xextent: 16;
  458.                     yextent: 16;
  459.                     zextent: 32;
  460.                     always_draw: 0;
  461.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  462.                 }
  463.  
  464.  
  465.  
  466.                 building {
  467.                     sprite: machine_shop_spriteset_2_5(0* animation_frame);
  468.                     recolour_mode: RECOLOUR_REMAP;
  469.                     palette: PALETTE_USE_DEFAULT;
  470.                     xoffset: 0;
  471.                     yoffset: 0;
  472.                     zoffset: 0;
  473.                     xextent: 16;
  474.                     yextent: 16;
  475.                     zextent: 32;
  476.                     always_draw: 0;
  477.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  478.                 }
  479.                 building {
  480.                     sprite: machine_shop_spriteset_2_5_snow(0* animation_frame);
  481.                     recolour_mode: RECOLOUR_REMAP;
  482.                     palette: PALETTE_USE_DEFAULT;
  483.                     xoffset: 0;
  484.                     yoffset: 0;
  485.                     zoffset: 0;
  486.                     xextent: 16;
  487.                     yextent: 16;
  488.                     zextent: 32;
  489.                     always_draw: 0;
  490.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  491.                 }
  492.  
  493.  
  494.  
  495.         // smoke sprites
  496.  
  497.  
  498.         // fences SE and SW
  499.  
  500.             building {
  501.                 sprite: 1301 + LOAD_TEMP(3);
  502.                 hide_sprite: (LOAD_TEMP(11) == 0);
  503.                 xoffset: 0;
  504.                 yoffset: 16;
  505.                 zoffset: LOAD_TEMP(7) * 8;
  506.                 xextent: 16;
  507.                 yextent: 1;
  508.                 zextent: 6;
  509.                 recolour_mode: RECOLOUR_REMAP;
  510.                 palette: PALETTE_USE_DEFAULT;
  511.             }
  512.  
  513.  
  514.             building {
  515.                 sprite: 1302 + LOAD_TEMP(4);
  516.                 hide_sprite: (LOAD_TEMP(12) == 0);
  517.                 xoffset: 16;
  518.                 yoffset: 0;
  519.                 zoffset: LOAD_TEMP(8) * 8;
  520.                 xextent: 1;
  521.                 yextent: 16;
  522.                 zextent: 6;
  523.                 recolour_mode: RECOLOUR_REMAP;
  524.                 palette: PALETTE_USE_DEFAULT;
  525.             }
  526.  
  527.  
  528.     }
  529.  
  530.     spritelayout machine_shop_spritelayout_3 {
  531.  
  532.  
  533.         // industry-specific ground (snow aware)
  534.         // normal
  535.         childsprite {
  536.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  537.             recolour_mode: RECOLOUR_REMAP;
  538.             palette: PALETTE_USE_DEFAULT;
  539.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  540.             always_draw: 1;
  541.         }
  542.         childsprite {
  543.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  544.             recolour_mode: RECOLOUR_REMAP;
  545.             palette: PALETTE_USE_DEFAULT;
  546.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  547.             always_draw: 1;
  548.         }
  549.         // snow
  550.         childsprite {
  551.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  552.             recolour_mode: RECOLOUR_REMAP;
  553.             palette: PALETTE_USE_DEFAULT;
  554.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  555.             always_draw: 1;
  556.         }
  557.         childsprite {
  558.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  559.             recolour_mode: RECOLOUR_REMAP;
  560.             palette: PALETTE_USE_DEFAULT;
  561.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  562.             always_draw: 1;
  563.         }
  564.         // fences NE and NW
  565.  
  566.             building {
  567.                 sprite: 1302 + LOAD_TEMP(1);
  568.                 hide_sprite: (LOAD_TEMP(9) == 0);
  569.                 xoffset: 0;
  570.                 yoffset: 0;
  571.                 zoffset: LOAD_TEMP(5) * 8;
  572.                 xextent: 1;
  573.                 yextent: 16;
  574.                 zextent: 6;
  575.                 recolour_mode: RECOLOUR_REMAP;
  576.                 palette: PALETTE_USE_DEFAULT;
  577.             }
  578.  
  579.  
  580.             building {
  581.                 sprite: 1301 + LOAD_TEMP(2);
  582.                 hide_sprite: (LOAD_TEMP(10) == 0);
  583.                 xoffset: 0;
  584.                 yoffset: 0;
  585.                 zoffset: LOAD_TEMP(6) * 8;
  586.                 xextent: 16;
  587.                 yextent: 1;
  588.                 zextent: 6;
  589.                 recolour_mode: RECOLOUR_REMAP;
  590.                 palette: PALETTE_USE_DEFAULT;
  591.             }
  592.  
  593.  
  594.         // construction stages - optional
  595.  
  596.             // construction states (no snow awareness)
  597.             building {
  598.                 sprite: machine_shop_spriteset_3_0(0* animation_frame);
  599.                 recolour_mode: RECOLOUR_REMAP;
  600.                 palette: PALETTE_USE_DEFAULT;
  601.                 xoffset: 0;
  602.                 yoffset: 0;
  603.                 zoffset: 0;
  604.                 xextent: 16;
  605.                 yextent: 16;
  606.                 zextent: 32;
  607.                 always_draw: 0;
  608.                 hide_sprite: (construction_state != 0);
  609.             }
  610.             building {
  611.                 sprite: machine_shop_spriteset_3_0(0* animation_frame);
  612.                 recolour_mode: RECOLOUR_REMAP;
  613.                 palette: PALETTE_USE_DEFAULT;
  614.                 xoffset: 0;
  615.                 yoffset: 0;
  616.                 zoffset: 0;
  617.                 xextent: 16;
  618.                 yextent: 16;
  619.                 zextent: 32;
  620.                 always_draw: 0;
  621.                 hide_sprite: (construction_state != 1);
  622.             }
  623.             building {
  624.                 sprite: machine_shop_spriteset_3_0(0* animation_frame);
  625.                 recolour_mode: RECOLOUR_REMAP;
  626.                 palette: PALETTE_USE_DEFAULT;
  627.                 xoffset: 0;
  628.                 yoffset: 0;
  629.                 zoffset: 0;
  630.                 xextent: 16;
  631.                 yextent: 16;
  632.                 zextent: 32;
  633.                 always_draw: 0;
  634.                 hide_sprite: (construction_state != 2);
  635.             }
  636.  
  637.         // buildings (snow aware)
  638.  
  639.  
  640.                 building {
  641.                     sprite: machine_shop_spriteset_3_0(0* animation_frame);
  642.                     recolour_mode: RECOLOUR_REMAP;
  643.                     palette: PALETTE_USE_DEFAULT;
  644.                     xoffset: 0;
  645.                     yoffset: 0;
  646.                     zoffset: 0;
  647.                     xextent: 16;
  648.                     yextent: 16;
  649.                     zextent: 32;
  650.                     always_draw: 0;
  651.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  652.                 }
  653.                 building {
  654.                     sprite: machine_shop_spriteset_3_0_snow(0* animation_frame);
  655.                     recolour_mode: RECOLOUR_REMAP;
  656.                     palette: PALETTE_USE_DEFAULT;
  657.                     xoffset: 0;
  658.                     yoffset: 0;
  659.                     zoffset: 0;
  660.                     xextent: 16;
  661.                     yextent: 16;
  662.                     zextent: 32;
  663.                     always_draw: 0;
  664.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  665.                 }
  666.  
  667.  
  668.  
  669.                 building {
  670.                     sprite: machine_shop_spriteset_3_1(0* animation_frame);
  671.                     recolour_mode: RECOLOUR_REMAP;
  672.                     palette: PALETTE_USE_DEFAULT;
  673.                     xoffset: 0;
  674.                     yoffset: 0;
  675.                     zoffset: 0;
  676.                     xextent: 16;
  677.                     yextent: 16;
  678.                     zextent: 32;
  679.                     always_draw: 0;
  680.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  681.                 }
  682.                 building {
  683.                     sprite: machine_shop_spriteset_3_1_snow(0* animation_frame);
  684.                     recolour_mode: RECOLOUR_REMAP;
  685.                     palette: PALETTE_USE_DEFAULT;
  686.                     xoffset: 0;
  687.                     yoffset: 0;
  688.                     zoffset: 0;
  689.                     xextent: 16;
  690.                     yextent: 16;
  691.                     zextent: 32;
  692.                     always_draw: 0;
  693.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  694.                 }
  695.  
  696.  
  697.  
  698.                 building {
  699.                     sprite: machine_shop_spriteset_3_2(0* animation_frame);
  700.                     recolour_mode: RECOLOUR_REMAP;
  701.                     palette: PALETTE_USE_DEFAULT;
  702.                     xoffset: 0;
  703.                     yoffset: 0;
  704.                     zoffset: 0;
  705.                     xextent: 16;
  706.                     yextent: 16;
  707.                     zextent: 32;
  708.                     always_draw: 0;
  709.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  710.                 }
  711.                 building {
  712.                     sprite: machine_shop_spriteset_3_2_snow(0* animation_frame);
  713.                     recolour_mode: RECOLOUR_REMAP;
  714.                     palette: PALETTE_USE_DEFAULT;
  715.                     xoffset: 0;
  716.                     yoffset: 0;
  717.                     zoffset: 0;
  718.                     xextent: 16;
  719.                     yextent: 16;
  720.                     zextent: 32;
  721.                     always_draw: 0;
  722.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  723.                 }
  724.  
  725.  
  726.  
  727.                 building {
  728.                     sprite: machine_shop_spriteset_3_3(0* animation_frame);
  729.                     recolour_mode: RECOLOUR_REMAP;
  730.                     palette: PALETTE_USE_DEFAULT;
  731.                     xoffset: 0;
  732.                     yoffset: 0;
  733.                     zoffset: 0;
  734.                     xextent: 16;
  735.                     yextent: 16;
  736.                     zextent: 32;
  737.                     always_draw: 0;
  738.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  739.                 }
  740.                 building {
  741.                     sprite: machine_shop_spriteset_3_3_snow(0* animation_frame);
  742.                     recolour_mode: RECOLOUR_REMAP;
  743.                     palette: PALETTE_USE_DEFAULT;
  744.                     xoffset: 0;
  745.                     yoffset: 0;
  746.                     zoffset: 0;
  747.                     xextent: 16;
  748.                     yextent: 16;
  749.                     zextent: 32;
  750.                     always_draw: 0;
  751.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  752.                 }
  753.  
  754.  
  755.  
  756.                 building {
  757.                     sprite: machine_shop_spriteset_3_4(0* animation_frame);
  758.                     recolour_mode: RECOLOUR_REMAP;
  759.                     palette: PALETTE_USE_DEFAULT;
  760.                     xoffset: 0;
  761.                     yoffset: 0;
  762.                     zoffset: 0;
  763.                     xextent: 16;
  764.                     yextent: 16;
  765.                     zextent: 32;
  766.                     always_draw: 0;
  767.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  768.                 }
  769.                 building {
  770.                     sprite: machine_shop_spriteset_3_4_snow(0* animation_frame);
  771.                     recolour_mode: RECOLOUR_REMAP;
  772.                     palette: PALETTE_USE_DEFAULT;
  773.                     xoffset: 0;
  774.                     yoffset: 0;
  775.                     zoffset: 0;
  776.                     xextent: 16;
  777.                     yextent: 16;
  778.                     zextent: 32;
  779.                     always_draw: 0;
  780.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  781.                 }
  782.  
  783.  
  784.  
  785.                 building {
  786.                     sprite: machine_shop_spriteset_3_5(0* animation_frame);
  787.                     recolour_mode: RECOLOUR_REMAP;
  788.                     palette: PALETTE_USE_DEFAULT;
  789.                     xoffset: 0;
  790.                     yoffset: 0;
  791.                     zoffset: 0;
  792.                     xextent: 16;
  793.                     yextent: 16;
  794.                     zextent: 32;
  795.                     always_draw: 0;
  796.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  797.                 }
  798.                 building {
  799.                     sprite: machine_shop_spriteset_3_5_snow(0* animation_frame);
  800.                     recolour_mode: RECOLOUR_REMAP;
  801.                     palette: PALETTE_USE_DEFAULT;
  802.                     xoffset: 0;
  803.                     yoffset: 0;
  804.                     zoffset: 0;
  805.                     xextent: 16;
  806.                     yextent: 16;
  807.                     zextent: 32;
  808.                     always_draw: 0;
  809.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  810.                 }
  811.  
  812.  
  813.  
  814.         // smoke sprites
  815.  
  816.  
  817.         // fences SE and SW
  818.  
  819.             building {
  820.                 sprite: 1301 + LOAD_TEMP(3);
  821.                 hide_sprite: (LOAD_TEMP(11) == 0);
  822.                 xoffset: 0;
  823.                 yoffset: 16;
  824.                 zoffset: LOAD_TEMP(7) * 8;
  825.                 xextent: 16;
  826.                 yextent: 1;
  827.                 zextent: 6;
  828.                 recolour_mode: RECOLOUR_REMAP;
  829.                 palette: PALETTE_USE_DEFAULT;
  830.             }
  831.  
  832.  
  833.             building {
  834.                 sprite: 1302 + LOAD_TEMP(4);
  835.                 hide_sprite: (LOAD_TEMP(12) == 0);
  836.                 xoffset: 16;
  837.                 yoffset: 0;
  838.                 zoffset: LOAD_TEMP(8) * 8;
  839.                 xextent: 1;
  840.                 yextent: 16;
  841.                 zextent: 6;
  842.                 recolour_mode: RECOLOUR_REMAP;
  843.                 palette: PALETTE_USE_DEFAULT;
  844.             }
  845.  
  846.  
  847.     }
  848.  
  849.     spritelayout machine_shop_spritelayout_4 {
  850.  
  851.  
  852.         // industry-specific ground (snow aware)
  853.         // normal
  854.         childsprite {
  855.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  856.             recolour_mode: RECOLOUR_REMAP;
  857.             palette: PALETTE_USE_DEFAULT;
  858.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  859.             always_draw: 1;
  860.         }
  861.         childsprite {
  862.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  863.             recolour_mode: RECOLOUR_REMAP;
  864.             palette: PALETTE_USE_DEFAULT;
  865.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  866.             always_draw: 1;
  867.         }
  868.         // snow
  869.         childsprite {
  870.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  871.             recolour_mode: RECOLOUR_REMAP;
  872.             palette: PALETTE_USE_DEFAULT;
  873.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  874.             always_draw: 1;
  875.         }
  876.         childsprite {
  877.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  878.             recolour_mode: RECOLOUR_REMAP;
  879.             palette: PALETTE_USE_DEFAULT;
  880.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  881.             always_draw: 1;
  882.         }
  883.         // fences NE and NW
  884.  
  885.             building {
  886.                 sprite: 1302 + LOAD_TEMP(1);
  887.                 hide_sprite: (LOAD_TEMP(9) == 0);
  888.                 xoffset: 0;
  889.                 yoffset: 0;
  890.                 zoffset: LOAD_TEMP(5) * 8;
  891.                 xextent: 1;
  892.                 yextent: 16;
  893.                 zextent: 6;
  894.                 recolour_mode: RECOLOUR_REMAP;
  895.                 palette: PALETTE_USE_DEFAULT;
  896.             }
  897.  
  898.  
  899.             building {
  900.                 sprite: 1301 + LOAD_TEMP(2);
  901.                 hide_sprite: (LOAD_TEMP(10) == 0);
  902.                 xoffset: 0;
  903.                 yoffset: 0;
  904.                 zoffset: LOAD_TEMP(6) * 8;
  905.                 xextent: 16;
  906.                 yextent: 1;
  907.                 zextent: 6;
  908.                 recolour_mode: RECOLOUR_REMAP;
  909.                 palette: PALETTE_USE_DEFAULT;
  910.             }
  911.  
  912.  
  913.         // construction stages - optional
  914.  
  915.             // construction states (no snow awareness)
  916.             building {
  917.                 sprite: machine_shop_spriteset_4_0(0* animation_frame);
  918.                 recolour_mode: RECOLOUR_REMAP;
  919.                 palette: PALETTE_USE_DEFAULT;
  920.                 xoffset: 0;
  921.                 yoffset: 0;
  922.                 zoffset: 0;
  923.                 xextent: 16;
  924.                 yextent: 16;
  925.                 zextent: 32;
  926.                 always_draw: 0;
  927.                 hide_sprite: (construction_state != 0);
  928.             }
  929.             building {
  930.                 sprite: machine_shop_spriteset_4_0(0* animation_frame);
  931.                 recolour_mode: RECOLOUR_REMAP;
  932.                 palette: PALETTE_USE_DEFAULT;
  933.                 xoffset: 0;
  934.                 yoffset: 0;
  935.                 zoffset: 0;
  936.                 xextent: 16;
  937.                 yextent: 16;
  938.                 zextent: 32;
  939.                 always_draw: 0;
  940.                 hide_sprite: (construction_state != 1);
  941.             }
  942.             building {
  943.                 sprite: machine_shop_spriteset_4_0(0* animation_frame);
  944.                 recolour_mode: RECOLOUR_REMAP;
  945.                 palette: PALETTE_USE_DEFAULT;
  946.                 xoffset: 0;
  947.                 yoffset: 0;
  948.                 zoffset: 0;
  949.                 xextent: 16;
  950.                 yextent: 16;
  951.                 zextent: 32;
  952.                 always_draw: 0;
  953.                 hide_sprite: (construction_state != 2);
  954.             }
  955.  
  956.         // buildings (snow aware)
  957.  
  958.  
  959.                 building {
  960.                     sprite: machine_shop_spriteset_4_0(0* animation_frame);
  961.                     recolour_mode: RECOLOUR_REMAP;
  962.                     palette: PALETTE_USE_DEFAULT;
  963.                     xoffset: 0;
  964.                     yoffset: 0;
  965.                     zoffset: 0;
  966.                     xextent: 16;
  967.                     yextent: 16;
  968.                     zextent: 32;
  969.                     always_draw: 0;
  970.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  971.                 }
  972.                 building {
  973.                     sprite: machine_shop_spriteset_4_0_snow(0* animation_frame);
  974.                     recolour_mode: RECOLOUR_REMAP;
  975.                     palette: PALETTE_USE_DEFAULT;
  976.                     xoffset: 0;
  977.                     yoffset: 0;
  978.                     zoffset: 0;
  979.                     xextent: 16;
  980.                     yextent: 16;
  981.                     zextent: 32;
  982.                     always_draw: 0;
  983.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  984.                 }
  985.  
  986.  
  987.  
  988.                 building {
  989.                     sprite: machine_shop_spriteset_4_1(0* animation_frame);
  990.                     recolour_mode: RECOLOUR_REMAP;
  991.                     palette: PALETTE_USE_DEFAULT;
  992.                     xoffset: 0;
  993.                     yoffset: 0;
  994.                     zoffset: 0;
  995.                     xextent: 16;
  996.                     yextent: 16;
  997.                     zextent: 32;
  998.                     always_draw: 0;
  999.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  1000.                 }
  1001.                 building {
  1002.                     sprite: machine_shop_spriteset_4_1_snow(0* animation_frame);
  1003.                     recolour_mode: RECOLOUR_REMAP;
  1004.                     palette: PALETTE_USE_DEFAULT;
  1005.                     xoffset: 0;
  1006.                     yoffset: 0;
  1007.                     zoffset: 0;
  1008.                     xextent: 16;
  1009.                     yextent: 16;
  1010.                     zextent: 32;
  1011.                     always_draw: 0;
  1012.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  1013.                 }
  1014.  
  1015.  
  1016.  
  1017.                 building {
  1018.                     sprite: machine_shop_spriteset_4_2(0* animation_frame);
  1019.                     recolour_mode: RECOLOUR_REMAP;
  1020.                     palette: PALETTE_USE_DEFAULT;
  1021.                     xoffset: 0;
  1022.                     yoffset: 0;
  1023.                     zoffset: 0;
  1024.                     xextent: 16;
  1025.                     yextent: 16;
  1026.                     zextent: 32;
  1027.                     always_draw: 0;
  1028.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  1029.                 }
  1030.                 building {
  1031.                     sprite: machine_shop_spriteset_4_2_snow(0* animation_frame);
  1032.                     recolour_mode: RECOLOUR_REMAP;
  1033.                     palette: PALETTE_USE_DEFAULT;
  1034.                     xoffset: 0;
  1035.                     yoffset: 0;
  1036.                     zoffset: 0;
  1037.                     xextent: 16;
  1038.                     yextent: 16;
  1039.                     zextent: 32;
  1040.                     always_draw: 0;
  1041.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  1042.                 }
  1043.  
  1044.  
  1045.  
  1046.                 building {
  1047.                     sprite: machine_shop_spriteset_4_3(0* animation_frame);
  1048.                     recolour_mode: RECOLOUR_REMAP;
  1049.                     palette: PALETTE_USE_DEFAULT;
  1050.                     xoffset: 0;
  1051.                     yoffset: 0;
  1052.                     zoffset: 0;
  1053.                     xextent: 16;
  1054.                     yextent: 16;
  1055.                     zextent: 32;
  1056.                     always_draw: 0;
  1057.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  1058.                 }
  1059.                 building {
  1060.                     sprite: machine_shop_spriteset_4_3_snow(0* animation_frame);
  1061.                     recolour_mode: RECOLOUR_REMAP;
  1062.                     palette: PALETTE_USE_DEFAULT;
  1063.                     xoffset: 0;
  1064.                     yoffset: 0;
  1065.                     zoffset: 0;
  1066.                     xextent: 16;
  1067.                     yextent: 16;
  1068.                     zextent: 32;
  1069.                     always_draw: 0;
  1070.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  1071.                 }
  1072.  
  1073.  
  1074.  
  1075.                 building {
  1076.                     sprite: machine_shop_spriteset_4_4(0* animation_frame);
  1077.                     recolour_mode: RECOLOUR_REMAP;
  1078.                     palette: PALETTE_USE_DEFAULT;
  1079.                     xoffset: 0;
  1080.                     yoffset: 0;
  1081.                     zoffset: 0;
  1082.                     xextent: 16;
  1083.                     yextent: 16;
  1084.                     zextent: 32;
  1085.                     always_draw: 0;
  1086.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  1087.                 }
  1088.                 building {
  1089.                     sprite: machine_shop_spriteset_4_4_snow(0* animation_frame);
  1090.                     recolour_mode: RECOLOUR_REMAP;
  1091.                     palette: PALETTE_USE_DEFAULT;
  1092.                     xoffset: 0;
  1093.                     yoffset: 0;
  1094.                     zoffset: 0;
  1095.                     xextent: 16;
  1096.                     yextent: 16;
  1097.                     zextent: 32;
  1098.                     always_draw: 0;
  1099.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  1100.                 }
  1101.  
  1102.  
  1103.  
  1104.                 building {
  1105.                     sprite: machine_shop_spriteset_4_5(0* animation_frame);
  1106.                     recolour_mode: RECOLOUR_REMAP;
  1107.                     palette: PALETTE_USE_DEFAULT;
  1108.                     xoffset: 0;
  1109.                     yoffset: 0;
  1110.                     zoffset: 0;
  1111.                     xextent: 16;
  1112.                     yextent: 16;
  1113.                     zextent: 32;
  1114.                     always_draw: 0;
  1115.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  1116.                 }
  1117.                 building {
  1118.                     sprite: machine_shop_spriteset_4_5_snow(0* animation_frame);
  1119.                     recolour_mode: RECOLOUR_REMAP;
  1120.                     palette: PALETTE_USE_DEFAULT;
  1121.                     xoffset: 0;
  1122.                     yoffset: 0;
  1123.                     zoffset: 0;
  1124.                     xextent: 16;
  1125.                     yextent: 16;
  1126.                     zextent: 32;
  1127.                     always_draw: 0;
  1128.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  1129.                 }
  1130.  
  1131.  
  1132.  
  1133.         // smoke sprites
  1134.  
  1135.  
  1136.         // fences SE and SW
  1137.  
  1138.             building {
  1139.                 sprite: 1301 + LOAD_TEMP(3);
  1140.                 hide_sprite: (LOAD_TEMP(11) == 0);
  1141.                 xoffset: 0;
  1142.                 yoffset: 16;
  1143.                 zoffset: LOAD_TEMP(7) * 8;
  1144.                 xextent: 16;
  1145.                 yextent: 1;
  1146.                 zextent: 6;
  1147.                 recolour_mode: RECOLOUR_REMAP;
  1148.                 palette: PALETTE_USE_DEFAULT;
  1149.             }
  1150.  
  1151.  
  1152.             building {
  1153.                 sprite: 1302 + LOAD_TEMP(4);
  1154.                 hide_sprite: (LOAD_TEMP(12) == 0);
  1155.                 xoffset: 16;
  1156.                 yoffset: 0;
  1157.                 zoffset: LOAD_TEMP(8) * 8;
  1158.                 xextent: 1;
  1159.                 yextent: 16;
  1160.                 zextent: 6;
  1161.                 recolour_mode: RECOLOUR_REMAP;
  1162.                 palette: PALETTE_USE_DEFAULT;
  1163.             }
  1164.  
  1165.  
  1166.     }
  1167.  
  1168.     spritelayout machine_shop_spritelayout_5 {
  1169.  
  1170.  
  1171.         // industry-specific ground (snow aware)
  1172.         // normal
  1173.         childsprite {
  1174.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  1175.             recolour_mode: RECOLOUR_REMAP;
  1176.             palette: PALETTE_USE_DEFAULT;
  1177.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  1178.             always_draw: 1;
  1179.         }
  1180.         childsprite {
  1181.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  1182.             recolour_mode: RECOLOUR_REMAP;
  1183.             palette: PALETTE_USE_DEFAULT;
  1184.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  1185.             always_draw: 1;
  1186.         }
  1187.         // snow
  1188.         childsprite {
  1189.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  1190.             recolour_mode: RECOLOUR_REMAP;
  1191.             palette: PALETTE_USE_DEFAULT;
  1192.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  1193.             always_draw: 1;
  1194.         }
  1195.         childsprite {
  1196.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  1197.             recolour_mode: RECOLOUR_REMAP;
  1198.             palette: PALETTE_USE_DEFAULT;
  1199.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  1200.             always_draw: 1;
  1201.         }
  1202.         // fences NE and NW
  1203.  
  1204.             building {
  1205.                 sprite: 1302 + LOAD_TEMP(1);
  1206.                 hide_sprite: (LOAD_TEMP(9) == 0);
  1207.                 xoffset: 0;
  1208.                 yoffset: 0;
  1209.                 zoffset: LOAD_TEMP(5) * 8;
  1210.                 xextent: 1;
  1211.                 yextent: 16;
  1212.                 zextent: 6;
  1213.                 recolour_mode: RECOLOUR_REMAP;
  1214.                 palette: PALETTE_USE_DEFAULT;
  1215.             }
  1216.  
  1217.  
  1218.             building {
  1219.                 sprite: 1301 + LOAD_TEMP(2);
  1220.                 hide_sprite: (LOAD_TEMP(10) == 0);
  1221.                 xoffset: 0;
  1222.                 yoffset: 0;
  1223.                 zoffset: LOAD_TEMP(6) * 8;
  1224.                 xextent: 16;
  1225.                 yextent: 1;
  1226.                 zextent: 6;
  1227.                 recolour_mode: RECOLOUR_REMAP;
  1228.                 palette: PALETTE_USE_DEFAULT;
  1229.             }
  1230.  
  1231.  
  1232.         // construction stages - optional
  1233.  
  1234.             // construction states (no snow awareness)
  1235.             building {
  1236.                 sprite: machine_shop_spriteset_5_0(0* animation_frame);
  1237.                 recolour_mode: RECOLOUR_REMAP;
  1238.                 palette: PALETTE_USE_DEFAULT;
  1239.                 xoffset: 0;
  1240.                 yoffset: 0;
  1241.                 zoffset: 0;
  1242.                 xextent: 16;
  1243.                 yextent: 16;
  1244.                 zextent: 32;
  1245.                 always_draw: 0;
  1246.                 hide_sprite: (construction_state != 0);
  1247.             }
  1248.             building {
  1249.                 sprite: machine_shop_spriteset_5_0(0* animation_frame);
  1250.                 recolour_mode: RECOLOUR_REMAP;
  1251.                 palette: PALETTE_USE_DEFAULT;
  1252.                 xoffset: 0;
  1253.                 yoffset: 0;
  1254.                 zoffset: 0;
  1255.                 xextent: 16;
  1256.                 yextent: 16;
  1257.                 zextent: 32;
  1258.                 always_draw: 0;
  1259.                 hide_sprite: (construction_state != 1);
  1260.             }
  1261.             building {
  1262.                 sprite: machine_shop_spriteset_5_0(0* animation_frame);
  1263.                 recolour_mode: RECOLOUR_REMAP;
  1264.                 palette: PALETTE_USE_DEFAULT;
  1265.                 xoffset: 0;
  1266.                 yoffset: 0;
  1267.                 zoffset: 0;
  1268.                 xextent: 16;
  1269.                 yextent: 16;
  1270.                 zextent: 32;
  1271.                 always_draw: 0;
  1272.                 hide_sprite: (construction_state != 2);
  1273.             }
  1274.  
  1275.         // buildings (snow aware)
  1276.  
  1277.  
  1278.                 building {
  1279.                     sprite: machine_shop_spriteset_5_0(0* animation_frame);
  1280.                     recolour_mode: RECOLOUR_REMAP;
  1281.                     palette: PALETTE_USE_DEFAULT;
  1282.                     xoffset: 0;
  1283.                     yoffset: 0;
  1284.                     zoffset: 0;
  1285.                     xextent: 16;
  1286.                     yextent: 16;
  1287.                     zextent: 32;
  1288.                     always_draw: 0;
  1289.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  1290.                 }
  1291.                 building {
  1292.                     sprite: machine_shop_spriteset_5_0_snow(0* animation_frame);
  1293.                     recolour_mode: RECOLOUR_REMAP;
  1294.                     palette: PALETTE_USE_DEFAULT;
  1295.                     xoffset: 0;
  1296.                     yoffset: 0;
  1297.                     zoffset: 0;
  1298.                     xextent: 16;
  1299.                     yextent: 16;
  1300.                     zextent: 32;
  1301.                     always_draw: 0;
  1302.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  1303.                 }
  1304.  
  1305.  
  1306.  
  1307.                 building {
  1308.                     sprite: machine_shop_spriteset_5_1(0* animation_frame);
  1309.                     recolour_mode: RECOLOUR_REMAP;
  1310.                     palette: PALETTE_USE_DEFAULT;
  1311.                     xoffset: 0;
  1312.                     yoffset: 0;
  1313.                     zoffset: 0;
  1314.                     xextent: 16;
  1315.                     yextent: 16;
  1316.                     zextent: 32;
  1317.                     always_draw: 0;
  1318.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  1319.                 }
  1320.                 building {
  1321.                     sprite: machine_shop_spriteset_5_1_snow(0* animation_frame);
  1322.                     recolour_mode: RECOLOUR_REMAP;
  1323.                     palette: PALETTE_USE_DEFAULT;
  1324.                     xoffset: 0;
  1325.                     yoffset: 0;
  1326.                     zoffset: 0;
  1327.                     xextent: 16;
  1328.                     yextent: 16;
  1329.                     zextent: 32;
  1330.                     always_draw: 0;
  1331.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  1332.                 }
  1333.  
  1334.  
  1335.  
  1336.                 building {
  1337.                     sprite: machine_shop_spriteset_5_2(0* animation_frame);
  1338.                     recolour_mode: RECOLOUR_REMAP;
  1339.                     palette: PALETTE_USE_DEFAULT;
  1340.                     xoffset: 0;
  1341.                     yoffset: 0;
  1342.                     zoffset: 0;
  1343.                     xextent: 16;
  1344.                     yextent: 16;
  1345.                     zextent: 32;
  1346.                     always_draw: 0;
  1347.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  1348.                 }
  1349.                 building {
  1350.                     sprite: machine_shop_spriteset_5_2_snow(0* animation_frame);
  1351.                     recolour_mode: RECOLOUR_REMAP;
  1352.                     palette: PALETTE_USE_DEFAULT;
  1353.                     xoffset: 0;
  1354.                     yoffset: 0;
  1355.                     zoffset: 0;
  1356.                     xextent: 16;
  1357.                     yextent: 16;
  1358.                     zextent: 32;
  1359.                     always_draw: 0;
  1360.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  1361.                 }
  1362.  
  1363.  
  1364.  
  1365.                 building {
  1366.                     sprite: machine_shop_spriteset_5_3(0* animation_frame);
  1367.                     recolour_mode: RECOLOUR_REMAP;
  1368.                     palette: PALETTE_USE_DEFAULT;
  1369.                     xoffset: 0;
  1370.                     yoffset: 0;
  1371.                     zoffset: 0;
  1372.                     xextent: 16;
  1373.                     yextent: 16;
  1374.                     zextent: 32;
  1375.                     always_draw: 0;
  1376.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  1377.                 }
  1378.                 building {
  1379.                     sprite: machine_shop_spriteset_5_3_snow(0* animation_frame);
  1380.                     recolour_mode: RECOLOUR_REMAP;
  1381.                     palette: PALETTE_USE_DEFAULT;
  1382.                     xoffset: 0;
  1383.                     yoffset: 0;
  1384.                     zoffset: 0;
  1385.                     xextent: 16;
  1386.                     yextent: 16;
  1387.                     zextent: 32;
  1388.                     always_draw: 0;
  1389.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  1390.                 }
  1391.  
  1392.  
  1393.  
  1394.                 building {
  1395.                     sprite: machine_shop_spriteset_5_4(0* animation_frame);
  1396.                     recolour_mode: RECOLOUR_REMAP;
  1397.                     palette: PALETTE_USE_DEFAULT;
  1398.                     xoffset: 0;
  1399.                     yoffset: 0;
  1400.                     zoffset: 0;
  1401.                     xextent: 16;
  1402.                     yextent: 16;
  1403.                     zextent: 32;
  1404.                     always_draw: 0;
  1405.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  1406.                 }
  1407.                 building {
  1408.                     sprite: machine_shop_spriteset_5_4_snow(0* animation_frame);
  1409.                     recolour_mode: RECOLOUR_REMAP;
  1410.                     palette: PALETTE_USE_DEFAULT;
  1411.                     xoffset: 0;
  1412.                     yoffset: 0;
  1413.                     zoffset: 0;
  1414.                     xextent: 16;
  1415.                     yextent: 16;
  1416.                     zextent: 32;
  1417.                     always_draw: 0;
  1418.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  1419.                 }
  1420.  
  1421.  
  1422.  
  1423.                 building {
  1424.                     sprite: machine_shop_spriteset_5_5(0* animation_frame);
  1425.                     recolour_mode: RECOLOUR_REMAP;
  1426.                     palette: PALETTE_USE_DEFAULT;
  1427.                     xoffset: 0;
  1428.                     yoffset: 0;
  1429.                     zoffset: 0;
  1430.                     xextent: 16;
  1431.                     yextent: 16;
  1432.                     zextent: 32;
  1433.                     always_draw: 0;
  1434.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  1435.                 }
  1436.                 building {
  1437.                     sprite: machine_shop_spriteset_5_5_snow(0* animation_frame);
  1438.                     recolour_mode: RECOLOUR_REMAP;
  1439.                     palette: PALETTE_USE_DEFAULT;
  1440.                     xoffset: 0;
  1441.                     yoffset: 0;
  1442.                     zoffset: 0;
  1443.                     xextent: 16;
  1444.                     yextent: 16;
  1445.                     zextent: 32;
  1446.                     always_draw: 0;
  1447.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  1448.                 }
  1449.  
  1450.  
  1451.  
  1452.         // smoke sprites
  1453.  
  1454.  
  1455.         // fences SE and SW
  1456.  
  1457.             building {
  1458.                 sprite: 1301 + LOAD_TEMP(3);
  1459.                 hide_sprite: (LOAD_TEMP(11) == 0);
  1460.                 xoffset: 0;
  1461.                 yoffset: 16;
  1462.                 zoffset: LOAD_TEMP(7) * 8;
  1463.                 xextent: 16;
  1464.                 yextent: 1;
  1465.                 zextent: 6;
  1466.                 recolour_mode: RECOLOUR_REMAP;
  1467.                 palette: PALETTE_USE_DEFAULT;
  1468.             }
  1469.  
  1470.  
  1471.             building {
  1472.                 sprite: 1302 + LOAD_TEMP(4);
  1473.                 hide_sprite: (LOAD_TEMP(12) == 0);
  1474.                 xoffset: 16;
  1475.                 yoffset: 0;
  1476.                 zoffset: LOAD_TEMP(8) * 8;
  1477.                 xextent: 1;
  1478.                 yextent: 16;
  1479.                 zextent: 6;
  1480.                 recolour_mode: RECOLOUR_REMAP;
  1481.                 palette: PALETTE_USE_DEFAULT;
  1482.             }
  1483.  
  1484.  
  1485.     }
  1486.  
  1487.     spritelayout machine_shop_spritelayout_6 {
  1488.  
  1489.  
  1490.         // industry-specific ground (snow aware)
  1491.         // normal
  1492.         childsprite {
  1493.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  1494.             recolour_mode: RECOLOUR_REMAP;
  1495.             palette: PALETTE_USE_DEFAULT;
  1496.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  1497.             always_draw: 1;
  1498.         }
  1499.         childsprite {
  1500.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  1501.             recolour_mode: RECOLOUR_REMAP;
  1502.             palette: PALETTE_USE_DEFAULT;
  1503.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  1504.             always_draw: 1;
  1505.         }
  1506.         // snow
  1507.         childsprite {
  1508.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  1509.             recolour_mode: RECOLOUR_REMAP;
  1510.             palette: PALETTE_USE_DEFAULT;
  1511.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  1512.             always_draw: 1;
  1513.         }
  1514.         childsprite {
  1515.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  1516.             recolour_mode: RECOLOUR_REMAP;
  1517.             palette: PALETTE_USE_DEFAULT;
  1518.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  1519.             always_draw: 1;
  1520.         }
  1521.         // fences NE and NW
  1522.  
  1523.             building {
  1524.                 sprite: 1302 + LOAD_TEMP(1);
  1525.                 hide_sprite: (LOAD_TEMP(9) == 0);
  1526.                 xoffset: 0;
  1527.                 yoffset: 0;
  1528.                 zoffset: LOAD_TEMP(5) * 8;
  1529.                 xextent: 1;
  1530.                 yextent: 16;
  1531.                 zextent: 6;
  1532.                 recolour_mode: RECOLOUR_REMAP;
  1533.                 palette: PALETTE_USE_DEFAULT;
  1534.             }
  1535.  
  1536.  
  1537.             building {
  1538.                 sprite: 1301 + LOAD_TEMP(2);
  1539.                 hide_sprite: (LOAD_TEMP(10) == 0);
  1540.                 xoffset: 0;
  1541.                 yoffset: 0;
  1542.                 zoffset: LOAD_TEMP(6) * 8;
  1543.                 xextent: 16;
  1544.                 yextent: 1;
  1545.                 zextent: 6;
  1546.                 recolour_mode: RECOLOUR_REMAP;
  1547.                 palette: PALETTE_USE_DEFAULT;
  1548.             }
  1549.  
  1550.  
  1551.         // construction stages - optional
  1552.  
  1553.             // construction states (no snow awareness)
  1554.             building {
  1555.                 sprite: machine_shop_spriteset_6_0(0* animation_frame);
  1556.                 recolour_mode: RECOLOUR_REMAP;
  1557.                 palette: PALETTE_USE_DEFAULT;
  1558.                 xoffset: 0;
  1559.                 yoffset: 0;
  1560.                 zoffset: 0;
  1561.                 xextent: 16;
  1562.                 yextent: 16;
  1563.                 zextent: 78;
  1564.                 always_draw: 0;
  1565.                 hide_sprite: (construction_state != 0);
  1566.             }
  1567.             building {
  1568.                 sprite: machine_shop_spriteset_6_0(0* animation_frame);
  1569.                 recolour_mode: RECOLOUR_REMAP;
  1570.                 palette: PALETTE_USE_DEFAULT;
  1571.                 xoffset: 0;
  1572.                 yoffset: 0;
  1573.                 zoffset: 0;
  1574.                 xextent: 16;
  1575.                 yextent: 16;
  1576.                 zextent: 78;
  1577.                 always_draw: 0;
  1578.                 hide_sprite: (construction_state != 1);
  1579.             }
  1580.             building {
  1581.                 sprite: machine_shop_spriteset_6_0(0* animation_frame);
  1582.                 recolour_mode: RECOLOUR_REMAP;
  1583.                 palette: PALETTE_USE_DEFAULT;
  1584.                 xoffset: 0;
  1585.                 yoffset: 0;
  1586.                 zoffset: 0;
  1587.                 xextent: 16;
  1588.                 yextent: 16;
  1589.                 zextent: 78;
  1590.                 always_draw: 0;
  1591.                 hide_sprite: (construction_state != 2);
  1592.             }
  1593.  
  1594.         // buildings (snow aware)
  1595.  
  1596.  
  1597.                 building {
  1598.                     sprite: machine_shop_spriteset_6_0(0* animation_frame);
  1599.                     recolour_mode: RECOLOUR_REMAP;
  1600.                     palette: PALETTE_USE_DEFAULT;
  1601.                     xoffset: 0;
  1602.                     yoffset: 0;
  1603.                     zoffset: 0;
  1604.                     xextent: 16;
  1605.                     yextent: 16;
  1606.                     zextent: 78;
  1607.                     always_draw: 0;
  1608.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  1609.                 }
  1610.                 building {
  1611.                     sprite: machine_shop_spriteset_6_0_snow(0* animation_frame);
  1612.                     recolour_mode: RECOLOUR_REMAP;
  1613.                     palette: PALETTE_USE_DEFAULT;
  1614.                     xoffset: 0;
  1615.                     yoffset: 0;
  1616.                     zoffset: 0;
  1617.                     xextent: 16;
  1618.                     yextent: 16;
  1619.                     zextent: 78;
  1620.                     always_draw: 0;
  1621.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  1622.                 }
  1623.  
  1624.  
  1625.  
  1626.                 building {
  1627.                     sprite: machine_shop_spriteset_6_1(0* animation_frame);
  1628.                     recolour_mode: RECOLOUR_REMAP;
  1629.                     palette: PALETTE_USE_DEFAULT;
  1630.                     xoffset: 0;
  1631.                     yoffset: 0;
  1632.                     zoffset: 0;
  1633.                     xextent: 16;
  1634.                     yextent: 16;
  1635.                     zextent: 78;
  1636.                     always_draw: 0;
  1637.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  1638.                 }
  1639.                 building {
  1640.                     sprite: machine_shop_spriteset_6_1_snow(0* animation_frame);
  1641.                     recolour_mode: RECOLOUR_REMAP;
  1642.                     palette: PALETTE_USE_DEFAULT;
  1643.                     xoffset: 0;
  1644.                     yoffset: 0;
  1645.                     zoffset: 0;
  1646.                     xextent: 16;
  1647.                     yextent: 16;
  1648.                     zextent: 78;
  1649.                     always_draw: 0;
  1650.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  1651.                 }
  1652.  
  1653.  
  1654.  
  1655.                 building {
  1656.                     sprite: machine_shop_spriteset_6_2(0* animation_frame);
  1657.                     recolour_mode: RECOLOUR_REMAP;
  1658.                     palette: PALETTE_USE_DEFAULT;
  1659.                     xoffset: 0;
  1660.                     yoffset: 0;
  1661.                     zoffset: 0;
  1662.                     xextent: 16;
  1663.                     yextent: 16;
  1664.                     zextent: 78;
  1665.                     always_draw: 0;
  1666.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  1667.                 }
  1668.                 building {
  1669.                     sprite: machine_shop_spriteset_6_2_snow(0* animation_frame);
  1670.                     recolour_mode: RECOLOUR_REMAP;
  1671.                     palette: PALETTE_USE_DEFAULT;
  1672.                     xoffset: 0;
  1673.                     yoffset: 0;
  1674.                     zoffset: 0;
  1675.                     xextent: 16;
  1676.                     yextent: 16;
  1677.                     zextent: 78;
  1678.                     always_draw: 0;
  1679.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  1680.                 }
  1681.  
  1682.  
  1683.  
  1684.                 building {
  1685.                     sprite: machine_shop_spriteset_6_3(0* animation_frame);
  1686.                     recolour_mode: RECOLOUR_REMAP;
  1687.                     palette: PALETTE_USE_DEFAULT;
  1688.                     xoffset: 0;
  1689.                     yoffset: 0;
  1690.                     zoffset: 0;
  1691.                     xextent: 16;
  1692.                     yextent: 16;
  1693.                     zextent: 78;
  1694.                     always_draw: 0;
  1695.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  1696.                 }
  1697.                 building {
  1698.                     sprite: machine_shop_spriteset_6_3_snow(0* animation_frame);
  1699.                     recolour_mode: RECOLOUR_REMAP;
  1700.                     palette: PALETTE_USE_DEFAULT;
  1701.                     xoffset: 0;
  1702.                     yoffset: 0;
  1703.                     zoffset: 0;
  1704.                     xextent: 16;
  1705.                     yextent: 16;
  1706.                     zextent: 78;
  1707.                     always_draw: 0;
  1708.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  1709.                 }
  1710.  
  1711.  
  1712.  
  1713.                 building {
  1714.                     sprite: machine_shop_spriteset_6_4(0* animation_frame);
  1715.                     recolour_mode: RECOLOUR_REMAP;
  1716.                     palette: PALETTE_USE_DEFAULT;
  1717.                     xoffset: 0;
  1718.                     yoffset: 0;
  1719.                     zoffset: 0;
  1720.                     xextent: 16;
  1721.                     yextent: 16;
  1722.                     zextent: 78;
  1723.                     always_draw: 0;
  1724.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  1725.                 }
  1726.                 building {
  1727.                     sprite: machine_shop_spriteset_6_4_snow(0* animation_frame);
  1728.                     recolour_mode: RECOLOUR_REMAP;
  1729.                     palette: PALETTE_USE_DEFAULT;
  1730.                     xoffset: 0;
  1731.                     yoffset: 0;
  1732.                     zoffset: 0;
  1733.                     xextent: 16;
  1734.                     yextent: 16;
  1735.                     zextent: 78;
  1736.                     always_draw: 0;
  1737.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  1738.                 }
  1739.  
  1740.  
  1741.  
  1742.                 building {
  1743.                     sprite: machine_shop_spriteset_6_5(0* animation_frame);
  1744.                     recolour_mode: RECOLOUR_REMAP;
  1745.                     palette: PALETTE_USE_DEFAULT;
  1746.                     xoffset: 0;
  1747.                     yoffset: 0;
  1748.                     zoffset: 0;
  1749.                     xextent: 16;
  1750.                     yextent: 16;
  1751.                     zextent: 78;
  1752.                     always_draw: 0;
  1753.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  1754.                 }
  1755.                 building {
  1756.                     sprite: machine_shop_spriteset_6_5_snow(0* animation_frame);
  1757.                     recolour_mode: RECOLOUR_REMAP;
  1758.                     palette: PALETTE_USE_DEFAULT;
  1759.                     xoffset: 0;
  1760.                     yoffset: 0;
  1761.                     zoffset: 0;
  1762.                     xextent: 16;
  1763.                     yextent: 16;
  1764.                     zextent: 78;
  1765.                     always_draw: 0;
  1766.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  1767.                 }
  1768.  
  1769.  
  1770.  
  1771.         // smoke sprites
  1772.  
  1773.  
  1774.         // fences SE and SW
  1775.  
  1776.             building {
  1777.                 sprite: 1301 + LOAD_TEMP(3);
  1778.                 hide_sprite: (LOAD_TEMP(11) == 0);
  1779.                 xoffset: 0;
  1780.                 yoffset: 16;
  1781.                 zoffset: LOAD_TEMP(7) * 8;
  1782.                 xextent: 16;
  1783.                 yextent: 1;
  1784.                 zextent: 6;
  1785.                 recolour_mode: RECOLOUR_REMAP;
  1786.                 palette: PALETTE_USE_DEFAULT;
  1787.             }
  1788.  
  1789.  
  1790.             building {
  1791.                 sprite: 1302 + LOAD_TEMP(4);
  1792.                 hide_sprite: (LOAD_TEMP(12) == 0);
  1793.                 xoffset: 16;
  1794.                 yoffset: 0;
  1795.                 zoffset: LOAD_TEMP(8) * 8;
  1796.                 xextent: 1;
  1797.                 yextent: 16;
  1798.                 zextent: 6;
  1799.                 recolour_mode: RECOLOUR_REMAP;
  1800.                 palette: PALETTE_USE_DEFAULT;
  1801.             }
  1802.  
  1803.  
  1804.     }
  1805.  
  1806.     spritelayout machine_shop_spritelayout_7 {
  1807.  
  1808.  
  1809.         // industry-specific ground (snow aware)
  1810.         // normal
  1811.         childsprite {
  1812.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  1813.             recolour_mode: RECOLOUR_REMAP;
  1814.             palette: PALETTE_USE_DEFAULT;
  1815.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  1816.             always_draw: 1;
  1817.         }
  1818.         childsprite {
  1819.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  1820.             recolour_mode: RECOLOUR_REMAP;
  1821.             palette: PALETTE_USE_DEFAULT;
  1822.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  1823.             always_draw: 1;
  1824.         }
  1825.         // snow
  1826.         childsprite {
  1827.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  1828.             recolour_mode: RECOLOUR_REMAP;
  1829.             palette: PALETTE_USE_DEFAULT;
  1830.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  1831.             always_draw: 1;
  1832.         }
  1833.         childsprite {
  1834.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  1835.             recolour_mode: RECOLOUR_REMAP;
  1836.             palette: PALETTE_USE_DEFAULT;
  1837.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  1838.             always_draw: 1;
  1839.         }
  1840.         // fences NE and NW
  1841.  
  1842.             building {
  1843.                 sprite: 1302 + LOAD_TEMP(1);
  1844.                 hide_sprite: (LOAD_TEMP(9) == 0);
  1845.                 xoffset: 0;
  1846.                 yoffset: 0;
  1847.                 zoffset: LOAD_TEMP(5) * 8;
  1848.                 xextent: 1;
  1849.                 yextent: 16;
  1850.                 zextent: 6;
  1851.                 recolour_mode: RECOLOUR_REMAP;
  1852.                 palette: PALETTE_USE_DEFAULT;
  1853.             }
  1854.  
  1855.  
  1856.             building {
  1857.                 sprite: 1301 + LOAD_TEMP(2);
  1858.                 hide_sprite: (LOAD_TEMP(10) == 0);
  1859.                 xoffset: 0;
  1860.                 yoffset: 0;
  1861.                 zoffset: LOAD_TEMP(6) * 8;
  1862.                 xextent: 16;
  1863.                 yextent: 1;
  1864.                 zextent: 6;
  1865.                 recolour_mode: RECOLOUR_REMAP;
  1866.                 palette: PALETTE_USE_DEFAULT;
  1867.             }
  1868.  
  1869.  
  1870.         // construction stages - optional
  1871.  
  1872.             // construction states (no snow awareness)
  1873.             building {
  1874.                 sprite: machine_shop_spriteset_7_0(0* animation_frame);
  1875.                 recolour_mode: RECOLOUR_REMAP;
  1876.                 palette: PALETTE_USE_DEFAULT;
  1877.                 xoffset: 0;
  1878.                 yoffset: 0;
  1879.                 zoffset: 0;
  1880.                 xextent: 16;
  1881.                 yextent: 16;
  1882.                 zextent: 32;
  1883.                 always_draw: 0;
  1884.                 hide_sprite: (construction_state != 0);
  1885.             }
  1886.             building {
  1887.                 sprite: machine_shop_spriteset_7_0(0* animation_frame);
  1888.                 recolour_mode: RECOLOUR_REMAP;
  1889.                 palette: PALETTE_USE_DEFAULT;
  1890.                 xoffset: 0;
  1891.                 yoffset: 0;
  1892.                 zoffset: 0;
  1893.                 xextent: 16;
  1894.                 yextent: 16;
  1895.                 zextent: 32;
  1896.                 always_draw: 0;
  1897.                 hide_sprite: (construction_state != 1);
  1898.             }
  1899.             building {
  1900.                 sprite: machine_shop_spriteset_7_0(0* animation_frame);
  1901.                 recolour_mode: RECOLOUR_REMAP;
  1902.                 palette: PALETTE_USE_DEFAULT;
  1903.                 xoffset: 0;
  1904.                 yoffset: 0;
  1905.                 zoffset: 0;
  1906.                 xextent: 16;
  1907.                 yextent: 16;
  1908.                 zextent: 32;
  1909.                 always_draw: 0;
  1910.                 hide_sprite: (construction_state != 2);
  1911.             }
  1912.  
  1913.         // buildings (snow aware)
  1914.  
  1915.  
  1916.                 building {
  1917.                     sprite: machine_shop_spriteset_7_0(0* animation_frame);
  1918.                     recolour_mode: RECOLOUR_REMAP;
  1919.                     palette: PALETTE_USE_DEFAULT;
  1920.                     xoffset: 0;
  1921.                     yoffset: 0;
  1922.                     zoffset: 0;
  1923.                     xextent: 16;
  1924.                     yextent: 16;
  1925.                     zextent: 32;
  1926.                     always_draw: 0;
  1927.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  1928.                 }
  1929.                 building {
  1930.                     sprite: machine_shop_spriteset_7_0_snow(0* animation_frame);
  1931.                     recolour_mode: RECOLOUR_REMAP;
  1932.                     palette: PALETTE_USE_DEFAULT;
  1933.                     xoffset: 0;
  1934.                     yoffset: 0;
  1935.                     zoffset: 0;
  1936.                     xextent: 16;
  1937.                     yextent: 16;
  1938.                     zextent: 32;
  1939.                     always_draw: 0;
  1940.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  1941.                 }
  1942.  
  1943.  
  1944.  
  1945.                 building {
  1946.                     sprite: machine_shop_spriteset_7_1(0* animation_frame);
  1947.                     recolour_mode: RECOLOUR_REMAP;
  1948.                     palette: PALETTE_USE_DEFAULT;
  1949.                     xoffset: 0;
  1950.                     yoffset: 0;
  1951.                     zoffset: 0;
  1952.                     xextent: 16;
  1953.                     yextent: 16;
  1954.                     zextent: 32;
  1955.                     always_draw: 0;
  1956.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  1957.                 }
  1958.                 building {
  1959.                     sprite: machine_shop_spriteset_7_1_snow(0* animation_frame);
  1960.                     recolour_mode: RECOLOUR_REMAP;
  1961.                     palette: PALETTE_USE_DEFAULT;
  1962.                     xoffset: 0;
  1963.                     yoffset: 0;
  1964.                     zoffset: 0;
  1965.                     xextent: 16;
  1966.                     yextent: 16;
  1967.                     zextent: 32;
  1968.                     always_draw: 0;
  1969.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  1970.                 }
  1971.  
  1972.  
  1973.  
  1974.                 building {
  1975.                     sprite: machine_shop_spriteset_7_2(0* animation_frame);
  1976.                     recolour_mode: RECOLOUR_REMAP;
  1977.                     palette: PALETTE_USE_DEFAULT;
  1978.                     xoffset: 0;
  1979.                     yoffset: 0;
  1980.                     zoffset: 0;
  1981.                     xextent: 16;
  1982.                     yextent: 16;
  1983.                     zextent: 32;
  1984.                     always_draw: 0;
  1985.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  1986.                 }
  1987.                 building {
  1988.                     sprite: machine_shop_spriteset_7_2_snow(0* animation_frame);
  1989.                     recolour_mode: RECOLOUR_REMAP;
  1990.                     palette: PALETTE_USE_DEFAULT;
  1991.                     xoffset: 0;
  1992.                     yoffset: 0;
  1993.                     zoffset: 0;
  1994.                     xextent: 16;
  1995.                     yextent: 16;
  1996.                     zextent: 32;
  1997.                     always_draw: 0;
  1998.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  1999.                 }
  2000.  
  2001.  
  2002.  
  2003.                 building {
  2004.                     sprite: machine_shop_spriteset_7_3(0* animation_frame);
  2005.                     recolour_mode: RECOLOUR_REMAP;
  2006.                     palette: PALETTE_USE_DEFAULT;
  2007.                     xoffset: 0;
  2008.                     yoffset: 0;
  2009.                     zoffset: 0;
  2010.                     xextent: 16;
  2011.                     yextent: 16;
  2012.                     zextent: 32;
  2013.                     always_draw: 0;
  2014.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  2015.                 }
  2016.                 building {
  2017.                     sprite: machine_shop_spriteset_7_3_snow(0* animation_frame);
  2018.                     recolour_mode: RECOLOUR_REMAP;
  2019.                     palette: PALETTE_USE_DEFAULT;
  2020.                     xoffset: 0;
  2021.                     yoffset: 0;
  2022.                     zoffset: 0;
  2023.                     xextent: 16;
  2024.                     yextent: 16;
  2025.                     zextent: 32;
  2026.                     always_draw: 0;
  2027.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  2028.                 }
  2029.  
  2030.  
  2031.  
  2032.                 building {
  2033.                     sprite: machine_shop_spriteset_7_4(0* animation_frame);
  2034.                     recolour_mode: RECOLOUR_REMAP;
  2035.                     palette: PALETTE_USE_DEFAULT;
  2036.                     xoffset: 0;
  2037.                     yoffset: 0;
  2038.                     zoffset: 0;
  2039.                     xextent: 16;
  2040.                     yextent: 16;
  2041.                     zextent: 32;
  2042.                     always_draw: 0;
  2043.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  2044.                 }
  2045.                 building {
  2046.                     sprite: machine_shop_spriteset_7_4_snow(0* animation_frame);
  2047.                     recolour_mode: RECOLOUR_REMAP;
  2048.                     palette: PALETTE_USE_DEFAULT;
  2049.                     xoffset: 0;
  2050.                     yoffset: 0;
  2051.                     zoffset: 0;
  2052.                     xextent: 16;
  2053.                     yextent: 16;
  2054.                     zextent: 32;
  2055.                     always_draw: 0;
  2056.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  2057.                 }
  2058.  
  2059.  
  2060.  
  2061.                 building {
  2062.                     sprite: machine_shop_spriteset_7_5(0* animation_frame);
  2063.                     recolour_mode: RECOLOUR_REMAP;
  2064.                     palette: PALETTE_USE_DEFAULT;
  2065.                     xoffset: 0;
  2066.                     yoffset: 0;
  2067.                     zoffset: 0;
  2068.                     xextent: 16;
  2069.                     yextent: 16;
  2070.                     zextent: 32;
  2071.                     always_draw: 0;
  2072.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  2073.                 }
  2074.                 building {
  2075.                     sprite: machine_shop_spriteset_7_5_snow(0* animation_frame);
  2076.                     recolour_mode: RECOLOUR_REMAP;
  2077.                     palette: PALETTE_USE_DEFAULT;
  2078.                     xoffset: 0;
  2079.                     yoffset: 0;
  2080.                     zoffset: 0;
  2081.                     xextent: 16;
  2082.                     yextent: 16;
  2083.                     zextent: 32;
  2084.                     always_draw: 0;
  2085.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  2086.                 }
  2087.  
  2088.  
  2089.  
  2090.         // smoke sprites
  2091.  
  2092.  
  2093.         // fences SE and SW
  2094.  
  2095.             building {
  2096.                 sprite: 1301 + LOAD_TEMP(3);
  2097.                 hide_sprite: (LOAD_TEMP(11) == 0);
  2098.                 xoffset: 0;
  2099.                 yoffset: 16;
  2100.                 zoffset: LOAD_TEMP(7) * 8;
  2101.                 xextent: 16;
  2102.                 yextent: 1;
  2103.                 zextent: 6;
  2104.                 recolour_mode: RECOLOUR_REMAP;
  2105.                 palette: PALETTE_USE_DEFAULT;
  2106.             }
  2107.  
  2108.  
  2109.             building {
  2110.                 sprite: 1302 + LOAD_TEMP(4);
  2111.                 hide_sprite: (LOAD_TEMP(12) == 0);
  2112.                 xoffset: 16;
  2113.                 yoffset: 0;
  2114.                 zoffset: LOAD_TEMP(8) * 8;
  2115.                 xextent: 1;
  2116.                 yextent: 16;
  2117.                 zextent: 6;
  2118.                 recolour_mode: RECOLOUR_REMAP;
  2119.                 palette: PALETTE_USE_DEFAULT;
  2120.             }
  2121.  
  2122.  
  2123.     }
  2124.  
  2125.     spritelayout machine_shop_spritelayout_8 {
  2126.  
  2127.  
  2128.         // industry-specific ground (snow aware)
  2129.         // normal
  2130.         childsprite {
  2131.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  2132.             recolour_mode: RECOLOUR_REMAP;
  2133.             palette: PALETTE_USE_DEFAULT;
  2134.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  2135.             always_draw: 1;
  2136.         }
  2137.         childsprite {
  2138.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  2139.             recolour_mode: RECOLOUR_REMAP;
  2140.             palette: PALETTE_USE_DEFAULT;
  2141.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  2142.             always_draw: 1;
  2143.         }
  2144.         // snow
  2145.         childsprite {
  2146.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  2147.             recolour_mode: RECOLOUR_REMAP;
  2148.             palette: PALETTE_USE_DEFAULT;
  2149.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  2150.             always_draw: 1;
  2151.         }
  2152.         childsprite {
  2153.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  2154.             recolour_mode: RECOLOUR_REMAP;
  2155.             palette: PALETTE_USE_DEFAULT;
  2156.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  2157.             always_draw: 1;
  2158.         }
  2159.         // fences NE and NW
  2160.  
  2161.             building {
  2162.                 sprite: 1302 + LOAD_TEMP(1);
  2163.                 hide_sprite: (LOAD_TEMP(9) == 0);
  2164.                 xoffset: 0;
  2165.                 yoffset: 0;
  2166.                 zoffset: LOAD_TEMP(5) * 8;
  2167.                 xextent: 1;
  2168.                 yextent: 16;
  2169.                 zextent: 6;
  2170.                 recolour_mode: RECOLOUR_REMAP;
  2171.                 palette: PALETTE_USE_DEFAULT;
  2172.             }
  2173.  
  2174.  
  2175.             building {
  2176.                 sprite: 1301 + LOAD_TEMP(2);
  2177.                 hide_sprite: (LOAD_TEMP(10) == 0);
  2178.                 xoffset: 0;
  2179.                 yoffset: 0;
  2180.                 zoffset: LOAD_TEMP(6) * 8;
  2181.                 xextent: 16;
  2182.                 yextent: 1;
  2183.                 zextent: 6;
  2184.                 recolour_mode: RECOLOUR_REMAP;
  2185.                 palette: PALETTE_USE_DEFAULT;
  2186.             }
  2187.  
  2188.  
  2189.         // construction stages - optional
  2190.  
  2191.             // construction states (no snow awareness)
  2192.             building {
  2193.                 sprite: machine_shop_spriteset_8_0(0* animation_frame);
  2194.                 recolour_mode: RECOLOUR_REMAP;
  2195.                 palette: PALETTE_USE_DEFAULT;
  2196.                 xoffset: 0;
  2197.                 yoffset: 0;
  2198.                 zoffset: 0;
  2199.                 xextent: 16;
  2200.                 yextent: 16;
  2201.                 zextent: 32;
  2202.                 always_draw: 0;
  2203.                 hide_sprite: (construction_state != 0);
  2204.             }
  2205.             building {
  2206.                 sprite: machine_shop_spriteset_8_0(0* animation_frame);
  2207.                 recolour_mode: RECOLOUR_REMAP;
  2208.                 palette: PALETTE_USE_DEFAULT;
  2209.                 xoffset: 0;
  2210.                 yoffset: 0;
  2211.                 zoffset: 0;
  2212.                 xextent: 16;
  2213.                 yextent: 16;
  2214.                 zextent: 32;
  2215.                 always_draw: 0;
  2216.                 hide_sprite: (construction_state != 1);
  2217.             }
  2218.             building {
  2219.                 sprite: machine_shop_spriteset_8_0(0* animation_frame);
  2220.                 recolour_mode: RECOLOUR_REMAP;
  2221.                 palette: PALETTE_USE_DEFAULT;
  2222.                 xoffset: 0;
  2223.                 yoffset: 0;
  2224.                 zoffset: 0;
  2225.                 xextent: 16;
  2226.                 yextent: 16;
  2227.                 zextent: 32;
  2228.                 always_draw: 0;
  2229.                 hide_sprite: (construction_state != 2);
  2230.             }
  2231.  
  2232.         // buildings (snow aware)
  2233.  
  2234.  
  2235.                 building {
  2236.                     sprite: machine_shop_spriteset_8_0(0* animation_frame);
  2237.                     recolour_mode: RECOLOUR_REMAP;
  2238.                     palette: PALETTE_USE_DEFAULT;
  2239.                     xoffset: 0;
  2240.                     yoffset: 0;
  2241.                     zoffset: 0;
  2242.                     xextent: 16;
  2243.                     yextent: 16;
  2244.                     zextent: 32;
  2245.                     always_draw: 0;
  2246.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  2247.                 }
  2248.                 building {
  2249.                     sprite: machine_shop_spriteset_8_0_snow(0* animation_frame);
  2250.                     recolour_mode: RECOLOUR_REMAP;
  2251.                     palette: PALETTE_USE_DEFAULT;
  2252.                     xoffset: 0;
  2253.                     yoffset: 0;
  2254.                     zoffset: 0;
  2255.                     xextent: 16;
  2256.                     yextent: 16;
  2257.                     zextent: 32;
  2258.                     always_draw: 0;
  2259.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  2260.                 }
  2261.  
  2262.  
  2263.  
  2264.                 building {
  2265.                     sprite: machine_shop_spriteset_8_1(0* animation_frame);
  2266.                     recolour_mode: RECOLOUR_REMAP;
  2267.                     palette: PALETTE_USE_DEFAULT;
  2268.                     xoffset: 0;
  2269.                     yoffset: 0;
  2270.                     zoffset: 0;
  2271.                     xextent: 16;
  2272.                     yextent: 16;
  2273.                     zextent: 32;
  2274.                     always_draw: 0;
  2275.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  2276.                 }
  2277.                 building {
  2278.                     sprite: machine_shop_spriteset_8_1_snow(0* animation_frame);
  2279.                     recolour_mode: RECOLOUR_REMAP;
  2280.                     palette: PALETTE_USE_DEFAULT;
  2281.                     xoffset: 0;
  2282.                     yoffset: 0;
  2283.                     zoffset: 0;
  2284.                     xextent: 16;
  2285.                     yextent: 16;
  2286.                     zextent: 32;
  2287.                     always_draw: 0;
  2288.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  2289.                 }
  2290.  
  2291.  
  2292.  
  2293.                 building {
  2294.                     sprite: machine_shop_spriteset_8_2(0* animation_frame);
  2295.                     recolour_mode: RECOLOUR_REMAP;
  2296.                     palette: PALETTE_USE_DEFAULT;
  2297.                     xoffset: 0;
  2298.                     yoffset: 0;
  2299.                     zoffset: 0;
  2300.                     xextent: 16;
  2301.                     yextent: 16;
  2302.                     zextent: 32;
  2303.                     always_draw: 0;
  2304.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  2305.                 }
  2306.                 building {
  2307.                     sprite: machine_shop_spriteset_8_2_snow(0* animation_frame);
  2308.                     recolour_mode: RECOLOUR_REMAP;
  2309.                     palette: PALETTE_USE_DEFAULT;
  2310.                     xoffset: 0;
  2311.                     yoffset: 0;
  2312.                     zoffset: 0;
  2313.                     xextent: 16;
  2314.                     yextent: 16;
  2315.                     zextent: 32;
  2316.                     always_draw: 0;
  2317.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  2318.                 }
  2319.  
  2320.  
  2321.  
  2322.                 building {
  2323.                     sprite: machine_shop_spriteset_8_3(0* animation_frame);
  2324.                     recolour_mode: RECOLOUR_REMAP;
  2325.                     palette: PALETTE_USE_DEFAULT;
  2326.                     xoffset: 0;
  2327.                     yoffset: 0;
  2328.                     zoffset: 0;
  2329.                     xextent: 16;
  2330.                     yextent: 16;
  2331.                     zextent: 32;
  2332.                     always_draw: 0;
  2333.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  2334.                 }
  2335.                 building {
  2336.                     sprite: machine_shop_spriteset_8_3_snow(0* animation_frame);
  2337.                     recolour_mode: RECOLOUR_REMAP;
  2338.                     palette: PALETTE_USE_DEFAULT;
  2339.                     xoffset: 0;
  2340.                     yoffset: 0;
  2341.                     zoffset: 0;
  2342.                     xextent: 16;
  2343.                     yextent: 16;
  2344.                     zextent: 32;
  2345.                     always_draw: 0;
  2346.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  2347.                 }
  2348.  
  2349.  
  2350.  
  2351.                 building {
  2352.                     sprite: machine_shop_spriteset_8_4(0* animation_frame);
  2353.                     recolour_mode: RECOLOUR_REMAP;
  2354.                     palette: PALETTE_USE_DEFAULT;
  2355.                     xoffset: 0;
  2356.                     yoffset: 0;
  2357.                     zoffset: 0;
  2358.                     xextent: 16;
  2359.                     yextent: 16;
  2360.                     zextent: 32;
  2361.                     always_draw: 0;
  2362.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  2363.                 }
  2364.                 building {
  2365.                     sprite: machine_shop_spriteset_8_4_snow(0* animation_frame);
  2366.                     recolour_mode: RECOLOUR_REMAP;
  2367.                     palette: PALETTE_USE_DEFAULT;
  2368.                     xoffset: 0;
  2369.                     yoffset: 0;
  2370.                     zoffset: 0;
  2371.                     xextent: 16;
  2372.                     yextent: 16;
  2373.                     zextent: 32;
  2374.                     always_draw: 0;
  2375.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  2376.                 }
  2377.  
  2378.  
  2379.  
  2380.                 building {
  2381.                     sprite: machine_shop_spriteset_8_5(0* animation_frame);
  2382.                     recolour_mode: RECOLOUR_REMAP;
  2383.                     palette: PALETTE_USE_DEFAULT;
  2384.                     xoffset: 0;
  2385.                     yoffset: 0;
  2386.                     zoffset: 0;
  2387.                     xextent: 16;
  2388.                     yextent: 16;
  2389.                     zextent: 32;
  2390.                     always_draw: 0;
  2391.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  2392.                 }
  2393.                 building {
  2394.                     sprite: machine_shop_spriteset_8_5_snow(0* animation_frame);
  2395.                     recolour_mode: RECOLOUR_REMAP;
  2396.                     palette: PALETTE_USE_DEFAULT;
  2397.                     xoffset: 0;
  2398.                     yoffset: 0;
  2399.                     zoffset: 0;
  2400.                     xextent: 16;
  2401.                     yextent: 16;
  2402.                     zextent: 32;
  2403.                     always_draw: 0;
  2404.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  2405.                 }
  2406.  
  2407.  
  2408.  
  2409.         // smoke sprites
  2410.  
  2411.             building {
  2412.                 sprite: 2040 + (animation_frame / 4);
  2413.                 recolour_mode: RECOLOUR_REMAP;
  2414.                 palette: PALETTE_USE_DEFAULT;
  2415.                 xoffset: 13;
  2416.                 yoffset: 0;
  2417.                 zoffset: 73+ animation_frame;
  2418.                 xextent: 11;
  2419.                 yextent: 16;
  2420.                 zextent: 7;
  2421.                 hide_sprite: animation_frame > 19;
  2422.             }
  2423.  
  2424.  
  2425.         // fences SE and SW
  2426.  
  2427.             building {
  2428.                 sprite: 1301 + LOAD_TEMP(3);
  2429.                 hide_sprite: (LOAD_TEMP(11) == 0);
  2430.                 xoffset: 0;
  2431.                 yoffset: 16;
  2432.                 zoffset: LOAD_TEMP(7) * 8;
  2433.                 xextent: 16;
  2434.                 yextent: 1;
  2435.                 zextent: 6;
  2436.                 recolour_mode: RECOLOUR_REMAP;
  2437.                 palette: PALETTE_USE_DEFAULT;
  2438.             }
  2439.  
  2440.  
  2441.             building {
  2442.                 sprite: 1302 + LOAD_TEMP(4);
  2443.                 hide_sprite: (LOAD_TEMP(12) == 0);
  2444.                 xoffset: 16;
  2445.                 yoffset: 0;
  2446.                 zoffset: LOAD_TEMP(8) * 8;
  2447.                 xextent: 1;
  2448.                 yextent: 16;
  2449.                 zextent: 6;
  2450.                 recolour_mode: RECOLOUR_REMAP;
  2451.                 palette: PALETTE_USE_DEFAULT;
  2452.             }
  2453.  
  2454.  
  2455.     }
  2456.  
  2457.     spritelayout machine_shop_spritelayout_9 {
  2458.  
  2459.  
  2460.         // industry-specific ground (snow aware)
  2461.         // normal
  2462.         childsprite {
  2463.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  2464.             recolour_mode: RECOLOUR_REMAP;
  2465.             palette: PALETTE_USE_DEFAULT;
  2466.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  2467.             always_draw: 1;
  2468.         }
  2469.         childsprite {
  2470.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  2471.             recolour_mode: RECOLOUR_REMAP;
  2472.             palette: PALETTE_USE_DEFAULT;
  2473.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  2474.             always_draw: 1;
  2475.         }
  2476.         // snow
  2477.         childsprite {
  2478.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  2479.             recolour_mode: RECOLOUR_REMAP;
  2480.             palette: PALETTE_USE_DEFAULT;
  2481.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  2482.             always_draw: 1;
  2483.         }
  2484.         childsprite {
  2485.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  2486.             recolour_mode: RECOLOUR_REMAP;
  2487.             palette: PALETTE_USE_DEFAULT;
  2488.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  2489.             always_draw: 1;
  2490.         }
  2491.         // fences NE and NW
  2492.  
  2493.             building {
  2494.                 sprite: 1302 + LOAD_TEMP(1);
  2495.                 hide_sprite: (LOAD_TEMP(9) == 0);
  2496.                 xoffset: 0;
  2497.                 yoffset: 0;
  2498.                 zoffset: LOAD_TEMP(5) * 8;
  2499.                 xextent: 1;
  2500.                 yextent: 16;
  2501.                 zextent: 6;
  2502.                 recolour_mode: RECOLOUR_REMAP;
  2503.                 palette: PALETTE_USE_DEFAULT;
  2504.             }
  2505.  
  2506.  
  2507.             building {
  2508.                 sprite: 1301 + LOAD_TEMP(2);
  2509.                 hide_sprite: (LOAD_TEMP(10) == 0);
  2510.                 xoffset: 0;
  2511.                 yoffset: 0;
  2512.                 zoffset: LOAD_TEMP(6) * 8;
  2513.                 xextent: 16;
  2514.                 yextent: 1;
  2515.                 zextent: 6;
  2516.                 recolour_mode: RECOLOUR_REMAP;
  2517.                 palette: PALETTE_USE_DEFAULT;
  2518.             }
  2519.  
  2520.  
  2521.         // construction stages - optional
  2522.  
  2523.             // construction states (no snow awareness)
  2524.             building {
  2525.                 sprite: machine_shop_spriteset_9_0(0* animation_frame);
  2526.                 recolour_mode: RECOLOUR_REMAP;
  2527.                 palette: PALETTE_USE_DEFAULT;
  2528.                 xoffset: 0;
  2529.                 yoffset: 0;
  2530.                 zoffset: 0;
  2531.                 xextent: 16;
  2532.                 yextent: 16;
  2533.                 zextent: 64;
  2534.                 always_draw: 0;
  2535.                 hide_sprite: (construction_state != 0);
  2536.             }
  2537.             building {
  2538.                 sprite: machine_shop_spriteset_9_0(0* animation_frame);
  2539.                 recolour_mode: RECOLOUR_REMAP;
  2540.                 palette: PALETTE_USE_DEFAULT;
  2541.                 xoffset: 0;
  2542.                 yoffset: 0;
  2543.                 zoffset: 0;
  2544.                 xextent: 16;
  2545.                 yextent: 16;
  2546.                 zextent: 64;
  2547.                 always_draw: 0;
  2548.                 hide_sprite: (construction_state != 1);
  2549.             }
  2550.             building {
  2551.                 sprite: machine_shop_spriteset_9_0(0* animation_frame);
  2552.                 recolour_mode: RECOLOUR_REMAP;
  2553.                 palette: PALETTE_USE_DEFAULT;
  2554.                 xoffset: 0;
  2555.                 yoffset: 0;
  2556.                 zoffset: 0;
  2557.                 xextent: 16;
  2558.                 yextent: 16;
  2559.                 zextent: 64;
  2560.                 always_draw: 0;
  2561.                 hide_sprite: (construction_state != 2);
  2562.             }
  2563.  
  2564.         // buildings (snow aware)
  2565.  
  2566.  
  2567.                 building {
  2568.                     sprite: machine_shop_spriteset_9_0(0* animation_frame);
  2569.                     recolour_mode: RECOLOUR_REMAP;
  2570.                     palette: PALETTE_USE_DEFAULT;
  2571.                     xoffset: 0;
  2572.                     yoffset: 0;
  2573.                     zoffset: 0;
  2574.                     xextent: 16;
  2575.                     yextent: 16;
  2576.                     zextent: 64;
  2577.                     always_draw: 0;
  2578.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  2579.                 }
  2580.                 building {
  2581.                     sprite: machine_shop_spriteset_9_0_snow(0* animation_frame);
  2582.                     recolour_mode: RECOLOUR_REMAP;
  2583.                     palette: PALETTE_USE_DEFAULT;
  2584.                     xoffset: 0;
  2585.                     yoffset: 0;
  2586.                     zoffset: 0;
  2587.                     xextent: 16;
  2588.                     yextent: 16;
  2589.                     zextent: 64;
  2590.                     always_draw: 0;
  2591.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  2592.                 }
  2593.  
  2594.  
  2595.  
  2596.                 building {
  2597.                     sprite: machine_shop_spriteset_9_1(0* animation_frame);
  2598.                     recolour_mode: RECOLOUR_REMAP;
  2599.                     palette: PALETTE_USE_DEFAULT;
  2600.                     xoffset: 0;
  2601.                     yoffset: 0;
  2602.                     zoffset: 0;
  2603.                     xextent: 16;
  2604.                     yextent: 16;
  2605.                     zextent: 64;
  2606.                     always_draw: 0;
  2607.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  2608.                 }
  2609.                 building {
  2610.                     sprite: machine_shop_spriteset_9_1_snow(0* animation_frame);
  2611.                     recolour_mode: RECOLOUR_REMAP;
  2612.                     palette: PALETTE_USE_DEFAULT;
  2613.                     xoffset: 0;
  2614.                     yoffset: 0;
  2615.                     zoffset: 0;
  2616.                     xextent: 16;
  2617.                     yextent: 16;
  2618.                     zextent: 64;
  2619.                     always_draw: 0;
  2620.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  2621.                 }
  2622.  
  2623.  
  2624.  
  2625.                 building {
  2626.                     sprite: machine_shop_spriteset_9_2(0* animation_frame);
  2627.                     recolour_mode: RECOLOUR_REMAP;
  2628.                     palette: PALETTE_USE_DEFAULT;
  2629.                     xoffset: 0;
  2630.                     yoffset: 0;
  2631.                     zoffset: 0;
  2632.                     xextent: 16;
  2633.                     yextent: 16;
  2634.                     zextent: 64;
  2635.                     always_draw: 0;
  2636.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  2637.                 }
  2638.                 building {
  2639.                     sprite: machine_shop_spriteset_9_2_snow(0* animation_frame);
  2640.                     recolour_mode: RECOLOUR_REMAP;
  2641.                     palette: PALETTE_USE_DEFAULT;
  2642.                     xoffset: 0;
  2643.                     yoffset: 0;
  2644.                     zoffset: 0;
  2645.                     xextent: 16;
  2646.                     yextent: 16;
  2647.                     zextent: 64;
  2648.                     always_draw: 0;
  2649.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  2650.                 }
  2651.  
  2652.  
  2653.  
  2654.                 building {
  2655.                     sprite: machine_shop_spriteset_9_3(0* animation_frame);
  2656.                     recolour_mode: RECOLOUR_REMAP;
  2657.                     palette: PALETTE_USE_DEFAULT;
  2658.                     xoffset: 0;
  2659.                     yoffset: 0;
  2660.                     zoffset: 0;
  2661.                     xextent: 16;
  2662.                     yextent: 16;
  2663.                     zextent: 64;
  2664.                     always_draw: 0;
  2665.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  2666.                 }
  2667.                 building {
  2668.                     sprite: machine_shop_spriteset_9_3_snow(0* animation_frame);
  2669.                     recolour_mode: RECOLOUR_REMAP;
  2670.                     palette: PALETTE_USE_DEFAULT;
  2671.                     xoffset: 0;
  2672.                     yoffset: 0;
  2673.                     zoffset: 0;
  2674.                     xextent: 16;
  2675.                     yextent: 16;
  2676.                     zextent: 64;
  2677.                     always_draw: 0;
  2678.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  2679.                 }
  2680.  
  2681.  
  2682.  
  2683.                 building {
  2684.                     sprite: machine_shop_spriteset_9_4(0* animation_frame);
  2685.                     recolour_mode: RECOLOUR_REMAP;
  2686.                     palette: PALETTE_USE_DEFAULT;
  2687.                     xoffset: 0;
  2688.                     yoffset: 0;
  2689.                     zoffset: 0;
  2690.                     xextent: 16;
  2691.                     yextent: 16;
  2692.                     zextent: 64;
  2693.                     always_draw: 0;
  2694.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  2695.                 }
  2696.                 building {
  2697.                     sprite: machine_shop_spriteset_9_4_snow(0* animation_frame);
  2698.                     recolour_mode: RECOLOUR_REMAP;
  2699.                     palette: PALETTE_USE_DEFAULT;
  2700.                     xoffset: 0;
  2701.                     yoffset: 0;
  2702.                     zoffset: 0;
  2703.                     xextent: 16;
  2704.                     yextent: 16;
  2705.                     zextent: 64;
  2706.                     always_draw: 0;
  2707.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  2708.                 }
  2709.  
  2710.  
  2711.  
  2712.                 building {
  2713.                     sprite: machine_shop_spriteset_9_5(0* animation_frame);
  2714.                     recolour_mode: RECOLOUR_REMAP;
  2715.                     palette: PALETTE_USE_DEFAULT;
  2716.                     xoffset: 0;
  2717.                     yoffset: 0;
  2718.                     zoffset: 0;
  2719.                     xextent: 16;
  2720.                     yextent: 16;
  2721.                     zextent: 64;
  2722.                     always_draw: 0;
  2723.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  2724.                 }
  2725.                 building {
  2726.                     sprite: machine_shop_spriteset_9_5_snow(0* animation_frame);
  2727.                     recolour_mode: RECOLOUR_REMAP;
  2728.                     palette: PALETTE_USE_DEFAULT;
  2729.                     xoffset: 0;
  2730.                     yoffset: 0;
  2731.                     zoffset: 0;
  2732.                     xextent: 16;
  2733.                     yextent: 16;
  2734.                     zextent: 64;
  2735.                     always_draw: 0;
  2736.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  2737.                 }
  2738.  
  2739.  
  2740.  
  2741.         // smoke sprites
  2742.  
  2743.  
  2744.         // fences SE and SW
  2745.  
  2746.             building {
  2747.                 sprite: 1301 + LOAD_TEMP(3);
  2748.                 hide_sprite: (LOAD_TEMP(11) == 0);
  2749.                 xoffset: 0;
  2750.                 yoffset: 16;
  2751.                 zoffset: LOAD_TEMP(7) * 8;
  2752.                 xextent: 16;
  2753.                 yextent: 1;
  2754.                 zextent: 6;
  2755.                 recolour_mode: RECOLOUR_REMAP;
  2756.                 palette: PALETTE_USE_DEFAULT;
  2757.             }
  2758.  
  2759.  
  2760.             building {
  2761.                 sprite: 1302 + LOAD_TEMP(4);
  2762.                 hide_sprite: (LOAD_TEMP(12) == 0);
  2763.                 xoffset: 16;
  2764.                 yoffset: 0;
  2765.                 zoffset: LOAD_TEMP(8) * 8;
  2766.                 xextent: 1;
  2767.                 yextent: 16;
  2768.                 zextent: 6;
  2769.                 recolour_mode: RECOLOUR_REMAP;
  2770.                 palette: PALETTE_USE_DEFAULT;
  2771.             }
  2772.  
  2773.  
  2774.     }
  2775.  
  2776.     spritelayout machine_shop_spritelayout_10 {
  2777.  
  2778.  
  2779.         // industry-specific ground (snow aware)
  2780.         // normal
  2781.         childsprite {
  2782.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  2783.             recolour_mode: RECOLOUR_REMAP;
  2784.             palette: PALETTE_USE_DEFAULT;
  2785.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  2786.             always_draw: 1;
  2787.         }
  2788.         childsprite {
  2789.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  2790.             recolour_mode: RECOLOUR_REMAP;
  2791.             palette: PALETTE_USE_DEFAULT;
  2792.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  2793.             always_draw: 1;
  2794.         }
  2795.         // snow
  2796.         childsprite {
  2797.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  2798.             recolour_mode: RECOLOUR_REMAP;
  2799.             palette: PALETTE_USE_DEFAULT;
  2800.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  2801.             always_draw: 1;
  2802.         }
  2803.         childsprite {
  2804.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  2805.             recolour_mode: RECOLOUR_REMAP;
  2806.             palette: PALETTE_USE_DEFAULT;
  2807.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  2808.             always_draw: 1;
  2809.         }
  2810.         // fences NE and NW
  2811.  
  2812.             building {
  2813.                 sprite: 1302 + LOAD_TEMP(1);
  2814.                 hide_sprite: (LOAD_TEMP(9) == 0);
  2815.                 xoffset: 0;
  2816.                 yoffset: 0;
  2817.                 zoffset: LOAD_TEMP(5) * 8;
  2818.                 xextent: 1;
  2819.                 yextent: 16;
  2820.                 zextent: 6;
  2821.                 recolour_mode: RECOLOUR_REMAP;
  2822.                 palette: PALETTE_USE_DEFAULT;
  2823.             }
  2824.  
  2825.  
  2826.             building {
  2827.                 sprite: 1301 + LOAD_TEMP(2);
  2828.                 hide_sprite: (LOAD_TEMP(10) == 0);
  2829.                 xoffset: 0;
  2830.                 yoffset: 0;
  2831.                 zoffset: LOAD_TEMP(6) * 8;
  2832.                 xextent: 16;
  2833.                 yextent: 1;
  2834.                 zextent: 6;
  2835.                 recolour_mode: RECOLOUR_REMAP;
  2836.                 palette: PALETTE_USE_DEFAULT;
  2837.             }
  2838.  
  2839.  
  2840.         // construction stages - optional
  2841.  
  2842.             // construction states (no snow awareness)
  2843.             building {
  2844.                 sprite: machine_shop_spriteset_10_0(0* animation_frame);
  2845.                 recolour_mode: RECOLOUR_REMAP;
  2846.                 palette: PALETTE_USE_DEFAULT;
  2847.                 xoffset: 0;
  2848.                 yoffset: 0;
  2849.                 zoffset: 0;
  2850.                 xextent: 16;
  2851.                 yextent: 16;
  2852.                 zextent: 64;
  2853.                 always_draw: 0;
  2854.                 hide_sprite: (construction_state != 0);
  2855.             }
  2856.             building {
  2857.                 sprite: machine_shop_spriteset_10_0(0* animation_frame);
  2858.                 recolour_mode: RECOLOUR_REMAP;
  2859.                 palette: PALETTE_USE_DEFAULT;
  2860.                 xoffset: 0;
  2861.                 yoffset: 0;
  2862.                 zoffset: 0;
  2863.                 xextent: 16;
  2864.                 yextent: 16;
  2865.                 zextent: 64;
  2866.                 always_draw: 0;
  2867.                 hide_sprite: (construction_state != 1);
  2868.             }
  2869.             building {
  2870.                 sprite: machine_shop_spriteset_10_0(0* animation_frame);
  2871.                 recolour_mode: RECOLOUR_REMAP;
  2872.                 palette: PALETTE_USE_DEFAULT;
  2873.                 xoffset: 0;
  2874.                 yoffset: 0;
  2875.                 zoffset: 0;
  2876.                 xextent: 16;
  2877.                 yextent: 16;
  2878.                 zextent: 64;
  2879.                 always_draw: 0;
  2880.                 hide_sprite: (construction_state != 2);
  2881.             }
  2882.  
  2883.         // buildings (snow aware)
  2884.  
  2885.  
  2886.                 building {
  2887.                     sprite: machine_shop_spriteset_10_0(0* animation_frame);
  2888.                     recolour_mode: RECOLOUR_REMAP;
  2889.                     palette: PALETTE_USE_DEFAULT;
  2890.                     xoffset: 0;
  2891.                     yoffset: 0;
  2892.                     zoffset: 0;
  2893.                     xextent: 16;
  2894.                     yextent: 16;
  2895.                     zextent: 64;
  2896.                     always_draw: 0;
  2897.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  2898.                 }
  2899.                 building {
  2900.                     sprite: machine_shop_spriteset_10_0_snow(0* animation_frame);
  2901.                     recolour_mode: RECOLOUR_REMAP;
  2902.                     palette: PALETTE_USE_DEFAULT;
  2903.                     xoffset: 0;
  2904.                     yoffset: 0;
  2905.                     zoffset: 0;
  2906.                     xextent: 16;
  2907.                     yextent: 16;
  2908.                     zextent: 64;
  2909.                     always_draw: 0;
  2910.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  2911.                 }
  2912.  
  2913.  
  2914.  
  2915.                 building {
  2916.                     sprite: machine_shop_spriteset_10_1(0* animation_frame);
  2917.                     recolour_mode: RECOLOUR_REMAP;
  2918.                     palette: PALETTE_USE_DEFAULT;
  2919.                     xoffset: 0;
  2920.                     yoffset: 0;
  2921.                     zoffset: 0;
  2922.                     xextent: 16;
  2923.                     yextent: 16;
  2924.                     zextent: 64;
  2925.                     always_draw: 0;
  2926.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  2927.                 }
  2928.                 building {
  2929.                     sprite: machine_shop_spriteset_10_1_snow(0* animation_frame);
  2930.                     recolour_mode: RECOLOUR_REMAP;
  2931.                     palette: PALETTE_USE_DEFAULT;
  2932.                     xoffset: 0;
  2933.                     yoffset: 0;
  2934.                     zoffset: 0;
  2935.                     xextent: 16;
  2936.                     yextent: 16;
  2937.                     zextent: 64;
  2938.                     always_draw: 0;
  2939.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  2940.                 }
  2941.  
  2942.  
  2943.  
  2944.                 building {
  2945.                     sprite: machine_shop_spriteset_10_2(0* animation_frame);
  2946.                     recolour_mode: RECOLOUR_REMAP;
  2947.                     palette: PALETTE_USE_DEFAULT;
  2948.                     xoffset: 0;
  2949.                     yoffset: 0;
  2950.                     zoffset: 0;
  2951.                     xextent: 16;
  2952.                     yextent: 16;
  2953.                     zextent: 64;
  2954.                     always_draw: 0;
  2955.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  2956.                 }
  2957.                 building {
  2958.                     sprite: machine_shop_spriteset_10_2_snow(0* animation_frame);
  2959.                     recolour_mode: RECOLOUR_REMAP;
  2960.                     palette: PALETTE_USE_DEFAULT;
  2961.                     xoffset: 0;
  2962.                     yoffset: 0;
  2963.                     zoffset: 0;
  2964.                     xextent: 16;
  2965.                     yextent: 16;
  2966.                     zextent: 64;
  2967.                     always_draw: 0;
  2968.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  2969.                 }
  2970.  
  2971.  
  2972.  
  2973.                 building {
  2974.                     sprite: machine_shop_spriteset_10_3(0* animation_frame);
  2975.                     recolour_mode: RECOLOUR_REMAP;
  2976.                     palette: PALETTE_USE_DEFAULT;
  2977.                     xoffset: 0;
  2978.                     yoffset: 0;
  2979.                     zoffset: 0;
  2980.                     xextent: 16;
  2981.                     yextent: 16;
  2982.                     zextent: 64;
  2983.                     always_draw: 0;
  2984.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  2985.                 }
  2986.                 building {
  2987.                     sprite: machine_shop_spriteset_10_3_snow(0* animation_frame);
  2988.                     recolour_mode: RECOLOUR_REMAP;
  2989.                     palette: PALETTE_USE_DEFAULT;
  2990.                     xoffset: 0;
  2991.                     yoffset: 0;
  2992.                     zoffset: 0;
  2993.                     xextent: 16;
  2994.                     yextent: 16;
  2995.                     zextent: 64;
  2996.                     always_draw: 0;
  2997.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  2998.                 }
  2999.  
  3000.  
  3001.  
  3002.                 building {
  3003.                     sprite: machine_shop_spriteset_10_4(0* animation_frame);
  3004.                     recolour_mode: RECOLOUR_REMAP;
  3005.                     palette: PALETTE_USE_DEFAULT;
  3006.                     xoffset: 0;
  3007.                     yoffset: 0;
  3008.                     zoffset: 0;
  3009.                     xextent: 16;
  3010.                     yextent: 16;
  3011.                     zextent: 64;
  3012.                     always_draw: 0;
  3013.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  3014.                 }
  3015.                 building {
  3016.                     sprite: machine_shop_spriteset_10_4_snow(0* animation_frame);
  3017.                     recolour_mode: RECOLOUR_REMAP;
  3018.                     palette: PALETTE_USE_DEFAULT;
  3019.                     xoffset: 0;
  3020.                     yoffset: 0;
  3021.                     zoffset: 0;
  3022.                     xextent: 16;
  3023.                     yextent: 16;
  3024.                     zextent: 64;
  3025.                     always_draw: 0;
  3026.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  3027.                 }
  3028.  
  3029.  
  3030.  
  3031.                 building {
  3032.                     sprite: machine_shop_spriteset_10_5(0* animation_frame);
  3033.                     recolour_mode: RECOLOUR_REMAP;
  3034.                     palette: PALETTE_USE_DEFAULT;
  3035.                     xoffset: 0;
  3036.                     yoffset: 0;
  3037.                     zoffset: 0;
  3038.                     xextent: 16;
  3039.                     yextent: 16;
  3040.                     zextent: 64;
  3041.                     always_draw: 0;
  3042.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  3043.                 }
  3044.                 building {
  3045.                     sprite: machine_shop_spriteset_10_5_snow(0* animation_frame);
  3046.                     recolour_mode: RECOLOUR_REMAP;
  3047.                     palette: PALETTE_USE_DEFAULT;
  3048.                     xoffset: 0;
  3049.                     yoffset: 0;
  3050.                     zoffset: 0;
  3051.                     xextent: 16;
  3052.                     yextent: 16;
  3053.                     zextent: 64;
  3054.                     always_draw: 0;
  3055.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  3056.                 }
  3057.  
  3058.  
  3059.  
  3060.         // smoke sprites
  3061.  
  3062.  
  3063.         // fences SE and SW
  3064.  
  3065.             building {
  3066.                 sprite: 1301 + LOAD_TEMP(3);
  3067.                 hide_sprite: (LOAD_TEMP(11) == 0);
  3068.                 xoffset: 0;
  3069.                 yoffset: 16;
  3070.                 zoffset: LOAD_TEMP(7) * 8;
  3071.                 xextent: 16;
  3072.                 yextent: 1;
  3073.                 zextent: 6;
  3074.                 recolour_mode: RECOLOUR_REMAP;
  3075.                 palette: PALETTE_USE_DEFAULT;
  3076.             }
  3077.  
  3078.  
  3079.             building {
  3080.                 sprite: 1302 + LOAD_TEMP(4);
  3081.                 hide_sprite: (LOAD_TEMP(12) == 0);
  3082.                 xoffset: 16;
  3083.                 yoffset: 0;
  3084.                 zoffset: LOAD_TEMP(8) * 8;
  3085.                 xextent: 1;
  3086.                 yextent: 16;
  3087.                 zextent: 6;
  3088.                 recolour_mode: RECOLOUR_REMAP;
  3089.                 palette: PALETTE_USE_DEFAULT;
  3090.             }
  3091.  
  3092.  
  3093.     }
  3094.  
  3095.     spritelayout machine_shop_spritelayout_11 {
  3096.  
  3097.  
  3098.         // industry-specific ground (snow aware)
  3099.         // normal
  3100.         childsprite {
  3101.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  3102.             recolour_mode: RECOLOUR_REMAP;
  3103.             palette: PALETTE_USE_DEFAULT;
  3104.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  3105.             always_draw: 1;
  3106.         }
  3107.         childsprite {
  3108.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  3109.             recolour_mode: RECOLOUR_REMAP;
  3110.             palette: PALETTE_USE_DEFAULT;
  3111.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  3112.             always_draw: 1;
  3113.         }
  3114.         // snow
  3115.         childsprite {
  3116.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  3117.             recolour_mode: RECOLOUR_REMAP;
  3118.             palette: PALETTE_USE_DEFAULT;
  3119.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  3120.             always_draw: 1;
  3121.         }
  3122.         childsprite {
  3123.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  3124.             recolour_mode: RECOLOUR_REMAP;
  3125.             palette: PALETTE_USE_DEFAULT;
  3126.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  3127.             always_draw: 1;
  3128.         }
  3129.         // fences NE and NW
  3130.  
  3131.             building {
  3132.                 sprite: 1302 + LOAD_TEMP(1);
  3133.                 hide_sprite: (LOAD_TEMP(9) == 0);
  3134.                 xoffset: 0;
  3135.                 yoffset: 0;
  3136.                 zoffset: LOAD_TEMP(5) * 8;
  3137.                 xextent: 1;
  3138.                 yextent: 16;
  3139.                 zextent: 6;
  3140.                 recolour_mode: RECOLOUR_REMAP;
  3141.                 palette: PALETTE_USE_DEFAULT;
  3142.             }
  3143.  
  3144.  
  3145.             building {
  3146.                 sprite: 1301 + LOAD_TEMP(2);
  3147.                 hide_sprite: (LOAD_TEMP(10) == 0);
  3148.                 xoffset: 0;
  3149.                 yoffset: 0;
  3150.                 zoffset: LOAD_TEMP(6) * 8;
  3151.                 xextent: 16;
  3152.                 yextent: 1;
  3153.                 zextent: 6;
  3154.                 recolour_mode: RECOLOUR_REMAP;
  3155.                 palette: PALETTE_USE_DEFAULT;
  3156.             }
  3157.  
  3158.  
  3159.         // construction stages - optional
  3160.  
  3161.             // construction states (no snow awareness)
  3162.             building {
  3163.                 sprite: machine_shop_spriteset_11_0(0* animation_frame);
  3164.                 recolour_mode: RECOLOUR_REMAP;
  3165.                 palette: PALETTE_USE_DEFAULT;
  3166.                 xoffset: 0;
  3167.                 yoffset: 0;
  3168.                 zoffset: 0;
  3169.                 xextent: 16;
  3170.                 yextent: 16;
  3171.                 zextent: 32;
  3172.                 always_draw: 0;
  3173.                 hide_sprite: (construction_state != 0);
  3174.             }
  3175.             building {
  3176.                 sprite: machine_shop_spriteset_11_0(0* animation_frame);
  3177.                 recolour_mode: RECOLOUR_REMAP;
  3178.                 palette: PALETTE_USE_DEFAULT;
  3179.                 xoffset: 0;
  3180.                 yoffset: 0;
  3181.                 zoffset: 0;
  3182.                 xextent: 16;
  3183.                 yextent: 16;
  3184.                 zextent: 32;
  3185.                 always_draw: 0;
  3186.                 hide_sprite: (construction_state != 1);
  3187.             }
  3188.             building {
  3189.                 sprite: machine_shop_spriteset_11_0(0* animation_frame);
  3190.                 recolour_mode: RECOLOUR_REMAP;
  3191.                 palette: PALETTE_USE_DEFAULT;
  3192.                 xoffset: 0;
  3193.                 yoffset: 0;
  3194.                 zoffset: 0;
  3195.                 xextent: 16;
  3196.                 yextent: 16;
  3197.                 zextent: 32;
  3198.                 always_draw: 0;
  3199.                 hide_sprite: (construction_state != 2);
  3200.             }
  3201.  
  3202.         // buildings (snow aware)
  3203.  
  3204.  
  3205.                 building {
  3206.                     sprite: machine_shop_spriteset_11_0(0* animation_frame);
  3207.                     recolour_mode: RECOLOUR_REMAP;
  3208.                     palette: PALETTE_USE_DEFAULT;
  3209.                     xoffset: 0;
  3210.                     yoffset: 0;
  3211.                     zoffset: 0;
  3212.                     xextent: 16;
  3213.                     yextent: 16;
  3214.                     zextent: 32;
  3215.                     always_draw: 0;
  3216.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  3217.                 }
  3218.                 building {
  3219.                     sprite: machine_shop_spriteset_11_0_snow(0* animation_frame);
  3220.                     recolour_mode: RECOLOUR_REMAP;
  3221.                     palette: PALETTE_USE_DEFAULT;
  3222.                     xoffset: 0;
  3223.                     yoffset: 0;
  3224.                     zoffset: 0;
  3225.                     xextent: 16;
  3226.                     yextent: 16;
  3227.                     zextent: 32;
  3228.                     always_draw: 0;
  3229.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  3230.                 }
  3231.  
  3232.  
  3233.  
  3234.                 building {
  3235.                     sprite: machine_shop_spriteset_11_1(0* animation_frame);
  3236.                     recolour_mode: RECOLOUR_REMAP;
  3237.                     palette: PALETTE_USE_DEFAULT;
  3238.                     xoffset: 0;
  3239.                     yoffset: 0;
  3240.                     zoffset: 0;
  3241.                     xextent: 16;
  3242.                     yextent: 16;
  3243.                     zextent: 32;
  3244.                     always_draw: 0;
  3245.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  3246.                 }
  3247.                 building {
  3248.                     sprite: machine_shop_spriteset_11_1_snow(0* animation_frame);
  3249.                     recolour_mode: RECOLOUR_REMAP;
  3250.                     palette: PALETTE_USE_DEFAULT;
  3251.                     xoffset: 0;
  3252.                     yoffset: 0;
  3253.                     zoffset: 0;
  3254.                     xextent: 16;
  3255.                     yextent: 16;
  3256.                     zextent: 32;
  3257.                     always_draw: 0;
  3258.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  3259.                 }
  3260.  
  3261.  
  3262.  
  3263.                 building {
  3264.                     sprite: machine_shop_spriteset_11_2(0* animation_frame);
  3265.                     recolour_mode: RECOLOUR_REMAP;
  3266.                     palette: PALETTE_USE_DEFAULT;
  3267.                     xoffset: 0;
  3268.                     yoffset: 0;
  3269.                     zoffset: 0;
  3270.                     xextent: 16;
  3271.                     yextent: 16;
  3272.                     zextent: 32;
  3273.                     always_draw: 0;
  3274.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  3275.                 }
  3276.                 building {
  3277.                     sprite: machine_shop_spriteset_11_2_snow(0* animation_frame);
  3278.                     recolour_mode: RECOLOUR_REMAP;
  3279.                     palette: PALETTE_USE_DEFAULT;
  3280.                     xoffset: 0;
  3281.                     yoffset: 0;
  3282.                     zoffset: 0;
  3283.                     xextent: 16;
  3284.                     yextent: 16;
  3285.                     zextent: 32;
  3286.                     always_draw: 0;
  3287.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  3288.                 }
  3289.  
  3290.  
  3291.  
  3292.                 building {
  3293.                     sprite: machine_shop_spriteset_11_3(0* animation_frame);
  3294.                     recolour_mode: RECOLOUR_REMAP;
  3295.                     palette: PALETTE_USE_DEFAULT;
  3296.                     xoffset: 0;
  3297.                     yoffset: 0;
  3298.                     zoffset: 0;
  3299.                     xextent: 16;
  3300.                     yextent: 16;
  3301.                     zextent: 32;
  3302.                     always_draw: 0;
  3303.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  3304.                 }
  3305.                 building {
  3306.                     sprite: machine_shop_spriteset_11_3_snow(0* animation_frame);
  3307.                     recolour_mode: RECOLOUR_REMAP;
  3308.                     palette: PALETTE_USE_DEFAULT;
  3309.                     xoffset: 0;
  3310.                     yoffset: 0;
  3311.                     zoffset: 0;
  3312.                     xextent: 16;
  3313.                     yextent: 16;
  3314.                     zextent: 32;
  3315.                     always_draw: 0;
  3316.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  3317.                 }
  3318.  
  3319.  
  3320.  
  3321.                 building {
  3322.                     sprite: machine_shop_spriteset_11_4(0* animation_frame);
  3323.                     recolour_mode: RECOLOUR_REMAP;
  3324.                     palette: PALETTE_USE_DEFAULT;
  3325.                     xoffset: 0;
  3326.                     yoffset: 0;
  3327.                     zoffset: 0;
  3328.                     xextent: 16;
  3329.                     yextent: 16;
  3330.                     zextent: 32;
  3331.                     always_draw: 0;
  3332.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  3333.                 }
  3334.                 building {
  3335.                     sprite: machine_shop_spriteset_11_4_snow(0* animation_frame);
  3336.                     recolour_mode: RECOLOUR_REMAP;
  3337.                     palette: PALETTE_USE_DEFAULT;
  3338.                     xoffset: 0;
  3339.                     yoffset: 0;
  3340.                     zoffset: 0;
  3341.                     xextent: 16;
  3342.                     yextent: 16;
  3343.                     zextent: 32;
  3344.                     always_draw: 0;
  3345.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  3346.                 }
  3347.  
  3348.  
  3349.  
  3350.                 building {
  3351.                     sprite: machine_shop_spriteset_11_5(0* animation_frame);
  3352.                     recolour_mode: RECOLOUR_REMAP;
  3353.                     palette: PALETTE_USE_DEFAULT;
  3354.                     xoffset: 0;
  3355.                     yoffset: 0;
  3356.                     zoffset: 0;
  3357.                     xextent: 16;
  3358.                     yextent: 16;
  3359.                     zextent: 32;
  3360.                     always_draw: 0;
  3361.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  3362.                 }
  3363.                 building {
  3364.                     sprite: machine_shop_spriteset_11_5_snow(0* animation_frame);
  3365.                     recolour_mode: RECOLOUR_REMAP;
  3366.                     palette: PALETTE_USE_DEFAULT;
  3367.                     xoffset: 0;
  3368.                     yoffset: 0;
  3369.                     zoffset: 0;
  3370.                     xextent: 16;
  3371.                     yextent: 16;
  3372.                     zextent: 32;
  3373.                     always_draw: 0;
  3374.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  3375.                 }
  3376.  
  3377.  
  3378.  
  3379.         // smoke sprites
  3380.  
  3381.  
  3382.         // fences SE and SW
  3383.  
  3384.             building {
  3385.                 sprite: 1301 + LOAD_TEMP(3);
  3386.                 hide_sprite: (LOAD_TEMP(11) == 0);
  3387.                 xoffset: 0;
  3388.                 yoffset: 16;
  3389.                 zoffset: LOAD_TEMP(7) * 8;
  3390.                 xextent: 16;
  3391.                 yextent: 1;
  3392.                 zextent: 6;
  3393.                 recolour_mode: RECOLOUR_REMAP;
  3394.                 palette: PALETTE_USE_DEFAULT;
  3395.             }
  3396.  
  3397.  
  3398.             building {
  3399.                 sprite: 1302 + LOAD_TEMP(4);
  3400.                 hide_sprite: (LOAD_TEMP(12) == 0);
  3401.                 xoffset: 16;
  3402.                 yoffset: 0;
  3403.                 zoffset: LOAD_TEMP(8) * 8;
  3404.                 xextent: 1;
  3405.                 yextent: 16;
  3406.                 zextent: 6;
  3407.                 recolour_mode: RECOLOUR_REMAP;
  3408.                 palette: PALETTE_USE_DEFAULT;
  3409.             }
  3410.  
  3411.  
  3412.     }
  3413.  
  3414.     spritelayout machine_shop_spritelayout_12 {
  3415.  
  3416.  
  3417.         // industry-specific ground (snow aware)
  3418.         // normal
  3419.         childsprite {
  3420.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  3421.             recolour_mode: RECOLOUR_REMAP;
  3422.             palette: PALETTE_USE_DEFAULT;
  3423.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  3424.             always_draw: 1;
  3425.         }
  3426.         childsprite {
  3427.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  3428.             recolour_mode: RECOLOUR_REMAP;
  3429.             palette: PALETTE_USE_DEFAULT;
  3430.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  3431.             always_draw: 1;
  3432.         }
  3433.         // snow
  3434.         childsprite {
  3435.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  3436.             recolour_mode: RECOLOUR_REMAP;
  3437.             palette: PALETTE_USE_DEFAULT;
  3438.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  3439.             always_draw: 1;
  3440.         }
  3441.         childsprite {
  3442.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  3443.             recolour_mode: RECOLOUR_REMAP;
  3444.             palette: PALETTE_USE_DEFAULT;
  3445.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  3446.             always_draw: 1;
  3447.         }
  3448.         // fences NE and NW
  3449.  
  3450.             building {
  3451.                 sprite: 1302 + LOAD_TEMP(1);
  3452.                 hide_sprite: (LOAD_TEMP(9) == 0);
  3453.                 xoffset: 0;
  3454.                 yoffset: 0;
  3455.                 zoffset: LOAD_TEMP(5) * 8;
  3456.                 xextent: 1;
  3457.                 yextent: 16;
  3458.                 zextent: 6;
  3459.                 recolour_mode: RECOLOUR_REMAP;
  3460.                 palette: PALETTE_USE_DEFAULT;
  3461.             }
  3462.  
  3463.  
  3464.             building {
  3465.                 sprite: 1301 + LOAD_TEMP(2);
  3466.                 hide_sprite: (LOAD_TEMP(10) == 0);
  3467.                 xoffset: 0;
  3468.                 yoffset: 0;
  3469.                 zoffset: LOAD_TEMP(6) * 8;
  3470.                 xextent: 16;
  3471.                 yextent: 1;
  3472.                 zextent: 6;
  3473.                 recolour_mode: RECOLOUR_REMAP;
  3474.                 palette: PALETTE_USE_DEFAULT;
  3475.             }
  3476.  
  3477.  
  3478.         // construction stages - optional
  3479.  
  3480.             // construction states (no snow awareness)
  3481.             building {
  3482.                 sprite: machine_shop_spriteset_12_0(0* animation_frame);
  3483.                 recolour_mode: RECOLOUR_REMAP;
  3484.                 palette: PALETTE_USE_DEFAULT;
  3485.                 xoffset: 0;
  3486.                 yoffset: 0;
  3487.                 zoffset: 0;
  3488.                 xextent: 16;
  3489.                 yextent: 16;
  3490.                 zextent: 32;
  3491.                 always_draw: 0;
  3492.                 hide_sprite: (construction_state != 0);
  3493.             }
  3494.             building {
  3495.                 sprite: machine_shop_spriteset_12_0(0* animation_frame);
  3496.                 recolour_mode: RECOLOUR_REMAP;
  3497.                 palette: PALETTE_USE_DEFAULT;
  3498.                 xoffset: 0;
  3499.                 yoffset: 0;
  3500.                 zoffset: 0;
  3501.                 xextent: 16;
  3502.                 yextent: 16;
  3503.                 zextent: 32;
  3504.                 always_draw: 0;
  3505.                 hide_sprite: (construction_state != 1);
  3506.             }
  3507.             building {
  3508.                 sprite: machine_shop_spriteset_12_0(0* animation_frame);
  3509.                 recolour_mode: RECOLOUR_REMAP;
  3510.                 palette: PALETTE_USE_DEFAULT;
  3511.                 xoffset: 0;
  3512.                 yoffset: 0;
  3513.                 zoffset: 0;
  3514.                 xextent: 16;
  3515.                 yextent: 16;
  3516.                 zextent: 32;
  3517.                 always_draw: 0;
  3518.                 hide_sprite: (construction_state != 2);
  3519.             }
  3520.  
  3521.         // buildings (snow aware)
  3522.  
  3523.  
  3524.                 building {
  3525.                     sprite: machine_shop_spriteset_12_0(0* animation_frame);
  3526.                     recolour_mode: RECOLOUR_REMAP;
  3527.                     palette: PALETTE_USE_DEFAULT;
  3528.                     xoffset: 0;
  3529.                     yoffset: 0;
  3530.                     zoffset: 0;
  3531.                     xextent: 16;
  3532.                     yextent: 16;
  3533.                     zextent: 32;
  3534.                     always_draw: 0;
  3535.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  3536.                 }
  3537.                 building {
  3538.                     sprite: machine_shop_spriteset_12_0_snow(0* animation_frame);
  3539.                     recolour_mode: RECOLOUR_REMAP;
  3540.                     palette: PALETTE_USE_DEFAULT;
  3541.                     xoffset: 0;
  3542.                     yoffset: 0;
  3543.                     zoffset: 0;
  3544.                     xextent: 16;
  3545.                     yextent: 16;
  3546.                     zextent: 32;
  3547.                     always_draw: 0;
  3548.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  3549.                 }
  3550.  
  3551.  
  3552.  
  3553.                 building {
  3554.                     sprite: machine_shop_spriteset_12_1(0* animation_frame);
  3555.                     recolour_mode: RECOLOUR_REMAP;
  3556.                     palette: PALETTE_USE_DEFAULT;
  3557.                     xoffset: 0;
  3558.                     yoffset: 0;
  3559.                     zoffset: 0;
  3560.                     xextent: 16;
  3561.                     yextent: 16;
  3562.                     zextent: 32;
  3563.                     always_draw: 0;
  3564.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  3565.                 }
  3566.                 building {
  3567.                     sprite: machine_shop_spriteset_12_1_snow(0* animation_frame);
  3568.                     recolour_mode: RECOLOUR_REMAP;
  3569.                     palette: PALETTE_USE_DEFAULT;
  3570.                     xoffset: 0;
  3571.                     yoffset: 0;
  3572.                     zoffset: 0;
  3573.                     xextent: 16;
  3574.                     yextent: 16;
  3575.                     zextent: 32;
  3576.                     always_draw: 0;
  3577.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  3578.                 }
  3579.  
  3580.  
  3581.  
  3582.                 building {
  3583.                     sprite: machine_shop_spriteset_12_2(0* animation_frame);
  3584.                     recolour_mode: RECOLOUR_REMAP;
  3585.                     palette: PALETTE_USE_DEFAULT;
  3586.                     xoffset: 0;
  3587.                     yoffset: 0;
  3588.                     zoffset: 0;
  3589.                     xextent: 16;
  3590.                     yextent: 16;
  3591.                     zextent: 32;
  3592.                     always_draw: 0;
  3593.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  3594.                 }
  3595.                 building {
  3596.                     sprite: machine_shop_spriteset_12_2_snow(0* animation_frame);
  3597.                     recolour_mode: RECOLOUR_REMAP;
  3598.                     palette: PALETTE_USE_DEFAULT;
  3599.                     xoffset: 0;
  3600.                     yoffset: 0;
  3601.                     zoffset: 0;
  3602.                     xextent: 16;
  3603.                     yextent: 16;
  3604.                     zextent: 32;
  3605.                     always_draw: 0;
  3606.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  3607.                 }
  3608.  
  3609.  
  3610.  
  3611.                 building {
  3612.                     sprite: machine_shop_spriteset_12_3(0* animation_frame);
  3613.                     recolour_mode: RECOLOUR_REMAP;
  3614.                     palette: PALETTE_USE_DEFAULT;
  3615.                     xoffset: 0;
  3616.                     yoffset: 0;
  3617.                     zoffset: 0;
  3618.                     xextent: 16;
  3619.                     yextent: 16;
  3620.                     zextent: 32;
  3621.                     always_draw: 0;
  3622.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  3623.                 }
  3624.                 building {
  3625.                     sprite: machine_shop_spriteset_12_3_snow(0* animation_frame);
  3626.                     recolour_mode: RECOLOUR_REMAP;
  3627.                     palette: PALETTE_USE_DEFAULT;
  3628.                     xoffset: 0;
  3629.                     yoffset: 0;
  3630.                     zoffset: 0;
  3631.                     xextent: 16;
  3632.                     yextent: 16;
  3633.                     zextent: 32;
  3634.                     always_draw: 0;
  3635.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  3636.                 }
  3637.  
  3638.  
  3639.  
  3640.                 building {
  3641.                     sprite: machine_shop_spriteset_12_4(0* animation_frame);
  3642.                     recolour_mode: RECOLOUR_REMAP;
  3643.                     palette: PALETTE_USE_DEFAULT;
  3644.                     xoffset: 0;
  3645.                     yoffset: 0;
  3646.                     zoffset: 0;
  3647.                     xextent: 16;
  3648.                     yextent: 16;
  3649.                     zextent: 32;
  3650.                     always_draw: 0;
  3651.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  3652.                 }
  3653.                 building {
  3654.                     sprite: machine_shop_spriteset_12_4_snow(0* animation_frame);
  3655.                     recolour_mode: RECOLOUR_REMAP;
  3656.                     palette: PALETTE_USE_DEFAULT;
  3657.                     xoffset: 0;
  3658.                     yoffset: 0;
  3659.                     zoffset: 0;
  3660.                     xextent: 16;
  3661.                     yextent: 16;
  3662.                     zextent: 32;
  3663.                     always_draw: 0;
  3664.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  3665.                 }
  3666.  
  3667.  
  3668.  
  3669.                 building {
  3670.                     sprite: machine_shop_spriteset_12_5(0* animation_frame);
  3671.                     recolour_mode: RECOLOUR_REMAP;
  3672.                     palette: PALETTE_USE_DEFAULT;
  3673.                     xoffset: 0;
  3674.                     yoffset: 0;
  3675.                     zoffset: 0;
  3676.                     xextent: 16;
  3677.                     yextent: 16;
  3678.                     zextent: 32;
  3679.                     always_draw: 0;
  3680.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  3681.                 }
  3682.                 building {
  3683.                     sprite: machine_shop_spriteset_12_5_snow(0* animation_frame);
  3684.                     recolour_mode: RECOLOUR_REMAP;
  3685.                     palette: PALETTE_USE_DEFAULT;
  3686.                     xoffset: 0;
  3687.                     yoffset: 0;
  3688.                     zoffset: 0;
  3689.                     xextent: 16;
  3690.                     yextent: 16;
  3691.                     zextent: 32;
  3692.                     always_draw: 0;
  3693.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  3694.                 }
  3695.  
  3696.  
  3697.  
  3698.         // smoke sprites
  3699.  
  3700.  
  3701.         // fences SE and SW
  3702.  
  3703.             building {
  3704.                 sprite: 1301 + LOAD_TEMP(3);
  3705.                 hide_sprite: (LOAD_TEMP(11) == 0);
  3706.                 xoffset: 0;
  3707.                 yoffset: 16;
  3708.                 zoffset: LOAD_TEMP(7) * 8;
  3709.                 xextent: 16;
  3710.                 yextent: 1;
  3711.                 zextent: 6;
  3712.                 recolour_mode: RECOLOUR_REMAP;
  3713.                 palette: PALETTE_USE_DEFAULT;
  3714.             }
  3715.  
  3716.  
  3717.             building {
  3718.                 sprite: 1302 + LOAD_TEMP(4);
  3719.                 hide_sprite: (LOAD_TEMP(12) == 0);
  3720.                 xoffset: 16;
  3721.                 yoffset: 0;
  3722.                 zoffset: LOAD_TEMP(8) * 8;
  3723.                 xextent: 1;
  3724.                 yextent: 16;
  3725.                 zextent: 6;
  3726.                 recolour_mode: RECOLOUR_REMAP;
  3727.                 palette: PALETTE_USE_DEFAULT;
  3728.             }
  3729.  
  3730.  
  3731.     }
  3732.  
  3733.     spritelayout machine_shop_spritelayout_13 {
  3734.  
  3735.  
  3736.         // industry-specific ground (snow aware)
  3737.         // normal
  3738.         childsprite {
  3739.             sprite: machine_shop_spriteset_ground_0(0* animation_frame);
  3740.             recolour_mode: RECOLOUR_REMAP;
  3741.             palette: PALETTE_USE_DEFAULT;
  3742.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  3743.             always_draw: 1;
  3744.         }
  3745.         childsprite {
  3746.             sprite: machine_shop_spriteset_ground_overlay_0(0* animation_frame);
  3747.             recolour_mode: RECOLOUR_REMAP;
  3748.             palette: PALETTE_USE_DEFAULT;
  3749.             hide_sprite: (terrain_type == TILETYPE_SNOW);
  3750.             always_draw: 1;
  3751.         }
  3752.         // snow
  3753.         childsprite {
  3754.             sprite: machine_shop_spriteset_ground_0_snow(0* animation_frame);
  3755.             recolour_mode: RECOLOUR_REMAP;
  3756.             palette: PALETTE_USE_DEFAULT;
  3757.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  3758.             always_draw: 1;
  3759.         }
  3760.         childsprite {
  3761.             sprite: machine_shop_spriteset_ground_overlay_0_snow(0* animation_frame);
  3762.             recolour_mode: RECOLOUR_REMAP;
  3763.             palette: PALETTE_USE_DEFAULT;
  3764.             hide_sprite: (terrain_type != TILETYPE_SNOW);
  3765.             always_draw: 1;
  3766.         }
  3767.         // fences NE and NW
  3768.  
  3769.             building {
  3770.                 sprite: 1302 + LOAD_TEMP(1);
  3771.                 hide_sprite: (LOAD_TEMP(9) == 0);
  3772.                 xoffset: 0;
  3773.                 yoffset: 0;
  3774.                 zoffset: LOAD_TEMP(5) * 8;
  3775.                 xextent: 1;
  3776.                 yextent: 16;
  3777.                 zextent: 6;
  3778.                 recolour_mode: RECOLOUR_REMAP;
  3779.                 palette: PALETTE_USE_DEFAULT;
  3780.             }
  3781.  
  3782.  
  3783.             building {
  3784.                 sprite: 1301 + LOAD_TEMP(2);
  3785.                 hide_sprite: (LOAD_TEMP(10) == 0);
  3786.                 xoffset: 0;
  3787.                 yoffset: 0;
  3788.                 zoffset: LOAD_TEMP(6) * 8;
  3789.                 xextent: 16;
  3790.                 yextent: 1;
  3791.                 zextent: 6;
  3792.                 recolour_mode: RECOLOUR_REMAP;
  3793.                 palette: PALETTE_USE_DEFAULT;
  3794.             }
  3795.  
  3796.  
  3797.         // construction stages - optional
  3798.  
  3799.             // construction states (no snow awareness)
  3800.             building {
  3801.                 sprite: machine_shop_spriteset_13_0(0* animation_frame);
  3802.                 recolour_mode: RECOLOUR_REMAP;
  3803.                 palette: PALETTE_USE_DEFAULT;
  3804.                 xoffset: 0;
  3805.                 yoffset: 0;
  3806.                 zoffset: 0;
  3807.                 xextent: 16;
  3808.                 yextent: 16;
  3809.                 zextent: 32;
  3810.                 always_draw: 0;
  3811.                 hide_sprite: (construction_state != 0);
  3812.             }
  3813.             building {
  3814.                 sprite: machine_shop_spriteset_13_0(0* animation_frame);
  3815.                 recolour_mode: RECOLOUR_REMAP;
  3816.                 palette: PALETTE_USE_DEFAULT;
  3817.                 xoffset: 0;
  3818.                 yoffset: 0;
  3819.                 zoffset: 0;
  3820.                 xextent: 16;
  3821.                 yextent: 16;
  3822.                 zextent: 32;
  3823.                 always_draw: 0;
  3824.                 hide_sprite: (construction_state != 1);
  3825.             }
  3826.             building {
  3827.                 sprite: machine_shop_spriteset_13_0(0* animation_frame);
  3828.                 recolour_mode: RECOLOUR_REMAP;
  3829.                 palette: PALETTE_USE_DEFAULT;
  3830.                 xoffset: 0;
  3831.                 yoffset: 0;
  3832.                 zoffset: 0;
  3833.                 xextent: 16;
  3834.                 yextent: 16;
  3835.                 zextent: 32;
  3836.                 always_draw: 0;
  3837.                 hide_sprite: (construction_state != 2);
  3838.             }
  3839.  
  3840.         // buildings (snow aware)
  3841.  
  3842.  
  3843.                 building {
  3844.                     sprite: machine_shop_spriteset_13_0(0* animation_frame);
  3845.                     recolour_mode: RECOLOUR_REMAP;
  3846.                     palette: PALETTE_USE_DEFAULT;
  3847.                     xoffset: 0;
  3848.                     yoffset: 0;
  3849.                     zoffset: 0;
  3850.                     xextent: 16;
  3851.                     yextent: 16;
  3852.                     zextent: 32;
  3853.                     always_draw: 0;
  3854.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  3855.                 }
  3856.                 building {
  3857.                     sprite: machine_shop_spriteset_13_0_snow(0* animation_frame);
  3858.                     recolour_mode: RECOLOUR_REMAP;
  3859.                     palette: PALETTE_USE_DEFAULT;
  3860.                     xoffset: 0;
  3861.                     yoffset: 0;
  3862.                     zoffset: 0;
  3863.                     xextent: 16;
  3864.                     yextent: 16;
  3865.                     zextent: 32;
  3866.                     always_draw: 0;
  3867.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1920;
  3868.                 }
  3869.  
  3870.  
  3871.  
  3872.                 building {
  3873.                     sprite: machine_shop_spriteset_13_1(0* animation_frame);
  3874.                     recolour_mode: RECOLOUR_REMAP;
  3875.                     palette: PALETTE_USE_DEFAULT;
  3876.                     xoffset: 0;
  3877.                     yoffset: 0;
  3878.                     zoffset: 0;
  3879.                     xextent: 16;
  3880.                     yextent: 16;
  3881.                     zextent: 32;
  3882.                     always_draw: 0;
  3883.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  3884.                 }
  3885.                 building {
  3886.                     sprite: machine_shop_spriteset_13_1_snow(0* animation_frame);
  3887.                     recolour_mode: RECOLOUR_REMAP;
  3888.                     palette: PALETTE_USE_DEFAULT;
  3889.                     xoffset: 0;
  3890.                     yoffset: 0;
  3891.                     zoffset: 0;
  3892.                     xextent: 16;
  3893.                     yextent: 16;
  3894.                     zextent: 32;
  3895.                     always_draw: 0;
  3896.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
  3897.                 }
  3898.  
  3899.  
  3900.  
  3901.                 building {
  3902.                     sprite: machine_shop_spriteset_13_2(0* animation_frame);
  3903.                     recolour_mode: RECOLOUR_REMAP;
  3904.                     palette: PALETTE_USE_DEFAULT;
  3905.                     xoffset: 0;
  3906.                     yoffset: 0;
  3907.                     zoffset: 0;
  3908.                     xextent: 16;
  3909.                     yextent: 16;
  3910.                     zextent: 32;
  3911.                     always_draw: 0;
  3912.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  3913.                 }
  3914.                 building {
  3915.                     sprite: machine_shop_spriteset_13_2_snow(0* animation_frame);
  3916.                     recolour_mode: RECOLOUR_REMAP;
  3917.                     palette: PALETTE_USE_DEFAULT;
  3918.                     xoffset: 0;
  3919.                     yoffset: 0;
  3920.                     zoffset: 0;
  3921.                     xextent: 16;
  3922.                     yextent: 16;
  3923.                     zextent: 32;
  3924.                     always_draw: 0;
  3925.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1945 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1970;
  3926.                 }
  3927.  
  3928.  
  3929.  
  3930.                 building {
  3931.                     sprite: machine_shop_spriteset_13_3(0* animation_frame);
  3932.                     recolour_mode: RECOLOUR_REMAP;
  3933.                     palette: PALETTE_USE_DEFAULT;
  3934.                     xoffset: 0;
  3935.                     yoffset: 0;
  3936.                     zoffset: 0;
  3937.                     xextent: 16;
  3938.                     yextent: 16;
  3939.                     zextent: 32;
  3940.                     always_draw: 0;
  3941.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  3942.                 }
  3943.                 building {
  3944.                     sprite: machine_shop_spriteset_13_3_snow(0* animation_frame);
  3945.                     recolour_mode: RECOLOUR_REMAP;
  3946.                     palette: PALETTE_USE_DEFAULT;
  3947.                     xoffset: 0;
  3948.                     yoffset: 0;
  3949.                     zoffset: 0;
  3950.                     xextent: 16;
  3951.                     yextent: 16;
  3952.                     zextent: 32;
  3953.                     always_draw: 0;
  3954.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1970 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1990;
  3955.                 }
  3956.  
  3957.  
  3958.  
  3959.                 building {
  3960.                     sprite: machine_shop_spriteset_13_4(0* animation_frame);
  3961.                     recolour_mode: RECOLOUR_REMAP;
  3962.                     palette: PALETTE_USE_DEFAULT;
  3963.                     xoffset: 0;
  3964.                     yoffset: 0;
  3965.                     zoffset: 0;
  3966.                     xextent: 16;
  3967.                     yextent: 16;
  3968.                     zextent: 32;
  3969.                     always_draw: 0;
  3970.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  3971.                 }
  3972.                 building {
  3973.                     sprite: machine_shop_spriteset_13_4_snow(0* animation_frame);
  3974.                     recolour_mode: RECOLOUR_REMAP;
  3975.                     palette: PALETTE_USE_DEFAULT;
  3976.                     xoffset: 0;
  3977.                     yoffset: 0;
  3978.                     zoffset: 0;
  3979.                     xextent: 16;
  3980.                     yextent: 16;
  3981.                     zextent: 32;
  3982.                     always_draw: 0;
  3983.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1990 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 2010;
  3984.                 }
  3985.  
  3986.  
  3987.  
  3988.                 building {
  3989.                     sprite: machine_shop_spriteset_13_5(0* animation_frame);
  3990.                     recolour_mode: RECOLOUR_REMAP;
  3991.                     palette: PALETTE_USE_DEFAULT;
  3992.                     xoffset: 0;
  3993.                     yoffset: 0;
  3994.                     zoffset: 0;
  3995.                     xextent: 16;
  3996.                     yextent: 16;
  3997.                     zextent: 32;
  3998.                     always_draw: 0;
  3999.                     hide_sprite: (construction_state != 3) || (terrain_type == TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  4000.                 }
  4001.                 building {
  4002.                     sprite: machine_shop_spriteset_13_5_snow(0* animation_frame);
  4003.                     recolour_mode: RECOLOUR_REMAP;
  4004.                     palette: PALETTE_USE_DEFAULT;
  4005.                     xoffset: 0;
  4006.                     yoffset: 0;
  4007.                     zoffset: 0;
  4008.                     xextent: 16;
  4009.                     yextent: 16;
  4010.                     zextent: 32;
  4011.                     always_draw: 0;
  4012.                     hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 2010;
  4013.                 }

Comments