- /* ******************************************************************
- * Definition of the industry tile, its callbacks, and graphics chain
- * ******************************************************************/
- spriteset(limestone_mine_spriteset_0_0) {
- [10, 310, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [80, 310, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [150, 310, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- }
- spriteset(limestone_mine_spriteset_0_0_snow) {
- [10, 310, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [80, 310, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [150, 310, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- }
- spriteset(limestone_mine_spriteset_1_0) {
- [10, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [80, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [150, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [220, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [290, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [360, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [430, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [500, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [500, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [570, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [570, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [640, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [640, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [710, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [780, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [850, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [920, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [990, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- [1060, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- }
- spriteset(limestone_mine_spriteset_1_0_snow) {
- [10, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [80, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [150, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [220, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [290, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [360, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [430, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [500, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [500, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [570, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [570, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [640, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [640, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [710, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [780, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [850, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [920, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [990, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- [1060, 160, 64, 122, -31, -88, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- }
- spriteset(limestone_mine_spriteset_2_0) {
- [10, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- }
- spriteset(limestone_mine_spriteset_2_0_snow) {
- [10, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- }
- spriteset(limestone_mine_spriteset_3_0) {
- [80, 10, 64, 122, -31, -74, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- }
- spriteset(limestone_mine_spriteset_3_0_snow) {
- [80, 10, 64, 122, -31, -74, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- }
- spriteset(limestone_mine_spriteset_4_0) {
- [150, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- }
- spriteset(limestone_mine_spriteset_4_0_snow) {
- [150, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- }
- spriteset(limestone_mine_spriteset_5_0) {
- [220, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- }
- spriteset(limestone_mine_spriteset_5_0_snow) {
- [220, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- }
- spriteset(limestone_mine_spriteset_6_0) {
- [290, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- }
- spriteset(limestone_mine_spriteset_6_0_snow) {
- [290, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- }
- spriteset(limestone_mine_spriteset_7_0) {
- [360, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- }
- spriteset(limestone_mine_spriteset_7_0_snow) {
- [360, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- }
- spriteset(limestone_mine_spriteset_8_0) {
- [430, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1.png"]
- }
- spriteset(limestone_mine_spriteset_8_0_snow) {
- [430, 10, 64, 122, -31, -90, ANIM | NOCROP, "src/graphics/industries/limestone_mine_1_snow.png"]
- }
- spritelayout limestone_mine_spritelayout_tile_empty {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- }
- spritelayout limestone_mine_spritelayout_headgear_animated {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- // buildings (snow aware)
- building {
- sprite: limestone_mine_spriteset_0_0(1*(animation_frame % 3));
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(255));
- }
- building {
- sprite: limestone_mine_spriteset_0_0_snow(1*(animation_frame % 3));
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(245));
- }
- }
- spritelayout limestone_mine_spritelayout_exit_trestle_animated {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- // buildings (snow aware)
- building {
- sprite: limestone_mine_spriteset_1_0(1* (animation_frame));
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(255));
- }
- building {
- sprite: limestone_mine_spriteset_1_0_snow(1* (animation_frame));
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(245));
- }
- }
- spritelayout limestone_mine_spritelayout_crusher_front_part {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- // buildings (snow aware)
- building {
- sprite: limestone_mine_spriteset_2_0(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(255));
- }
- building {
- sprite: limestone_mine_spriteset_2_0_snow(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(245));
- }
- }
- spritelayout limestone_mine_spritelayout_crusher_rear_part {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- // buildings (snow aware)
- building {
- sprite: limestone_mine_spriteset_3_0(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(255));
- }
- building {
- sprite: limestone_mine_spriteset_3_0_snow(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(245));
- }
- }
- spritelayout limestone_mine_spritelayout_hut_vents {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- // buildings (snow aware)
- building {
- sprite: limestone_mine_spriteset_4_0(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(255));
- }
- building {
- sprite: limestone_mine_spriteset_4_0_snow(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(245));
- }
- }
- spritelayout limestone_mine_spritelayout_ore_1 {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- // buildings (snow aware)
- building {
- sprite: limestone_mine_spriteset_5_0(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(255));
- }
- building {
- sprite: limestone_mine_spriteset_5_0_snow(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(245));
- }
- }
- spritelayout limestone_mine_spritelayout_ore_2 {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- // buildings (snow aware)
- building {
- sprite: limestone_mine_spriteset_6_0(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(255));
- }
- building {
- sprite: limestone_mine_spriteset_6_0_snow(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(245));
- }
- }
- spritelayout limestone_mine_spritelayout_winding_house {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- // buildings (snow aware)
- building {
- sprite: limestone_mine_spriteset_7_0(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(255));
- }
- building {
- sprite: limestone_mine_spriteset_7_0_snow(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(245));
- }
- // smoke sprites
- building {
- sprite: 2040 + (animation_frame / 4);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: -1;
- yoffset: 2;
- zoffset: 38+ animation_frame;
- xextent: 11;
- yextent: 16;
- zextent: 7;
- hide_sprite: animation_frame > 19;
- }
- // smoke sprites
- building {
- sprite: 2040 + (animation_frame / 4);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: -1;
- yoffset: 6;
- zoffset: 38+ animation_frame;
- xextent: 11;
- yextent: 16;
- zextent: 7;
- hide_sprite: animation_frame > 19;
- }
- }
- spritelayout limestone_mine_spritelayout_exit_shed_rear {
- // Industry-specific ground (snow aware)
- // non-snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (LOAD_TEMP(13));
- always_draw: 1;
- }
- // snow
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- childsprite {
- sprite: 2022;
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- hide_sprite: (!LOAD_TEMP(13));
- always_draw: 1;
- }
- // buildings (snow aware)
- building {
- sprite: limestone_mine_spriteset_8_0(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(255));
- }
- building {
- sprite: limestone_mine_spriteset_8_0_snow(0);
- recolour_mode: RECOLOUR_REMAP;
- palette: PALETTE_USE_DEFAULT;
- xoffset: 0;
- yoffset: 0;
- zoffset: 0;
- xextent: 16;
- yextent: 16;
- zextent: 32;
- always_draw: 0;
- hide_sprite: (LOAD_TEMP(245));
- }
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_industry_layout_1_graphics_switch, relative_pos) {
- relative_coord(0, 1): limestone_mine_spritelayout_headgear_animated;
- relative_coord(0, 2): limestone_mine_spritelayout_winding_house;
- relative_coord(1, 0): limestone_mine_spritelayout_crusher_rear_part;
- relative_coord(1, 1): limestone_mine_spritelayout_exit_shed_rear;
- relative_coord(1, 2): limestone_mine_spritelayout_hut_vents;
- relative_coord(2, 0): limestone_mine_spritelayout_tile_empty;
- relative_coord(2, 1): limestone_mine_spritelayout_exit_trestle_animated;
- relative_coord(2, 2): limestone_mine_spritelayout_tile_empty;
- relative_coord(3, 0): limestone_mine_spritelayout_crusher_front_part;
- relative_coord(3, 1): limestone_mine_spritelayout_ore_1;
- relative_coord(3, 2): limestone_mine_spritelayout_ore_2;
- limestone_mine_spritelayout_headgear_animated; // a default is needed, but should never be reached, layout definitions are explicit
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_industry_layout_2_graphics_switch, relative_pos) {
- relative_coord(0, 0): limestone_mine_spritelayout_crusher_rear_part;
- relative_coord(0, 1): limestone_mine_spritelayout_headgear_animated;
- relative_coord(0, 2): limestone_mine_spritelayout_winding_house;
- relative_coord(0, 3): limestone_mine_spritelayout_headgear_animated;
- relative_coord(0, 4): limestone_mine_spritelayout_winding_house;
- relative_coord(1, 0): limestone_mine_spritelayout_tile_empty;
- relative_coord(1, 1): limestone_mine_spritelayout_exit_shed_rear;
- relative_coord(1, 2): limestone_mine_spritelayout_tile_empty;
- relative_coord(1, 3): limestone_mine_spritelayout_exit_shed_rear;
- relative_coord(1, 4): limestone_mine_spritelayout_hut_vents;
- relative_coord(2, 0): limestone_mine_spritelayout_crusher_front_part;
- relative_coord(2, 1): limestone_mine_spritelayout_exit_trestle_animated;
- relative_coord(2, 2): limestone_mine_spritelayout_ore_1;
- relative_coord(2, 3): limestone_mine_spritelayout_exit_trestle_animated;
- relative_coord(2, 4): limestone_mine_spritelayout_ore_2;
- limestone_mine_spritelayout_crusher_rear_part; // a default is needed, but should never be reached, layout definitions are explicit
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_industry_layout_3_graphics_switch, relative_pos) {
- relative_coord(0, 0): limestone_mine_spritelayout_headgear_animated;
- relative_coord(0, 1): limestone_mine_spritelayout_winding_house;
- relative_coord(1, 0): limestone_mine_spritelayout_exit_shed_rear;
- relative_coord(1, 1): limestone_mine_spritelayout_ore_2;
- relative_coord(1, 2): limestone_mine_spritelayout_tile_empty;
- relative_coord(2, 0): limestone_mine_spritelayout_exit_trestle_animated;
- relative_coord(2, 1): limestone_mine_spritelayout_headgear_animated;
- relative_coord(2, 2): limestone_mine_spritelayout_winding_house;
- relative_coord(3, 2): limestone_mine_spritelayout_hut_vents;
- relative_coord(3, 1): limestone_mine_spritelayout_exit_shed_rear;
- relative_coord(3, 0): limestone_mine_spritelayout_crusher_rear_part;
- relative_coord(4, 0): limestone_mine_spritelayout_tile_empty;
- relative_coord(4, 1): limestone_mine_spritelayout_exit_trestle_animated;
- relative_coord(4, 2): limestone_mine_spritelayout_ore_2;
- relative_coord(5, 0): limestone_mine_spritelayout_crusher_front_part;
- relative_coord(5, 1): limestone_mine_spritelayout_ore_1;
- limestone_mine_spritelayout_headgear_animated; // a default is needed, but should never be reached, layout definitions are explicit
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_industry_layout_4_graphics_switch, relative_pos) {
- relative_coord(0, 0): limestone_mine_spritelayout_headgear_animated;
- relative_coord(0, 1): limestone_mine_spritelayout_winding_house;
- relative_coord(0, 2): limestone_mine_spritelayout_headgear_animated;
- relative_coord(0, 3): limestone_mine_spritelayout_winding_house;
- relative_coord(0, 4): limestone_mine_spritelayout_crusher_rear_part;
- relative_coord(1, 0): limestone_mine_spritelayout_exit_shed_rear;
- relative_coord(1, 1): limestone_mine_spritelayout_ore_2;
- relative_coord(1, 2): limestone_mine_spritelayout_exit_shed_rear;
- relative_coord(1, 3): limestone_mine_spritelayout_tile_empty;
- relative_coord(1, 4): limestone_mine_spritelayout_tile_empty;
- relative_coord(2, 0): limestone_mine_spritelayout_exit_trestle_animated;
- relative_coord(2, 1): limestone_mine_spritelayout_hut_vents;
- relative_coord(2, 2): limestone_mine_spritelayout_exit_trestle_animated;
- relative_coord(2, 3): limestone_mine_spritelayout_ore_1;
- relative_coord(2, 4): limestone_mine_spritelayout_crusher_front_part;
- limestone_mine_spritelayout_headgear_animated; // a default is needed, but should never be reached, layout definitions are explicit
- }
- switch(FEAT_INDUSTRYTILES, PARENT, limestone_mine_industry_graphics_switch_layouts, layout_num) {
- 1: limestone_mine_industry_layout_1_graphics_switch;
- 2: limestone_mine_industry_layout_2_graphics_switch;
- 3: limestone_mine_industry_layout_3_graphics_switch;
- 4: limestone_mine_industry_layout_4_graphics_switch;
- limestone_mine_industry_layout_1_graphics_switch; // default
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_industry_construction_state_graphics_switch, construction_state) {
- 0..2: spritelayout_default_construction_states;
- limestone_mine_industry_graphics_switch_layouts; // default
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_store_temp_vars,
- [STORE_TEMP(terrain_type == TILETYPE_SNOW, 13)
- , STORE_TEMP(0,
- 255)
- , STORE_TEMP(construction_state != 3 ? 1 : LOAD_TEMP(255),
- 255)
- , STORE_TEMP(LOAD_TEMP(13) == 0 ? 1 : LOAD_TEMP(255),
- 245)
- , STORE_TEMP(LOAD_TEMP(13) == 1 ? 1 : LOAD_TEMP(255),
- 255)
- ]) {
- limestone_mine_industry_construction_state_graphics_switch; // default
- }
- switch(FEAT_INDUSTRYTILES, PARENT, limestone_mine_industry_master_graphics_switch, STORE_TEMP(random_bits, 14)) {
- limestone_mine_store_temp_vars; // default
- }
- switch (FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_fence_station, [
- STORE_TEMP(LOAD_TEMP(9) * (nearby_tile_class(-1, 0) != TILE_CLASS_STATION), 9),
- STORE_TEMP(LOAD_TEMP(10) * (nearby_tile_class( 0, -1) != TILE_CLASS_STATION), 10),
- STORE_TEMP(LOAD_TEMP(11) * (nearby_tile_class( 0, 1) != TILE_CLASS_STATION), 11),
- STORE_TEMP(LOAD_TEMP(12) * (nearby_tile_class( 1, 0) != TILE_CLASS_STATION), 12),
- ]) {
- limestone_mine_industry_master_graphics_switch;
- }
- switch (FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_fence_industry, [
- STORE_TEMP(LOAD_TEMP(9) * !nearby_tile_is_same_industry(-1, 0), 9),
- STORE_TEMP(LOAD_TEMP(10) * !nearby_tile_is_same_industry( 0, -1), 10),
- STORE_TEMP(LOAD_TEMP(11) * !nearby_tile_is_same_industry( 0, 1), 11),
- STORE_TEMP(LOAD_TEMP(12) * !nearby_tile_is_same_industry( 1, 0), 12),
- ]) {
- limestone_mine_tile_fence_station;
- }
- switch (FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_fences, [
- STORE_TEMP(0, 1),
- STORE_TEMP(0, 2),
- STORE_TEMP(0, 3),
- STORE_TEMP(0, 4),
- STORE_TEMP(1, 9),
- STORE_TEMP(1, 10),
- STORE_TEMP(1, 11),
- STORE_TEMP(1, 12),
- STORE_TEMP(0, 5),
- STORE_TEMP(0, 6),
- STORE_TEMP(0, 7),
- STORE_TEMP(0, 8),
- ]) {
- limestone_mine_tile_fence_industry;
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_1_lc_2,
- (nearby_tile_class( 1, 1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 1, 0) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 1, -1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 0, -1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class(-1, -1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class(-1, 0) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class(-1, 1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 0, 1) == TILE_CLASS_INDUSTRY)) {
- 1: return CB_RESULT_LOCATION_DISALLOW;
- return CB_RESULT_LOCATION_ALLOW;
- }
- switch (FEAT_INDUSTRYTILES, PARENT, limestone_mine_tile_1_lc_1, (
- (((extra_callback_info2 & 0xFF00) >> 8) == IND_CREATION_FUND) ||
- (((extra_callback_info2 & 0xFF00) >> 8) == IND_CREATION_PROSPECT)
- )
- ) {
- 1: return CB_RESULT_LOCATION_ALLOW;
- limestone_mine_tile_1_lc_2;
- }
- switch (FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_1_lc_0,
- (
- nearby_tile_height(-relative_x, -relative_y)
- + (nearby_tile_slope(-relative_x, -relative_y)
- == SLOPE_FLAT ? 0 :
- nearby_tile_slope(-relative_x, -relative_y) == bitmask(IS_STEEP_SLOPE) ? 2 : 1
- )) == (nearby_tile_height(0, 0)
- + (nearby_tile_slope(0, 0)
- == SLOPE_FLAT ? 0 :
- nearby_tile_slope(0, 0) == bitmask(IS_STEEP_SLOPE) ? 2 : 1))
- ) {
- 1: limestone_mine_tile_1_lc_1;
- return CB_RESULT_LOCATION_DISALLOW;
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_2_lc_2,
- (nearby_tile_class( 1, 1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 1, 0) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 1, -1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 0, -1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class(-1, -1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class(-1, 0) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class(-1, 1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 0, 1) == TILE_CLASS_INDUSTRY)) {
- 1: return CB_RESULT_LOCATION_DISALLOW;
- return CB_RESULT_LOCATION_ALLOW;
- }
- switch (FEAT_INDUSTRYTILES, PARENT, limestone_mine_tile_2_lc_1, (
- (((extra_callback_info2 & 0xFF00) >> 8) == IND_CREATION_FUND) ||
- (((extra_callback_info2 & 0xFF00) >> 8) == IND_CREATION_PROSPECT)
- )
- ) {
- 1: return CB_RESULT_LOCATION_ALLOW;
- limestone_mine_tile_2_lc_2;
- }
- switch (FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_2_lc_0,
- (
- nearby_tile_height(-relative_x, -relative_y)
- + (nearby_tile_slope(-relative_x, -relative_y)
- == SLOPE_FLAT ? 0 :
- nearby_tile_slope(-relative_x, -relative_y) == bitmask(IS_STEEP_SLOPE) ? 2 : 1
- )) == (nearby_tile_height(0, 0)
- + (nearby_tile_slope(0, 0)
- == SLOPE_FLAT ? 0 :
- nearby_tile_slope(0, 0) == bitmask(IS_STEEP_SLOPE) ? 2 : 1))
- ) {
- 1: limestone_mine_tile_2_lc_1;
- return CB_RESULT_LOCATION_DISALLOW;
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_3_lc_2,
- (nearby_tile_class( 1, 1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 1, 0) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 1, -1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 0, -1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class(-1, -1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class(-1, 0) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class(-1, 1) == TILE_CLASS_INDUSTRY) |
- (nearby_tile_class( 0, 1) == TILE_CLASS_INDUSTRY)) {
- 1: return CB_RESULT_LOCATION_DISALLOW;
- return CB_RESULT_LOCATION_ALLOW;
- }
- switch (FEAT_INDUSTRYTILES, PARENT, limestone_mine_tile_3_lc_1, (
- (((extra_callback_info2 & 0xFF00) >> 8) == IND_CREATION_FUND) ||
- (((extra_callback_info2 & 0xFF00) >> 8) == IND_CREATION_PROSPECT)
- )
- ) {
- 1: return CB_RESULT_LOCATION_ALLOW;
- limestone_mine_tile_3_lc_2;
- }
- switch (FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_3_lc_0,
- (
- nearby_tile_height(-relative_x, -relative_y)
- + (nearby_tile_slope(-relative_x, -relative_y)
- == SLOPE_FLAT ? 0 :
- nearby_tile_slope(-relative_x, -relative_y) == bitmask(IS_STEEP_SLOPE) ? 2 : 1
- )) == (nearby_tile_height(0, 0)
- + (nearby_tile_slope(0, 0)
- == SLOPE_FLAT ? 0 :
- nearby_tile_slope(0, 0) == bitmask(IS_STEEP_SLOPE) ? 2 : 1))
- ) {
- 1: limestone_mine_tile_3_lc_1;
- return CB_RESULT_LOCATION_DISALLOW;
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_1_anim_control, 0) {
- return 0;
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_2_anim_control, (extra_callback_info1 % 71)) {
- 0: return 0;
- 1: return 1;
- 2: return 2;
- 3: return 3;
- 4: return 4;
- 5: return 5;
- 6: return 6;
- 7: return 7;
- 8: return 8;
- 9: return 9;
- 10: return 10;
- 11: return 11;
- 12: return 12;
- 13: return 13;
- 14: return 14;
- 15: return 15;
- 16: return 16;
- 17: return 17;
- 18: return 18;
- 19: return 19;
- 20: return 20;
- 21: return 21;
- 22: return 22;
- 23: return 23;
- 24: return 24;
- 25: return 25;
- 26: return 26;
- 27: return 27;
- 28: return 28;
- 29: return 29;
- 30: return 30;
- 31: return 31;
- 32: return 32;
- 33: return 33;
- 34: return 34;
- 35: return 35;
- 36: return 36;
- 37: return 37;
- 38: return 38;
- 39: return 39;
- 40: return 40;
- 41: return 41;
- 42: return 42;
- 43: return 43;
- 44: return 44;
- 45: return 45;
- 46: return 46;
- 47: return 47;
- 48: return 48;
- 49: return 49;
- 50: return 50;
- 51: return 51;
- 52: return 52;
- 53: return 53;
- 54: return 54;
- 55: return 55;
- 56: return 56;
- 57: return 57;
- 58: return 58;
- 59: return 59;
- 60: return 60;
- 61: return 61;
- 62: return 62;
- 63: return 63;
- 64: return 64;
- 65: return 65;
- 66: return 66;
- 67: return 67;
- 68: return 68;
- 69: return 69;
- 70: return 70;
- return CB_RESULT_NEXT_FRAME;
- }
- switch(FEAT_INDUSTRYTILES, SELF, limestone_mine_tile_3_anim_control, 0) {
- return 0;
- }
- item(FEAT_INDUSTRYTILES, limestone_mine_tile_1, 134) {
- property {
- substitute: 0;
- land_shape_flags: 0;
- animation_info: [ANIMATION_LOOPING, 81];
- animation_speed: 1;
- animation_triggers: bitmask(ANIM_TRIGGER_INDTILE_TILE_LOOP);
- }
- graphics {
- tile_check: limestone_mine_tile_1_lc_0;
- anim_next_frame: return ((animation_frame == 80) ? CB_RESULT_STOP_ANIMATION : CB_RESULT_NEXT_FRAME);
- anim_control: limestone_mine_tile_1_anim_control;
- limestone_mine_tile_fences;
- }
- }
- if (economy==0) {
- }
- if (economy==1) {
- }
- if (economy==4) {
- }
- if (economy==5) {
- item(FEAT_INDUSTRYTILES, limestone_mine_tile_1, 134) {
- property {
- accepted_cargos: [[cargotype("ENSP"), 8]];
- }
- }
- }
- if (economy==3) {
- }
- if (economy==2) {
- item(FEAT_INDUSTRYTILES, limestone_mine_tile_1, 134) {
- property {
- accepted_cargos: [[cargotype("ENSP"), 8]];
- }
- }
- }
- item(FEAT_INDUSTRYTILES, limestone_mine_tile_2, 135) {
- property {
- substitute: 0;
- land_shape_flags: 0;
- animation_info: [ANIMATION_LOOPING, 71];
- animation_speed: 2;
- animation_triggers: bitmask(ANIM_TRIGGER_INDTILE_CONSTRUCTION_STATE);
- }
- graphics {
- tile_check: limestone_mine_tile_2_lc_0;
- anim_control: limestone_mine_tile_2_anim_control;
- limestone_mine_tile_fences;
- }
- }
- if (economy==0) {
- }
- if (economy==1) {
- }
- if (economy==4) {
- }
- if (economy==5) {
- item(FEAT_INDUSTRYTILES, limestone_mine_tile_2, 135) {
- property {
- accepted_cargos: [[cargotype("ENSP"), 8]];
- }
- }
- }
- if (economy==3) {
- }
- if (economy==2) {
- item(FEAT_INDUSTRYTILES, limestone_mine_tile_2, 135) {
- property {
- accepted_cargos: [[cargotype("ENSP"), 8]];
- }
- }
- }
- item(FEAT_INDUSTRYTILES, limestone_mine_tile_3, 136) {
- property {
- substitute: 0;
- land_shape_flags: 0;
- animation_info: [ANIMATION_LOOPING, 200];
- animation_speed: 3;
- animation_triggers: bitmask(ANIM_TRIGGER_INDTILE_TILE_LOOP);
- }
- graphics {
- tile_check: limestone_mine_tile_3_lc_0;
- anim_next_frame: return ((animation_frame == 18) ? CB_RESULT_STOP_ANIMATION : CB_RESULT_NEXT_FRAME);
- anim_control: limestone_mine_tile_3_anim_control;
- limestone_mine_tile_fences;
- }
- }
- if (economy==0) {
- }
- if (economy==1) {
- }
- if (economy==4) {
- }
- if (economy==5) {
- item(FEAT_INDUSTRYTILES, limestone_mine_tile_3, 136) {
- property {
- accepted_cargos: [[cargotype("ENSP"), 8]];
- }
- }
- }
- if (economy==3) {
- }
- if (economy==2) {
- item(FEAT_INDUSTRYTILES, limestone_mine_tile_3, 136) {
- property {
- accepted_cargos: [[cargotype("ENSP"), 8]];
- }
- }
- }
- /* *************************************************
- * Definition of the industry
- * *************************************************/
- tilelayout limestone_mine_industry_layout_1_tilelayout {
- 0, 1: limestone_mine_tile_1;
- 0, 2: limestone_mine_tile_2;
- 1, 0: limestone_mine_tile_2;
- 1, 1: limestone_mine_tile_2;
- 1, 2: limestone_mine_tile_2;
- 2, 0: limestone_mine_tile_2;
- 2, 1: limestone_mine_tile_3;
- 2, 2: limestone_mine_tile_2;
- 3, 0: limestone_mine_tile_2;
- 3, 1: limestone_mine_tile_2;
- 3, 2: limestone_mine_tile_2;
- }
- tilelayout limestone_mine_industry_layout_2_tilelayout {
- 0, 0: limestone_mine_tile_2;
- 0, 1: limestone_mine_tile_1;
- 0, 2: limestone_mine_tile_2;
- 0, 3: limestone_mine_tile_1;
- 0, 4: limestone_mine_tile_2;
- 1, 0: limestone_mine_tile_2;
- 1, 1: limestone_mine_tile_2;
- 1, 2: limestone_mine_tile_2;
- 1, 3: limestone_mine_tile_2;
- 1, 4: limestone_mine_tile_2;
- 2, 0: limestone_mine_tile_2;
- 2, 1: limestone_mine_tile_3;
- 2, 2: limestone_mine_tile_2;
- 2, 3: limestone_mine_tile_3;
- 2, 4: limestone_mine_tile_2;
- }
- tilelayout limestone_mine_industry_layout_3_tilelayout {
- 0, 0: limestone_mine_tile_1;
- 0, 1: limestone_mine_tile_2;
- 1, 0: limestone_mine_tile_2;
- 1, 1: limestone_mine_tile_2;
- 1, 2: limestone_mine_tile_2;
- 2, 0: limestone_mine_tile_3;
- 2, 1: limestone_mine_tile_1;
- 2, 2: limestone_mine_tile_2;
- 3, 2: limestone_mine_tile_2;
- 3, 1: limestone_mine_tile_2;
- 3, 0: limestone_mine_tile_2;
- 4, 0: limestone_mine_tile_2;
- 4, 1: limestone_mine_tile_3;
- 4, 2: limestone_mine_tile_2;
- 5, 0: limestone_mine_tile_2;
- 5, 1: limestone_mine_tile_2;
- }
- tilelayout limestone_mine_industry_layout_4_tilelayout {
- 0, 0: limestone_mine_tile_1;
- 0, 1: limestone_mine_tile_2;
- 0, 2: limestone_mine_tile_1;
- 0, 3: limestone_mine_tile_2;
- 0, 4: limestone_mine_tile_2;
- 1, 0: limestone_mine_tile_2;
- 1, 1: limestone_mine_tile_2;
- 1, 2: limestone_mine_tile_2;
- 1, 3: limestone_mine_tile_2;
- 1, 4: limestone_mine_tile_2;
- 2, 0: limestone_mine_tile_3;
- 2, 1: limestone_mine_tile_2;
- 2, 2: limestone_mine_tile_3;
- 2, 3: limestone_mine_tile_2;
- 2, 4: limestone_mine_tile_2;
- }
- switch(FEAT_INDUSTRIES, SELF, limestone_mine_extra_text, [
- STORE_TEMP((primary_level1_requirement * 1) |
- (primary_level2_requirement * 1) << 16, 0x100),
- LOAD_PERM(3)
- ]) {
- primary_level2_bonus: return string(STR_PRIMARY_PRODUCTION_4X);
- primary_level1_bonus: return string(STR_PRIMARY_PRODUCTION_2X);
- return string(STR_PRIMARY_PRODUCTION_1X);
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_cargo_subtype_display, 1) {
- return 0x3800 + string(STR_EMPTY);
- }
- /* Primary production which is boosted by supplies */
- produce(limestone_mine_production, 9999, 9999, 9999, 0, 0, 0);
- switch(FEAT_INDUSTRIES, SELF, limestone_mine_produce, STORE_PERM(waiting_cargo_1 + waiting_cargo_2 + waiting_cargo_3 + LOAD_PERM(0), 0)) {
- limestone_mine_production;
- }
- produce(limestone_mine_production_256, 0, 0, 0, LOAD_TEMP(9) * production_rate_1 / 100, LOAD_TEMP(9) * production_rate_2 / 100, 0);
- switch(FEAT_INDUSTRIES, SELF, limestone_mine_produce_256_ticks,
- [STORE_TEMP(
- LOAD_PERM(0) +
- LOAD_PERM(1) +
- LOAD_PERM(2),
- 8),
- STORE_TEMP((LOAD_TEMP(8) >= (1 * primary_level2_requirement)) ? primary_level2_bonus :
- (LOAD_TEMP(8) >= (1 * primary_level1_requirement)) ? primary_level1_bonus : 0, 9),
- STORE_PERM(LOAD_TEMP(9), 3)
- ]) {
- limestone_mine_production_256;
- }
- /* =================================== */
- /* Production change evaluated monthly */
- /* =================================== */
- switch(FEAT_INDUSTRIES, SELF, limestone_mine_monthly_update, [
- STORE_PERM(LOAD_PERM(1), 2),
- STORE_PERM(LOAD_PERM(0), 1),
- STORE_PERM(0, 0)
- ]) {
- return CB_RESULT_IND_PROD_NO_CHANGE;
- }
- switch(FEAT_INDUSTRIES, SELF, limestone_mine_check_availability_param, restrict_open_during_gameplay) {
- 1..255: return CB_RESULT_IND_NO_CONSTRUCTION; // disallow when restrictions in place
- return CB_RESULT_IND_PROBABILITY_FROM_PROPERTY; // we may build
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_check_map_gen, extra_callback_info2 == IND_CREATION_GENERATION) {
- 1: return CB_RESULT_IND_PROBABILITY_FROM_PROPERTY;
- limestone_mine_check_availability_param;
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_available_game_mode, game_mode == GAMEMODE_GAME) {
- 1: limestone_mine_check_map_gen;
- return CB_RESULT_IND_PROBABILITY_FROM_PROPERTY;
- }
- /* 0 */
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_check_availability_0, current_date) {
- date(0,1,1) .. date(5000000,12,31): limestone_mine_available_game_mode;
- return CB_RESULT_IND_NO_CONSTRUCTION;
- }
- /* 0 */
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_check_availability_1, current_date) {
- date(0,1,1) .. date(5000000,12,31): limestone_mine_available_game_mode;
- return CB_RESULT_IND_NO_CONSTRUCTION;
- }
- /* 0 */
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_check_availability_4, current_date) {
- date(0,1,1) .. date(5000000,12,31): limestone_mine_available_game_mode;
- return CB_RESULT_IND_NO_CONSTRUCTION;
- }
- /* 0 */
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_check_availability_5, current_date) {
- date(0,1,1) .. date(5000000,12,31): limestone_mine_available_game_mode;
- return CB_RESULT_IND_NO_CONSTRUCTION;
- }
- /* 0 */
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_check_availability_3, current_date) {
- date(0,1,1) .. date(5000000,12,31): limestone_mine_available_game_mode;
- return CB_RESULT_IND_NO_CONSTRUCTION;
- }
- /* 0 */
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_check_availability_2, current_date) {
- date(0,1,1) .. date(5000000,12,31): limestone_mine_available_game_mode;
- return CB_RESULT_IND_NO_CONSTRUCTION;
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_check_availability, economy) {
- 0: limestone_mine_check_availability_0;
- 1: limestone_mine_check_availability_1;
- 4: limestone_mine_check_availability_4;
- 5: limestone_mine_check_availability_5;
- 3: limestone_mine_check_availability_3;
- 2: limestone_mine_check_availability_2;
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_min_distance_1, industry_distance(1)) {
- 0 .. 16: return CB_RESULT_LOCATION_DISALLOW;
- return CB_RESULT_LOCATION_ALLOW;
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_min_distance_7, industry_distance(7)) {
- 0 .. 16: return CB_RESULT_LOCATION_DISALLOW;
- limestone_mine_min_distance_1;
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_min_distance_43, industry_distance(43)) {
- 0 .. 16: return CB_RESULT_LOCATION_DISALLOW;
- limestone_mine_min_distance_7;
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_min_distance_3, industry_distance(3)) {
- 0 .. 16: return CB_RESULT_LOCATION_DISALLOW;
- limestone_mine_min_distance_43;
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_min_distance_54, industry_distance(54)) {
- 0 .. 20: return CB_RESULT_LOCATION_DISALLOW;
- limestone_mine_min_distance_3;
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_cluster_limestone_mine,
- industry_count(limestone_mine) >= (3 * industry_clusters) &&
- industry_distance(limestone_mine) > 70
- ) {
- 1: return CB_RESULT_LOCATION_DISALLOW;
- limestone_mine_min_distance_54;
- }
- switch (FEAT_INDUSTRIES, SELF, limestone_mine_check_location, (
- (extra_callback_info2 == IND_CREATION_FUND) ||
- (extra_callback_info2 == IND_CREATION_PROSPECT)
- )
- ) {
- 1: return CB_RESULT_LOCATION_ALLOW;
- limestone_mine_cluster_limestone_mine;
- }
- if (economy==5) {
- item(FEAT_INDUSTRIES, limestone_mine, 54) {
- property {
- substitute: 0;
- override: 0;
- map_colour: 207;
- life_type: IND_LIFE_TYPE_EXTRACTIVE;
- min_cargo_distr: 5;
- spec_flags: 0;
- layouts: [limestone_mine_industry_layout_1_tilelayout,limestone_mine_industry_layout_2_tilelayout,limestone_mine_industry_layout_3_tilelayout,limestone_mine_industry_layout_4_tilelayout];
- conflicting_ind_types: []; // set this prop empty, FIRS has it's own better checks for this
- random_sound_effects: []; // set this empty to avoid spurious default industry sounds (as of May 2017 FIRS does not yet use sound effects)
- name: string(STR_IND_LIMESTONE_MINE);
- prod_multiplier: [20, 0];
- input_multiplier_1: [0, 0];
- input_multiplier_2: [0, 0];
- input_multiplier_3: [0, 0];
- prob_random: 7;
- prob_in_game: 4;
- prospect_chance: 0.75;
- fund_cost_multiplier: 232;
- remove_cost_multiplier: 0;
- remove_cost_multiplier: 0;
- accept_cargo_types: [cargotype("ENSP")];
- prod_cargo_types: [cargotype("LIME")];
- nearby_station_name: string(STR_STATION, string(STR_TOWN),string(STR_STATION_LIMESTONE_MINES));
- }
- }
- }
- if (economy==2) {
- item(FEAT_INDUSTRIES, limestone_mine, 54) {
- property {
- substitute: 0;
- override: 0;
- map_colour: 207;
- life_type: IND_LIFE_TYPE_EXTRACTIVE;
- min_cargo_distr: 5;
- spec_flags: 0;
- layouts: [limestone_mine_industry_layout_1_tilelayout,limestone_mine_industry_layout_2_tilelayout,limestone_mine_industry_layout_3_tilelayout,limestone_mine_industry_layout_4_tilelayout];
- conflicting_ind_types: []; // set this prop empty, FIRS has it's own better checks for this
- random_sound_effects: []; // set this empty to avoid spurious default industry sounds (as of May 2017 FIRS does not yet use sound effects)
- name: string(STR_IND_LIMESTONE_MINE);
- prod_multiplier: [20, 0];
- input_multiplier_1: [0, 0];
- input_multiplier_2: [0, 0];
- input_multiplier_3: [0, 0];
- prob_random: 7;
- prob_in_game: 4;
- prospect_chance: 0.75;
- fund_cost_multiplier: 232;
- remove_cost_multiplier: 0;
- remove_cost_multiplier: 0;
- accept_cargo_types: [cargotype("ENSP")];
- prod_cargo_types: [cargotype("LIME")];
- nearby_station_name: string(STR_STATION, string(STR_TOWN),string(STR_STATION_LIMESTONE_MINES));
- }
- }
- }
- if (economy==5) {
- item(FEAT_INDUSTRIES, limestone_mine, 54) {
- graphics {
- construction_probability: limestone_mine_check_availability;
- build_prod_change: randomise_primary_production_on_build;
- produce_cargo_arrival: limestone_mine_produce;
- produce_256_ticks: limestone_mine_produce_256_ticks;
- monthly_prod_change: limestone_mine_monthly_update;
- random_prod_change: return CB_RESULT_IND_PROD_NO_CHANGE;
- location_check: limestone_mine_check_location;
- extra_text_fund: return CB_RESULT_NO_TEXT;
- extra_text_industry: limestone_mine_extra_text;
- cargo_subtype_display: limestone_mine_cargo_subtype_display;
- colour: switch_colour;
- }
- }
- }
- if (economy==2) {
- item(FEAT_INDUSTRIES, limestone_mine, 54) {
- graphics {
- construction_probability: limestone_mine_check_availability;
- build_prod_change: randomise_primary_production_on_build;
- produce_cargo_arrival: limestone_mine_produce;
- produce_256_ticks: limestone_mine_produce_256_ticks;
- monthly_prod_change: limestone_mine_monthly_update;
- random_prod_change: return CB_RESULT_IND_PROD_NO_CHANGE;
- location_check: limestone_mine_check_location;
- extra_text_fund: return CB_RESULT_NO_TEXT;
- extra_text_industry: limestone_mine_extra_text;
- cargo_subtype_display: limestone_mine_cargo_subtype_display;
- colour: switch_colour;
- }
- }
- }