|
@@ -554,19 +554,8 @@ static bool TransportIndustryGoods(TileI
|
|
|
return moved_cargo;
|
|
|
}
|
|
|
|
|
|
|
|
|
static void AnimateTile_Industry(TileIndex tile)
|
|
|
static void AnimateSugarSieve(TileIndex tile)
|
|
|
{
|
|
|
IndustryGfx gfx = GetIndustryGfx(tile);
|
|
|
|
|
|
if (GetIndustryTileSpec(gfx)->animation.status != ANIM_STATUS_NO_ANIMATION) {
|
|
|
AnimateNewIndustryTile(tile);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
switch (gfx) {
|
|
|
case GFX_SUGAR_MINE_SIEVE:
|
|
|
if ((_tick_counter & 1) == 0) {
|
|
|
byte m = GetAnimationFrame(tile) + 1;
|
|
|
|
|
|
if (_settings_client.sound.ambient) {
|
|
@@ -584,10 +573,9 @@ static void AnimateTile_Industry(TileInd
|
|
|
|
|
|
MarkTileDirtyByTile(tile);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
case GFX_TOFFEE_QUARY:
|
|
|
if ((_tick_counter & 3) == 0) {
|
|
|
|
|
|
static void AnimateToffeeQuarry(TileIndex tile)
|
|
|
{
|
|
|
byte m = GetAnimationFrame(tile);
|
|
|
|
|
|
if (_industry_anim_offs_toffee[m] == 0xFF && _settings_client.sound.ambient) {
|
|
@@ -602,10 +590,9 @@ static void AnimateTile_Industry(TileInd
|
|
|
|
|
|
MarkTileDirtyByTile(tile);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
case GFX_BUBBLE_CATCHER:
|
|
|
if ((_tick_counter & 1) == 0) {
|
|
|
|
|
|
static void AnimateBubbleCatcher(TileIndex tile)
|
|
|
{
|
|
|
byte m = GetAnimationFrame(tile);
|
|
|
|
|
|
if (++m >= 40) {
|
|
@@ -616,11 +603,9 @@ static void AnimateTile_Industry(TileInd
|
|
|
|
|
|
MarkTileDirtyByTile(tile);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
/* Sparks on a coal plant */
|
|
|
case GFX_POWERPLANT_SPARKS:
|
|
|
if ((_tick_counter & 3) == 0) {
|
|
|
|
|
|
static void AnimatePowerPlantSparks(TileIndex tile)
|
|
|
{
|
|
|
byte m = GetAnimationFrame(tile);
|
|
|
if (m == 6) {
|
|
|
SetAnimationFrame(tile, 0);
|
|
@@ -630,10 +615,9 @@ static void AnimateTile_Industry(TileInd
|
|
|
MarkTileDirtyByTile(tile);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
case GFX_TOY_FACTORY:
|
|
|
if ((_tick_counter & 1) == 0) {
|
|
|
|
|
|
static void AnimateToyFactory(TileIndex tile)
|
|
|
{
|
|
|
byte m = GetAnimationFrame(tile) + 1;
|
|
|
|
|
|
switch (m) {
|
|
@@ -655,23 +639,16 @@ static void AnimateTile_Industry(TileInd
|
|
|
SetAnimationFrame(tile, m);
|
|
|
MarkTileDirtyByTile(tile);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
case GFX_PLASTIC_FOUNTAIN_ANIMATED_1: case GFX_PLASTIC_FOUNTAIN_ANIMATED_2:
|
|
|
case GFX_PLASTIC_FOUNTAIN_ANIMATED_3: case GFX_PLASTIC_FOUNTAIN_ANIMATED_4:
|
|
|
case GFX_PLASTIC_FOUNTAIN_ANIMATED_5: case GFX_PLASTIC_FOUNTAIN_ANIMATED_6:
|
|
|
case GFX_PLASTIC_FOUNTAIN_ANIMATED_7: case GFX_PLASTIC_FOUNTAIN_ANIMATED_8:
|
|
|
if ((_tick_counter & 3) == 0) {
|
|
|
gfx = (gfx < 155) ? gfx + 1 : 148;
|
|
|
|
|
|
static void AnimatePlasticFountain(TileIndex tile, IndustryGfx gfx)
|
|
|
{
|
|
|
gfx = (gfx < GFX_PLASTIC_FOUNTAIN_ANIMATED_8) ? gfx + 1 : GFX_PLASTIC_FOUNTAIN_ANIMATED_1;
|
|
|
SetIndustryGfx(tile, gfx);
|
|
|
MarkTileDirtyByTile(tile);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
case GFX_OILWELL_ANIMATED_1:
|
|
|
case GFX_OILWELL_ANIMATED_2:
|
|
|
case GFX_OILWELL_ANIMATED_3:
|
|
|
if ((_tick_counter & 7) == 0) {
|
|
|
|
|
|
static void AnimateOilWell(TileIndex tile, IndustryGfx gfx)
|
|
|
{
|
|
|
bool b = Chance16(1, 7);
|
|
|
byte m = GetAnimationFrame(tile) + 1;
|
|
|
if (m == 4 && (m = 0, ++gfx) == GFX_OILWELL_ANIMATED_3 + 1 && (gfx = GFX_OILWELL_ANIMATED_1, b)) {
|
|
@@ -684,11 +661,9 @@ static void AnimateTile_Industry(TileInd
|
|
|
MarkTileDirtyByTile(tile);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
case GFX_COAL_MINE_TOWER_ANIMATED:
|
|
|
case GFX_COPPER_MINE_TOWER_ANIMATED:
|
|
|
case GFX_GOLD_MINE_TOWER_ANIMATED: {
|
|
|
|
|
|
static void AnimateMineTower(TileIndex tile)
|
|
|
{
|
|
|
int state = _tick_counter & 0x7FF;
|
|
|
|
|
|
if ((state -= 0x400) < 0) return;
|
|
@@ -717,8 +692,56 @@ static void AnimateTile_Industry(TileInd
|
|
|
SetAnimationFrame(tile, m);
|
|
|
MarkTileDirtyByTile(tile);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
static void AnimateTile_Industry(TileIndex tile)
|
|
|
{
|
|
|
IndustryGfx gfx = GetIndustryGfx(tile);
|
|
|
|
|
|
if (GetIndustryTileSpec(gfx)->animation.status != ANIM_STATUS_NO_ANIMATION) {
|
|
|
AnimateNewIndustryTile(tile);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
switch (gfx) {
|
|
|
case GFX_SUGAR_MINE_SIEVE:
|
|
|
if ((_tick_counter & 1) == 0) AnimateSugarSieve(tile);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case GFX_TOFFEE_QUARY:
|
|
|
if ((_tick_counter & 3) == 0) AnimateToffeeQuarry(tile);
|
|
|
break;
|
|
|
|
|
|
case GFX_BUBBLE_CATCHER:
|
|
|
if ((_tick_counter & 1) == 0) AnimateBubbleCatcher(tile);
|
|
|
break;
|
|
|
|
|
|
case GFX_POWERPLANT_SPARKS:
|
|
|
if ((_tick_counter & 3) == 0) AnimatePowerPlantSparks(tile);
|
|
|
break;
|
|
|
|
|
|
case GFX_TOY_FACTORY:
|
|
|
if ((_tick_counter & 1) == 0) AnimateToyFactory(tile);
|
|
|
break;
|
|
|
|
|
|
case GFX_PLASTIC_FOUNTAIN_ANIMATED_1: case GFX_PLASTIC_FOUNTAIN_ANIMATED_2:
|
|
|
case GFX_PLASTIC_FOUNTAIN_ANIMATED_3: case GFX_PLASTIC_FOUNTAIN_ANIMATED_4:
|
|
|
case GFX_PLASTIC_FOUNTAIN_ANIMATED_5: case GFX_PLASTIC_FOUNTAIN_ANIMATED_6:
|
|
|
case GFX_PLASTIC_FOUNTAIN_ANIMATED_7: case GFX_PLASTIC_FOUNTAIN_ANIMATED_8:
|
|
|
if ((_tick_counter & 3) == 0) AnimatePlasticFountain(tile, gfx);
|
|
|
break;
|
|
|
|
|
|
case GFX_OILWELL_ANIMATED_1:
|
|
|
case GFX_OILWELL_ANIMATED_2:
|
|
|
case GFX_OILWELL_ANIMATED_3:
|
|
|
if ((_tick_counter & 7) == 0) AnimateOilWell(tile, gfx);
|
|
|
break;
|
|
|
|
|
|
case GFX_COAL_MINE_TOWER_ANIMATED:
|
|
|
case GFX_COPPER_MINE_TOWER_ANIMATED:
|
|
|
case GFX_GOLD_MINE_TOWER_ANIMATED:
|
|
|
AnimateMineTower(tile);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|