Page 1 of 1

[Twinsen][0.18.x] Heat pipe covers don't seem to work consistent across different entity types.

Posted: Tue May 26, 2020 12:39 pm
by bobingabout
See screenshot: https://www.dropbox.com/s/40mhu55ep2iqi ... 5.png?dl=0
We have a row of modded heat powered boilers (Heat Exchangers) clearly showing pipe_covers (the normal heatpipe parts) and heat_pipe_covers (the glow effect)
Bellow those a row of modded heat powered furnaces. Clearly showing no pipe covers at all.
Note, the odd looking furnace on the right is actually an assembling machine prototype, so it effects both furnace and assembling-machine

in all cases, they have an energy source similar to this one:

Code: Select all

local furnace_energy_source_1 = 
{
  type = "heat",
  max_temperature = 1000,
  specific_heat = "1MJ",
  max_transfer = "2GW",
  min_working_temperature = 500,
  minimum_glow_temperature = 350,
  connections =
  {
    { position = {-1, -1}, direction = defines.direction.west },
    { position = {1, -1}, direction = defines.direction.east }
  },
  pipe_covers = make_4way_animation_from_spritesheet(
  {
    filename = "__bobtest__/graphics/entity/heat-pipe/heatex-endings.png",
    width = 32,
    height = 32,
    direction_count = 4,
    hr_version =
    {
      filename = "__bobtest__/graphics/entity/heat-pipe/hr-heatex-endings.png",
      width = 64,
      height = 64,
      direction_count = 4,
      scale = 0.5
    }
  }),
  heat_pipe_covers = make_4way_animation_from_spritesheet(
  {
    filename = "__bobtest__/graphics/entity/heat-pipe/heatex-endings-heated.png",
    width = 32,
    height = 32,
    direction_count = 4,
    hr_version =
    {
      filename = "__bobtest__/graphics/entity/heat-pipe/hr-heatex-endings-heated.png",
      width = 64,
      height = 64,
      direction_count = 4,
      scale = 0.5
    }
  })
}
The graphics in this case are a copy of the base game graphics, but others are recoloured versions of them.

The only difference between each energy source is... well... a lot actually, but the only significant change is connection locations to match the entity. (other changes include max_temperature, max_transfer, min_working_temp, and the filename of the specific graphic for recoloured versions)

I see no reason why one heat source would have covers, and another not.

and just to be sure, here's the heat source definition for that boiler in the screenshot:

Code: Select all

data.raw.boiler["big-heat-exchanger-5x5"].energy_source =
    {
      type = "heat",
      max_temperature = 1500,
      specific_heat = "5MJ",
      max_transfer = "25GW",
      min_working_temperature = 765,
      minimum_glow_temperature = 350,
      connections =
      {
        {
          position = {-2, -2},
          direction = defines.direction.north
        },
        {
          position = {-2, -2},
          direction = defines.direction.west
        },
        {
          position = {0, -2},
          direction = defines.direction.north
        },
        {
          position = {2, -2},
          direction = defines.direction.north
        },
        {
          position = {2, -2},
          direction = defines.direction.east
        },
        {
          position = {-2, 0},
          direction = defines.direction.west
        },
        {
          position = {2, 0},
          direction = defines.direction.east
        },
        {
          position = {-2, 2},
          direction = defines.direction.south
        },
        {
          position = {-2, 2},
          direction = defines.direction.west
        },
        {
          position = {0, 2},
          direction = defines.direction.south
        },
        {
          position = {2, 2},
          direction = defines.direction.south
        },
        {
          position = {2, 2},
          direction = defines.direction.east
        },
      },
      pipe_covers =
        make_4way_animation_from_spritesheet(
        {
          filename = "__bobtest__/graphics/entity/heat-pipe/heatex-endings-3.png",
          width = 32,
          height = 32,
          direction_count = 4,
          hr_version =
          {
            filename = "__bobtest__/graphics/entity/heat-pipe/hr-heatex-endings-3.png",
            width = 64,
            height = 64,
            direction_count = 4,
            scale = 0.5
          }
        }),
      heat_pipe_covers =
        make_4way_animation_from_spritesheet(
        {
          filename = "__bobtest__/graphics/entity/heat-pipe/heatex-endings-heated.png",
          width = 32,
          height = 32,
          direction_count = 4,
          hr_version =
          {
            filename = "__bobtest__/graphics/entity/heat-pipe/hr-heatex-endings-heated.png",
            width = 64,
            height = 64,
            direction_count = 4,
            scale = 0.5
          }
        })
    }
Yes, I am aware that since the base game is only really concerned with the heat exchanger (Boiler prototype for heat powered entities), this basically falls under a modding related issue.

Re: [0.18.x] Heat pipe covers don't seem to work consistent across different entity types.

Posted: Sun Oct 11, 2020 12:53 pm
by Klonan
Can you provide a simple mod with the definitions so we can test it more easily?

Re: [0.18.x] Heat pipe covers don't seem to work consistent across different entity types.

Posted: Tue Oct 27, 2020 3:37 pm
by bobingabout
Klonan wrote:
Sun Oct 11, 2020 12:53 pm
Can you provide a simple mod with the definitions so we can test it more easily?
Sorry for not responding sooner, I've not really been paying much attention to Factorio since the 1.0 release.
I quickly whipped up this mod, using pieces of a much larger testing mod.

To keep it simple, it uses as much stuff from the base mod as possible, so it's just a clone of the furnace, with the heat exchangers energy source, connection positions changed to match those of the new entity.

The biggest part of the mod is actually to draw the heatpipes under the furnace, to help indicate where graphics that aren't working are supposed to appear.

Re: [Twinsen][0.18.x] Heat pipe covers don't seem to work consistent across different entity types.

Posted: Tue Nov 03, 2020 12:18 pm
by Twinsen
Should be fixed in Version: 1.1.0. Heat pipe covers, heat picture and heat glow should now draw for all heat energy sources, not just boiler.

Thanks for the report.