Page 1 of 1

y-shift by belt.animation cannot be defined

Posted: Sun Nov 11, 2018 5:15 pm
by darkfrei
It's a little bit too complicate to explain this bug. Please try to understand me. :shock:

Normally you can add all graphics into the one file name and just say where is the first pixel of this graphics. It works great for entities, but not for belts.

As you can see, that data.raw["transport-belt"]["transport-belt"].animations has no starting points for rotated belts. You can download my mod darkfrei's new belt graphics where I found it.
Here is the file .\graphics\animations.png where is very big "y" shift, but it was hardcoded into game core. So I can't have same file without this spacing.

One of belts is also not rotated, but mirrored on the game side :o .
animations.png
animations.png (196.07 KiB) Viewed 471 times

Re: y-shift by belt.animation cannot be defined

Posted: Sun Nov 11, 2018 5:33 pm
by posila
Hello, in 0.17 preferred belt animation defintion will be something like following

Code: Select all

basic_belt_animation_set = 
{
  animation_set =
  {
    filename = "__base__/graphics/entity/transport-belt/transport-belt.png",
    priority = "extra-high",
    width = 64,
    height = 64,
    frame_count = 16,
    direction_count = 18,
    hr_version =
    {
      filename = "__base__/graphics/entity/transport-belt/hr-transport-belt.png",
      priority = "extra-high",
      width = 128,
      height = 128,
      scale = 0.5,
      frame_count = 16,
      direction_count = 18
    }
  },
  
  horizontal_index = 1,
  vertical_index = 2,
  
  east_to_north_index = 3,
  north_to_east_index = 4,
  
  west_to_north_index = 5,
  north_to_west_index = 6,
  
  south_to_east_index = 7,
  east_to_south_index = 8,
  
  south_to_west_index = 9,
  west_to_south_index = 10,
 
  starting_south_index = 11,
  ending_south_index = 12,
  
  starting_west_index = 13,
  ending_west_index = 14,
  
  starting_north_index = 15,
  ending_north_index = 16,
  
  starting_east_index = 17,
  ending_east_index = 18,
  
  ending_patch = ending_patch_prototype
}
The current definition will be also loadable as is for better compatibility with existing mods.

As you can see, it is expected entire belt animation set to be in single spritesheet. That is true also for 0.16 to some extent, but for some reason, it still allows animations for different directions to be loaded from different files, but then you have to pad other spritesheets to match expected format.