Skip to content

[BUG] Incorrect Y offsets for some figure sprites #1966

Description

@Lknadfodr

Some settler sprites have incorrect y offsets between the body and the overlay images. This can be noticed most easily when the offset is too big, because then the head "floats" in the air. Here are some screenshots

Fat carrier, walking south west.
Image

Thin carrier with a roman shield, walking north east.
Image

Hunter walking west.
Image

It is usually just one of the eight animation steps.

To verify, I exported spritesheets for each job and each good and also saw this. (Using pink as background to see it easily)

Notice the south west and north west rows, fifth column.
Image

I found that when parsing the BOB files, two bytes are considered unknown data.

uint16_t unknown;

I printed the unknown values and they were either 0, 0x0001 or 0xFFFF. As signed int16_t this would be 0, +1 and -1. Then I changed the exported spritesheets in a way that all +1 sprites would be drawn in a green rect, and all -1 sprites are drawn in a blue rect. Et voilà:

Image Image Image

For the green ones it's rather obvious, the blue ones often look like they are kind of bent forward. So the unknown data seems to be some kind of ny-correction. Here are all spritesheets to verify:

export.zip

  1. Which version is affected?
    v0.9.5 - 397f2b2 and 20260730 - f519458
  2. What did you do/shall be done to reproduce the bug?
    Observe a fat carrier walking souh west or north west without good. Press pause until the incorrect animation step is drawn.
  3. What is expected?
    No floating heads or squashed necks.
  4. What happens instead?
    See above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions