PathOfBuilding icon indicating copy to clipboard operation
PathOfBuilding copied to clipboard

[Kalandra] [WIP] Swap asset-based rendering to sprite-based

Open dbjorge opened this issue 3 years ago • 0 comments

Description of the problem being solved:

(this PR builds on @Nostrademous 's #4768 and also incorporates lots of feedback and research from @zao)

This PR rewrites PoB's asset rendering to do everything in terms of 3.19 TreeData-style sprites instead of pre-3.19 assets. It implements new logic in PassiveTree construction to migrate pre-3.19 trees' assets to a 3.19-equivalent spriteMap layout, and then updates all the other points that reference assets to instead reference spriteMap.

This required updating a few spots which previously assumed they were rendering entire images to instead propagate texture coordinates within a sprite sheet. Notable cases include:

  • DrawAsset (now renamed DrawSprite)'s logic for rendering half-images
  • BuildConnector and renderConnector logic for rendering straight connector lines
  • TODO: arc connectors

Steps taken to verify a working solution:

  • Verified that a 3.10 PoB with cluster jewels loads and renders reasonably
  • Verified that a 3.18 PoB with cluster/legion jewels loads and renders reasonably, including checking/unchecking masteries and regular passives
  • TODO: Verify that a complex 3.19 PoB loads and renders reasonably

Link to a build that showcases this PR:

TODO

Before screenshot:

TODO

After screenshot:

TODO

dbjorge avatar Aug 13 '22 04:08 dbjorge