Skip to content

Fix DDS sheet code causing image offset issues - #2523

Merged
LocalIdentity merged 4 commits into
PathOfBuildingCommunity:devfrom
vaisest:fix-dds-sheets
Sep 29, 2026
Merged

LocalIdentity merged 4 commits into
PathOfBuildingCommunity:devfrom
vaisest:fix-dds-sheets

Conversation

@vaisest

@vaisest vaisest commented Sep 12, 2026 •

Copy link
Copy Markdown
Contributor

Description of the problem being solved:

This PR fixes various padding issues in the program's graphics. These come from us assuming that the DDS sheets are filled edge to edge with no padding, which isn't true. This is fixed by taking the UI image size (if it exists), calculating UV coords using the size, and passing it to DrawImage to ignore the padding.

These are also added to the export files, which is why the loc is so high.

Steps taken to verify a working solution:

  • Old and current trees tested
  • No animations setting tested
  • Radius jewel tested
  • Nodes compared with in-game (they're 1 pixel off at most)

Before screenshot:

image

After screenshot:

image

In-game for reference:

image

vaisest and others added 4 commits September 12, 2026 12:06
Removes the background texture as it was causing a crash on old trees and also doesn't really need to exist as it looks nicer as a smooth colour
@LocalIdentity LocalIdentity added the technical Hidden from release notes label Sep 29, 2026
@LocalIdentity
LocalIdentity merged commit d1dc915 into PathOfBuildingCommunity:dev Sep 29, 2026
5 checks passed
juddisjudd added a commit to pobredux/pob-redux that referenced this pull request Sep 30, 2026
Upstream PoB (PathOfBuildingCommunity/PathOfBuilding-PoE2#2523) changed `ddsCoords` in `tree.json`. An entry can now be `[x, y, w, h, layer]` as well as a layer number, because most frame, background and socket art does not fill its DDS layer. pob-sync only read numbers, so it would drop all 272 of these entries: node frames, jewel sockets, group backgrounds, mastery effects and the class hub ring.

pob-sync now reads both forms. Atlas rects point at the art inside its layer, and large layers are cropped before they are downscaled. The tree draws each sprite into PoB's fixed node sizes, so the padding used to push frames a few pixels up and to the left of their icons. Frames are now centred on their icons.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

technical Hidden from release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants